Доступно множество инструментов для использования в приложениях больших данных. Вот взгляд на 17 популярных технологий с открытым исходным кодом, а также дополнительная информация о базах данных NoSQL.
Мир больших данных становится только больше. Организации всех мастей производят больше данных год за годом, и они находят больше способов использовать эти данные для улучшения операций, лучшего понимания клиентов и доставки продуктов быстрее и с меньшими затратами, среди других приложений. Кроме того, руководители предприятий, стремящиеся быстрее получать ценность от данных, ищут возможности аналитики в реальном времени.
ИНТЕРНЕТ-МАГАЗИНЫ
ПРОИЗВОДИТЕЛИ
МЕДИЦИНСКИЕ КЛИНИКИ
РЕСТОРАНЫ И КАФЕ
Все это приводит к значительным инвестициям в инструменты и технологии больших данных. В отчете за август 2021 года исследовательская фирма IDC привязала ожидаемые мировые расходы на большие данные и аналитические системы к $215,7 млрд в 2021 году, что на 10,1% больше, чем в прошлом году. Он также предсказал, что расходы будут расти с совокупным годовым темпом роста 12,8% до 2025 года.
Список технологий больших данных длинный, с многочисленными коммерческими продуктами, доступными, чтобы помочь организациям реализовать полный спектр аналитических инициатив, основанных на данных-от отчетов в реальном времени до приложений машинного обучения.
Кроме того, существует множество инструментов больших данных с открытым исходным кодом, некоторые из которых также предлагаются в коммерческих версиях или как часть платформ больших данных и управляемых сервисов. Вот посмотрите на 17 популярных инструментов и технологий с открытым исходным кодом для управления и анализа больших данных, перечисленных в алфавитном порядке с кратким изложением их ключевых функций и возможностей.
Airflow-это платформа управления рабочими процессами для планирования и запуска сложных конвейеров данных в системах больших данных. Это позволяет инженерам данных и другим пользователям гарантировать, что каждая задача в рабочем процессе выполняется в указанном порядке и имеет доступ к необходимым системным ресурсам. Airflow также продвигается как простой в использовании: рабочие процессы создаются на языке программирования Python, и его можно использовать для построения моделей машинного обучения, передачи данных и различных других целей.
Платформа возникла в Airbnb в конце 2014 года и была официально объявлена как технология с открытым исходным кодом в середине 2015 года; в следующем году она присоединилась к программе инкубатора Apache Software Foundation и стала проектом Apache top-level в 2019 году. Airflow также включает в себя следующие ключевые функции:
Databricks Inc., поставщик программного обеспечения, основанный создателями механизма обработки Spark, разработал Delta Lake, а затем открыл источник технологии на основе Spark в 2019 году через Linux Foundation. Компания описывает Delta Lake как «уровень хранения в открытом формате, который обеспечивает надежность, безопасность и производительность вашего озера данных как для потоковых, так и для пакетных операций».
Delta Lake не заменяет озера данных; скорее, он предназначен для того, чтобы сидеть поверх них и создавать единый дом для структурированных, полуструктурированных и неструктурированных данных, устраняя хранилища данных, которые могут блокировать приложения больших данных. Кроме того, использование Delta Lake может помочь предотвратить повреждение данных, обеспечить более быстрые запросы, повысить свежесть данных и поддержать усилия по соблюдению требований, согласно Databricks. Технология также:
Веб-сайт Apache Drill описывает его как «механизм распределенных запросов с низкой задержкой для крупномасштабных наборов данных, включая структурированные и полуструктурированные/вложенные данные». Drill может масштабироваться на тысячи узлов кластера и способен запрашивать петабайты данных с помощью SQL и стандартных API подключения.
Предназначен для изучения наборов больших данных, детализирует слои поверх нескольких источников данных, позволяя пользователям запрашивать широкий спектр данных в различных форматах, от файлов последовательностей Hadoop и журналов серверов до баз данных NoSQL и облачных хранилищ объектов. Он также может делать следующее:
Druid-это аналитическая база данных в реальном времени, которая обеспечивает низкую задержку для запросов, высокий параллелизм, многопользовательские возможности и мгновенную видимость потоковых данных. По словам его сторонников, несколько конечных пользователей могут запрашивать данные, хранящиеся в Druid, одновременно, не влияя на производительность.
Написанный на Java и созданный в 2011 году, Druid стал технологией Apache в 2018 году. Обычно это считается высокопроизводительной альтернативой традиционным хранилищам данных, которые лучше всего подходят для данных, управляемых событиями. Как и хранилище данных, оно использует хранилище, ориентированное на столбцы, и может загружать файлы в пакетном режиме. Но он также включает в себя функции поисковых систем и баз данных временных рядов, включая следующее:
Еще одна технология Apache с открытым исходным кодом, Flink-это структура потоковой обработки для распределенных, высокопроизводительных и всегда доступных приложений. Он поддерживает вычисления с сохранением состояния как в ограниченных, так и в неограниченных потоках данных и может использоваться для пакетной, графической и итеративной обработки.
Одним из главных преимуществ, рекламируемых сторонниками Flink, является его скорость: он может обрабатывать миллионы событий в режиме реального времени с низкой задержкой и высокой пропускной способностью. Flink, который предназначен для работы во всех распространенных кластерных средах, также включает в себя следующие функции:
Распределенная структура для хранения данных и запуска приложений на кластерах товарного оборудования, Hadoop была разработана как новаторская технология больших данных, чтобы помочь справиться с растущими объемами структурированных, неструктурированных и полуструктурированных данных. Впервые выпущенный в 2006 году, он был почти синонимом больших данных на раннем этапе; с тех пор он был частично затмеваем другими технологиями, но все еще широко используется.
Hadoop имеет четыре основных компонента:
Первоначально Hadoop был ограничен запуском пакетных приложений MapReduce. Добавление YARN в 2013 году открыло его для других механизмов обработки и вариантов использования, но фреймворк по-прежнему тесно связан с MapReduce. Более широкая экосистема Apache Hadoop также включает в себя различные инструменты больших данных и дополнительные рамки для обработки, управления и анализа больших данных.
Hive-это программное обеспечение инфраструктуры хранилища данных на основе SQL для чтения, записи и управления большими наборами данных в распределенных средах хранения. Он был создан Facebook, но затем открыт для Apache, который продолжает развивать и поддерживать технологию.
Hive работает поверх Hadoop и используется для обработки структурированных данных; более конкретно, он используется для обобщения и анализа данных, а также для запроса больших объемов данных. Хотя он не может использоваться для онлайн-обработки транзакций, обновлений в реальном времени и запросов или заданий, требующих поиска данных с низкой задержкой, Hive описывается его разработчиками как масштабируемый, быстрый и гибкий.
Другие ключевые функции включают следующее:
HPCC Systems-это платформа обработки больших данных, разработанная LexisNexis до того, как она была открыта в 2011 году. Верный своему полному названию-Высокопроизводительный вычислительный кластер-технология по своей сути представляет собой кластер компьютеров, созданных на основе товарного оборудования для обработки, управления и доставки больших данных.
Готовая к производству платформа data lake, которая позволяет быстро разрабатывать и исследовать данные, HPCC Systems включает в себя три основных компонента:
Hudi (произносится hoodie) — это сокращение от Hadoop Upserts Deletes и Incrementals. Еще одна технология с открытым исходным кодом, поддерживаемая Apache, используется для управления приемом и хранением больших наборов аналитических данных в файловых системах, совместимых с Hadoop, включая HDFS и облачные службы хранения объектов.
Впервые разработанный Uber, Hudi предназначен для обеспечения эффективного приема и подготовки данных с низкой задержкой. Кроме того, он включает в себя структуру управления данными, которую организации могут использовать для выполнения следующих задач:
Iceberg-это открытый формат таблиц, используемый для управления данными в озерах данных, что он частично делает, отслеживая отдельные файлы данных в таблицах, а не отслеживая каталоги. Созданный Netflix для использования с таблицами размером с петабайт компании, Iceberg теперь является проектом Apache. Согласно веб-сайту проекта, Iceberg обычно «используется в производстве, где одна таблица может содержать десятки петабайт данных».
Разработанный для улучшения стандартных макетов, существующих в таких инструментах, как Hive, Presto, Spark и Trino, формат таблиц Iceberg имеет функции, аналогичные таблицам SQL в реляционных базах данных. Тем не менее, он также вмещает несколько двигателей, работающих с одним и тем же набором данных. Другие примечательные особенности включают следующее:
Kafka-это распределенная платформа потоковой передачи событий, которая, по данным Apache, используется более чем 80% компаний из списка Fortune 100 и тысячами других организаций для высокопроизводительных конвейеров данных, потоковой аналитики, интеграции данных и критически важных приложений. Проще говоря, Kafka-это платформа для хранения, чтения и анализа потоковых данных.
Технология развязывает потоки данных и системы, удерживая потоки данных, чтобы их можно было использовать в других местах. Он работает в распределенной среде и использует высокопроизводительный сетевой протокол TCP для связи с системами и приложениями. Kafka была создана LinkedIn, а затем передана Apache в 2011 году.
Ниже приведены некоторые из ключевых компонентов Kafka:
Kylin-это распределенное хранилище данных и аналитическая платформа для больших данных. Он предоставляет механизм онлайн-аналитической обработки, или OLAP, предназначенный для поддержки чрезвычайно больших наборов данных. Поскольку Kylin построен поверх других технологий Apache, включая Hadoop, Hive, Parquet и Spark, он может легко масштабироваться для обработки этих больших нагрузок данных, по словам его сторонников.
Это также быстро, предоставляя ответы на запросы, измеряемые в миллисекундах. Кроме того, Kylin предоставляет простой интерфейс для многомерного анализа больших данных и интегрируется с Tableau, Microsoft Power BI и другими инструментами BI. Kylin был первоначально разработан eBay, который внес свой вклад в качестве технологии с открытым исходным кодом в 2014 году; в следующем году он стал проектом верхнего уровня в Apache. Другие функции, которые он предоставляет, включают следующее:
Ранее известный как PrestoDB, этот механизм SQL-запросов с открытым исходным кодом может одновременно обрабатывать как быстрые запросы, так и большие объемы данных в распределенных наборах данных. Presto оптимизирован для интерактивных запросов с низкой задержкой и масштабируется для поддержки аналитических приложений с несколькими петабайтами данных в хранилищах данных и других репозиториях.
Разработка Presto началась в Facebook в 2012 году. Когда его создатели покинули компанию в 2018 году, технология разделилась на две ветви: PrestoDB, который все еще возглавлял Facebook, и PrestoSQL, который запустили оригинальные разработчики. Это продолжалось до декабря 2020 года, когда PrestoSQL был переименован в Trino, а PrestoDB вернулся к имени Presto. Проект с открытым исходным кодом Presto теперь контролируется Фондом Presto, который был создан как часть Linux Foundation в 2019 году.
Presto также включает в себя следующие функции:
Samza-это распределенная система обработки потоков, созданная LinkedIn и теперь являющаяся проектом с открытым исходным кодом, управляемым Apache. Согласно веб-сайту проекта, Samza позволяет пользователям создавать приложения с отслеживанием состояния, которые могут обрабатывать данные в реальном времени из Kafka, HDFS и других источников.
Система может работать поверх Hadoop YARN или Kubernetes, а также предлагает автономный вариант развертывания. Сайт Samza говорит, что он может обрабатывать «несколько терабайт» государственных данных с низкой задержкой и высокой пропускной способностью для быстрого анализа данных. Через унифицированный API он также может использовать тот же код, написанный для заданий потоковой передачи данных, для запуска пакетных приложений. Другие функции включают следующее:
Spark-это механизм обработки данных и аналитики в памяти, который может работать в кластерах, управляемых Hadoop YARN, Mesos и Kubernetes, или в автономном режиме. Он позволяет проводить крупномасштабные преобразования и анализ данных и может использоваться как для пакетных, так и для потоковых приложений, а также для машинного обучения и обработки графиков. Все это поддерживается следующим набором встроенных модулей и библиотек:
Доступ к данным можно получить из различных источников, включая HDFS, реляционные и NoSQL базы данных, а также наборы данных плоских файлов. Spark также поддерживает различные форматы файлов и предлагает разнообразный набор API для разработчиков.
Но его самая большая визитная карточка-скорость: разработчики Spark утверждают, что он может выполнять до 100 раз быстрее, чем традиционный аналог MapReduce на пакетных заданиях при обработке в памяти. В результате Spark стал лучшим выбором для многих пакетных приложений в средах больших данных, а также функционирует как механизм общего назначения. Впервые разработанный в Калифорнийском университете в Беркли и теперь поддерживаемый Apache, он также может обрабатывать на диске, когда наборы данных слишком велики, чтобы поместиться в доступную память.
Еще одна технология с открытым исходным кодом Apache, Storm-это распределенная вычислительная система в реальном времени, предназначенная для надежной обработки неограниченных потоков данных. Согласно веб-сайту проекта, он может использоваться для приложений, которые включают аналитику в реальном времени, онлайн-машинное обучение и непрерывные вычисления, а также задания извлечения, преобразования и загрузки (ETL).
Кластеры Storm сродни кластерам Hadoop, но приложения продолжают работать на постоянной основе, если их не остановить. Система отказоустойчива и гарантирует, что данные будут обработаны. Кроме того, на сайте Apache Storm говорится, что его можно использовать с любым языком программирования, системой массового обслуживания сообщений и базой данных. Storm также включает в себя следующие элементы:
Как упоминалось выше, Trino является одной из двух ветвей механизма запросов Presto. Известный как PrestoSQL, пока он не был ребрендирован в декабре 2020 года, Trino «работает с смехотворной скоростью», по словам Trino Software Foundation. Эта группа, которая курирует разработку Trino, первоначально была сформирована в 2019 году как Presto Software Foundation; ее название также было изменено в рамках ребрендинга.
Trino позволяет пользователям запрашивать данные независимо от того, где они хранятся, с поддержкой собственных запросов в Hadoop и других хранилищах данных. Как и Presto, Trino также:
Базы данных NoSQL-еще один важный тип технологий больших данных. Они ломают традиционный дизайн реляционных баз данных на основе SQL, поддерживая гибкие схемы, что делает их хорошо подходящими для обработки огромных объемов всех типов данных-особенно неструктурированных и полуструктурированных данных, которые не подходят для строгих схем, используемых в реляционных системах.
Программное обеспечение NoSQL появилось в конце 2000-х годов, чтобы помочь справиться с растущими объемами разнообразных данных, которые организации генерируют, собирают и анализируют в рамках инициатив больших данных. С тех пор базы данных NoSQL получили широкое распространение и теперь используются на предприятиях во всех отраслях промышленности. Многие из них являются технологиями с открытым исходным кодом, которые также предлагаются в коммерческих версиях поставщиками, в то время как некоторые из них являются проприетарными продуктами, контролируемыми одним поставщиком.
Кроме того, сами базы данных NoSQL бывают разных типов, которые поддерживают различные приложения больших данных. Это четыре основные категории NoSQL с примерами доступных технологий в каждой из них:
Мультимодельные базы данных также были созданы с поддержкой различных подходов NoSQL, а также SQL в некоторых случаях; ArangoDB и Microsoft Azure Cosmos DB являются примерами. Другие поставщики NoSQL добавили мультимодельную поддержку в свои базы данных. Например, MarkLogic теперь включает в себя хранилище графиков, Couchbase Server поддерживает пары ключ-значение, а Redis предлагает модули базы данных документов и графиков.
Краткое резюме: как превратить сеть сайтов в стабильный источник дохода Создание сети информационных сайтов —…
Знаете ли вы, что невидимые технические ошибки могут «съедать» до 90% вашего потенциального трафика из…
Введение: почему мониторинг цен — необходимость, а защита — не преграда Представьте, что вы пытаетесь…
Значительная часть трафика на любом коммерческом сайте — это не люди. Это боты, которые могут…
Систематический мониторинг цен конкурентов — это не просто способ избежать ценовых войн, а доказанный инструмент…
Краткое содержание В мире, где 93% потребителей читают отзывы перед покупкой 1, а рейтинг компании…