Недавно на Practical Data Engineering Substack вышла статья, посвященная общемировому развитию Open Source дата-инжиниринга, которая может оказаться полезной и для российских специалистов. Мы перевели статью, в полном виде она опубликована здесь (ссылка). А в этом посте мы предлагаем вам наше осмысление результатов этой статьи и State of Data Engineering вместе с собранными нами данными непосредственно по России. В конце статьи мы приложили PDF файл со списком полезных инструментов.
Предыстория
2023 год был примечателен не только всплеском активности в области генеративного ИИ и вокруг продуктов, подобных ChatGPT, но и значительным влиянием на сферу инженерии данных. Появление новейших инструментов и фреймворков открыло перед дата-инженерами целый спектр новых возможностей. Надо уметь выбрать инструмент для решения задачи и этот навык является ключевым для дата-инженера.
Многие известные отчеты, вроде MAD Landscape или State of Data Engineering, предлагают обширный обзор инструментов и сервисов в этой области. Однако основной фокус данного обзора – open-source инструменты, используемые для работы с данными на всех этапах жизненного цикла data-engineering.
Ниже представлены данные об экосистеме data engineering по состоянию на начало на 2024 года:
В обзоре исключаются проекты, которые потеряли актуальность за год и акцентируется внимание на тех, кто очень хорошо себя зарекомендовал за последний год. Интерес представляют как проверенные временем системы, так и многообещающие новички, у которых перед глазами большое будущее.
Основные категории инструментов в ландшафте
1. Системы хранения остаются фундаментом для всех операций с данными, включая новейшие категории, такие как векторные и потоковые базы данных.
Среди всего множества, выделяются две особенно интересные категории — векторные базы данных и технологии потоковой обработки. Примеры таких инноваций — open-source проекты Materialize и RaisingWave, представляющие собой системы потоковой обработки данных. Векторные системы хранения, в свою очередь, нашли своё применение в машинном обучении и искусственном интеллекте. Также стоит отдельно выделить распределённые файловые системы и объектные хранилища, формирующие основу для платформ Data Lake.
Классификация систем хранения довольно широка и основывается на типе базы данных и специфике обработки данных. В верхнем звене иерархии они разделяются на OLTP (онлайн-транзакционные системы), OLAP (онлайн-аналитические процессинг системы) и HTAP (гибридные транзакционно-аналитические системы). Продолжая детализацию, можно выделить классы SQL и NoSQL для OLTP и категории Offline и Real-time для OLAP-систем.
2. Платформы для Data Lake занимают отдельное место благодаря своей способности хранения и обработки огромных объемов данных, с новинками в сериализации и управлении данными.
Распределённые файловые системы и объектные хранилища продолжают быть ключевыми для Data Lake, как в облаке, так в локальной инфраструктуре. HDFS лидирует в кластерах Hadoop, в то время как Apache Ozone представляет собой весомую альтернативу.
Главная хитрость 2023 года – это разделение места хранения данных и места, где эти данные обрабатываются, что позволяет заметно сэкономить. Cockroachdb, например, теперь дружит с S3, что позволяет хранить данные экономнее, а Confluent предлагает выгодные условия для долгосрочного хранения данных в Data Lake.
Ключевым событием года стало появление новых табличных форматов, изменяющих управление данными в Data Lake, обеспечивая более гибкую и эффективную работу с данными.
3. Интеграция данных продолжает развиваться благодаря продвинутым инструментам, упрощающим обмен данными между различными источниками.
4. Обработка данных и вычисления: в 2023 году все активно говорили о том, как обрабатывать данные в реальном времени. Apache Spark и Apache Flink были на слуху у всех, как два лучших инструмента для этого. Особенно интересно стало следить за Apache Flink, который внезапно начал набирать обороты и стремительно догонять лидеров. Крупные компании, предоставляющие облачные сервисы, вроде AWS (Amazon) и Alibaba, начали предлагать Flink как услугу прямо из облака, а Immerok решил не отставать и тоже заявил, что у них есть Flink как услуга.
А теперь о самом интересном для любителей Python! Появились новенькие библиотеки для обработки данных, такие как Vaex, Dask, Polars и Ray. Эти штуки позволяют Python использовать все мощности многоядерных процессоров, благодаря чему можно эффективно работать с огромными данными прямо в уютной обстановке любимого Python.
5. Управление рабочими процессами и DataOps подчеркивает важность оркестрации рабочих процессов, где новые инициативы ставят под сомнение доминирование устоявшихся гигантов.
6. Инфраструктура данных и мониторинг: недавний опрос компании Grafana Labs показал, что в сфере мониторинга данных всё еще лидируют такие проекты, как Grafana, Prometheus и набор инструментов ELK. Сама Grafana Labs не сидит на месте – они активно развивают свою платформу, добавляя новые бесплатные инструменты. Например, Loki помогает собирать и хранить информацию из логов, а Mimir используется для бесконечного хранения данных для Prometheus.
Интересный момент: хоть в мире и много разных бесплатных инструментов для различных целей, но когда речь заходит о управлении и мониторинге кластеров данных, таких инструментов вряд ли наберется много. Это может быть связано с тем, что многие компании переезжают в облако и уже не так сильно нуждаются в сложных системах для управления своими данными на собственных серверах (достаточно простых метрик и готовых дэшбордов). Интересный пример тут – Apache Ambari, который был очень востребован для работы с кластерами Hadoop, но после слияния двух больших компаний в 2019 году его популярность упала. В последнее время об этом проекте снова стали говорить, и есть надежда, что он снова займет свое место под солнцем, хотя что будет с ним в будущем – большая загадка.
И наконец, когда дело доходит до планирования ресурсов и развертывания работы в облаке, Kubernetes остается самым популярным выбором. Он позволяет компаниям гибко и эффективно управлять своими приложениями на облачных платформах.
7. Интерес к машинному обучению продолжил рост. Особенно все обратили внимание на такую штуку, как векторные базы данных. Это такие особенные базы данных, которые умеют удобно хранить и быстро находить огромные объемы данных (это та самая Big Data). По последним новостям от DB-Engines за 2023 год, векторные базы данных стали настоящим хитом года.
Теперь о других крутых помощниках — инструментах MLOps. С их помощью можно легко масштабировать проекты (то есть делать их больше и круче), следить за тем, чтобы всё работало как часы, и управлять всем процессом от начала до конца. По мере того, как машинное обучение становится все более продвинутым и сложным, инструменты MLOps превращаются в мегаполезный инструментарий, который помогает разработчикам воплощать свои идеи в жизнь, выкатывать модели на рынок и следить за тем, как всё работает.
8. Управление метаданными сосредотачивается на решениях для более эффективного управления доступом и использованием данных.
9. Аналитика и визуализация данных продолжает выделять инструменты open-source как ценные альтернативы SaaS-решениям для аналитики и визуализации.
Теперь давайте посмотрим на State of Data Engineering
В 2024 году коллеги наблюдают три основные тенденции в области Data Engineering.
Тенденция #1: Влияние генеративного ИИ на инфраструктуру ПО
В соответствии с прогнозами "State of Data Engineering" за 2023 год на инфраструктуру ПО в 2024 заметное влияние оказывает генеративный ИИ.
Тенденция #2: Расширение ассортимента продуктов данных
Еще одна особенность, отраженная в отчете за 2023 год – это влияние глобального экономического спада на деятельность компаний. Да, рыночные индексы растут, но это происходит исключительно благодаря небольшому числу компаний, возглавляющих революцию генеративного ИИ в области аппаратного обеспечения. В остальном же глобальная ситуация в области данных остается достаточно напряженной, в результате чего компании прилагают максимум усилий по развитию и расширению ассортимента своих продуктов данных, стремясь тем самым увеличить свои финансовые показатели.
Тенденция #3: OTF (Open Table Formats) и их каталоги способствуют формированию закрытой среды
OTF и их каталоги становятся все более и более популярными в контексте современных Data Lake, они вполне могут стать камнем преткновения между Databricks и Snowflake, поскольку их использование превращает открытую среду в закрытую. Февральское обращение к сообществу Apache Iceberg было посвящено исключению всех каталогов, кроме одного, из кодовой базы. Вот это накал страстей!
Теперь, когда Вам стало по-настоящему интересно, давайте погрузимся в детали.
Захват данных
Этот уровень включает в себя потоковые технологии и SaaS-сервисы, обеспечивающие конвейерную передачу данных от операционных систем к хранилищам данных.
Поскольку Kafka является стандартом, он стал и основным протоколом. Другие компании, пытающиеся сместить его с лидерских позиций, используют тот же интерфейс, только со своими инновационными технологиями, такими как Warpstream, Redpanda и Apache Pulsar.
Data Lake
Этот уровень включает в себя технологии объектного хранения, используемые в Data Lake. Сегодня к хранению и архитектуре данных предъявляются особые требования. Поиск данных должен быть максимально быстрым, а производительность хранилища данных должна быть беспрецедентной. Озера данных справляются с этими задачами «на ура». Компания Min.Io всегда уделяла особое внимание производительности хранения данных. Amazon выпустила S3 Express One Zone – совершенно новый уровень хранения данных, демонстрирующий небывалую до сегодняшнего момента производительность поиска данных. Компания Vast Data выпустила Vast Platform, продукт, использующий технологии ИИ и способствующий упрощению и ускорению работы в облаке, а также обеспечению безопасности конвейеров ИИ в гибридном облаке.
Необходимость развития вычислительных технологий привела к появлению нескольких инструментов с открытым исходным кодом, позволяющих локально монтировать данные в хранилище, таких как AWS S3 Mountpoint или Azure ML Data Assets. lakeFS также планирует запуск своих собственных инструментов в начале июня этого года.
Управление метаданными
OTF
Все три главных игрока, представленные в этой категории, Apache Hudi, Apache Iceberg и Delta Lake - это полностью open-sourсe продукты, популярные среди коммерческих компаний.
В прошлом году Apache Iceberg объявила о своей победе в этой категории, и, судя по тому, как на это отреагировал рынок, это вполне оправданно. В 2023 году Snowflake и AWS заявили о своих планах дальнейшей поддержки Iceberg в области работы с данными. Недавно к «фанатам» Apache Iceberg присоединились и Starburst и Dremio, построенные на основе Iceberg. Похоже, что Delta Lake теперь выбирают только пользователи Databricks.
Метахранилища
В эту категорию входят метахранилища для Data Lake, позволяющие, помимо всего прочего, использовать SQL-интерфейс. Прямым следствием доминирования Iceberg стало появление новых и продвинутых REST-каталогов, конкурирующих с Tabular, OpenHouse и Gravitino. На мой взгляд, борьба за лидерство между ними еще только начинается.
Контроль версий данных или Git для Data Lake
В эту категорию входят системы контроля версий данных, позволяющие внедрять передовые методики разработки продуктов данных.
В этом году данная категория расширилась за счет XetHub и Oxen, а также Underhive, выпустившей свой собственный open-source продукт. Эта тенденция свидетельствует о безоговорочном признании того, что контроль версий данных - это не функция ML-системы, а отдельная организационная инфраструктура. Именно такого подхода мы придерживаемся и в lakeFS, предоставляя высокомасштабируемую систему контроля версий данных со всеми функциями, необходимыми для эффективной работы с любыми данными в области Data Engineering, ML, ИИ и аналитики данных.
В докладе Technology Radar от 2023, выпущенном Thoughtworks, OSS-проект DVC был представлен в качестве технологии, обязательной для внедрения, что подтвердило необходимость применения ИИ/ML в целях контроля версий данных. Еще одним аргументом в пользу применения ИИ/ML является использование компанией Hugging Face GitLFS для версионирования своих данных. Если кто-то и может научить нас работать с данными в ИИ/ML, так это Hugging Face! Если Вы хотите протестировать свои навыки в области контроля версий данных в Data Lake, рекомендуем Вам начать с создания локальной среды.
Вычислительные технологии
Распределенные вычисления
В эту категорию входят технологии для распределенных вычислений. Отсутствие новостей – это хорошо? Решайте сами.
Анализ данных
В эту категорию входят базы данных, предоставляющие широкие возможности для анализа данных. Многие представители этой категории выступают за внедрение векторного поиска (см. категорию "Векторные базы данных") в целях продвижения генеративного ИИ. И это вполне объяснимо: одна база данных может закрывать сразу несколько потребностей в рамках архитектуры данных, что делает ее более продуманной и управляемой. В качестве примера можно привести Clickhouse и Elastic, которые уже давно управляют своими данными с помощью LLM.
Не вот какая новость, но все же скажем и о том, что Databricks достаточно быстро внедрила генеративный ИИ в свою деятельность и, соответственно, достигла больших результатов по сравнению со Snowflake. Как уже говорилось ранее, компания Starburst выпустила свое собственное хранилище данных на базе Apache Iceberg, ставшее основным конкурентом Dremio.
Оркестрация и наблюдаемость данных
Оркестрация
В эту категорию входят инструменты для разработки и управления конвейерами данных. Тенденция инвестирования в ИИ/ML прослеживается и в категории оркестрации данных, причем большинство инструментов работают над обеспечением функциональности, специфичной именно для конвейеров ИИ/ML.
Мы также наблюдаем тенденцию консолидации категорий. Например, Dagster предлагает Dagster+, то есть классический Dagster, только со встроенными возможностями наблюдения за данными и интеграцией с OpenAI для управления API openAI.
Наблюдаемость данных (Data Quality & observability)
В эту категорию входят инструменты, обеспечивающие тестирование и мониторинг качества данных, а также мониторинг состояния конвейера данных.
Несмотря на то, что наблюдаемость данных уже давно стала неотъемлемой частью современных стеков данных, некоторые предприятия еще только начинают внедрять эту технологию. Все чаще решения по наблюдаемости данных используются не только для мониторинга источников данных (как внутренних, так и внешних), но и для мониторинга инфраструктуры, конвейеров и систем последующей обработки данных. Предприятия также рассматривают наблюдаемость данных как основополагающий элемент своих инициатив в области генеративного ИИ. Компания Gartner назвала наблюдаемость данных обязательным условием для генерации данных, пригодных для ИИ.
Возможно, именно поэтому наблюдаемость данным стала важным дополнением к инструментам, упомянутым выше. Теперь она представлена инструментами MLOps, платформами Databricks и Snowflake, а также инструментами оркестрации. Как и в 2023 году, Monte Carlo названа главной движущей силой в этой области: G2 признала ее платформой №1 для наблюдения за данными. Такие организации, ориентированные на данные, как Cisco, American Airlines и NASDAQ, используют Monte Carlo для создания самых надежных систем ИИ.
Наука о данных + аналитика
Комплексные инструменты MLOps
В эту категорию входят платформы, обладающими полным функционалом MLOps.
На эту категорию также сильно повлиял генеративный ИИI: инструменты проектирования, поддержка RAG и тонкой настройки, наблюдаемость данных - это все часть функционала, которая дополнила традиционные инструменты.
ИИ, ориентированный на данные (Data centric AI/ML)
В эту категорию входят платформы, ориентированные на данные и смещающие акцент с моделей на сами данные. Данные рассматриваются не только как вспомогательный элемент для ИИ, но и как определяющий фактор общего качества системы для решения сложных задач реального мира.
Эндрю Нг (Andrew Ng), бывший руководитель Google Brain, считает, что ИИ, ориентированный на данные – это новое электричество. И одной из самых сложных вещей в понимании ИИ является то, что это общеприменимая технология, которая полезна не для одного какого-то приложения, но для множества других, подобно электричеству.
RAG и тонкая настройка позволят командам создавать пользовательский ИИ корпоративного уровня для его использования не только в рамках экспериментов. Ожидается, что ИИ, ориентированный на данные, встанет в один ряд с контролем версий данных, наблюдаемостью данных и векторными базами данных.
Наблюдаемость и мониторинг ML (ML/AI observability & monitoring)
В эту категорию входят инструменты, предоставляющие метрики качества ML.
В этом направлении работают достаточно много компаний, выступающих за активное внедрение генеративного ИИ. Среди них есть и совершенно новые проекты, такие как Hunnyhive, NannyML и AIMon. В категории наблюдаемости данных также наблюдается достаточно жесткая конкуренция.
Для данных категорий остается открытым следующий вопрос: действительно ли существует две категории наблюдаемости: одна для данных, а другая для AI/ML; или организациям все-таки следует использовать одно общее решение?
Векторные базы данных
В эту категорию входят базы данных, предназначенных для хранения векторных внедрений и управления ими. Векторные внедрения - это математические представления данных в высокомерном пространстве, в котором каждое измерение соответствует признаку данных, а для представления сложных данных используются десятки тысяч измерений. Причем позиция каждого вектора в этом пространстве обладает своими специфическими характеристиками.
О векторных базах данных говорят повсюду. Они считаются обязательным условием для развития любой среды ИИ/ML. Очевидно, что эта популярность обусловлена появлением и развитием моделей генеративного ИИ. За последнее время мы уделили векторным БД достаточно много внимания и до сих пор пристально следим за общими тенденциями в данной области.
Каталоги, разрешения и data-governance
В эту категорию входят платформы для обнаружения данных, контроля доступа к данным и data-governance.
Для того чтобы генеративный ИИ и другие виды ИИ были по-настоящему эффективными и производительными, они должны быть надежными и безопасными. Мы считаем, что обязательства по обеспечению этичности в области данных и подотчетности LLM будут возложены на производителей данных. Инструментами, которые лучше всего могут помочь в данном случае, являются инструменты data-governance.
А что у нас?
Системы хранения данных
В России многие любят использовать бесплатные программы для хранения данных, такие как PostgreSQL, Greenplum, и ClickHouse, чаще всего в их базовом варианте. Но вот появились две компании, Arenadata и PostgreSQL Professional, которые предложили свои сборки. Они популярны, потому что предлагают техническую поддержку, сертификаты безопасности и, конечно, улучшенные функции.
Платформы для Data Lake
Пока что только большие компании в России экспериментируют с такими продвинутыми технологиями, как S3 и parquet. Обычные компании склонны придерживаться более простых и понятных решений - хранить данные в структурированном виде. Но в мире идут вперед быстрее, и у нас в Круге Громова скоро появится исследование, которое даст отрасли больше информации о провайдерах облачных услуг (анализ рынка S3).
Интеграция данных
Мы в тренде с использованием Nifi, Airflow и Kafka - основных инструментов для работы с данными.
Обработка данных и вычисления
Большие компании в России имеют дело с потоковой обработкой данных, но проекты такого рода довольно редки.
Управление рабочими процессами и DataOps
Микросервисная архитектура больше всего подходит IT-компаниям и крупным компаниям, которые хотят быстро выводить продукты на рынок. Другие используют ее не так активно.
Инфраструктура данных и мониторинг
Тут мы без отставания используем все те же современные технологии - Grafana, Prometheus и набор инструментов ELK.
ML-платформы
В России растет интерес к машинному обучению и созданию «песочниц» с его использованием, но пока результатов мало. Нам нужно больше говорить об успехах – по-настоящему пропагандировать результаты и пользу - как и создавать полезные применения. А обучать важно не только математике, но и решениям в конкретных областях Data science.
Управление метаданными
Уже существует исследование Круг Громова по каталогам данных, и скоро появится новое по работе с данными. В целом можно сказать, что на рынке используются как мощные, так и бесплатные решения.
Аналитика и визуализация данных
Мы активно поддерживаем бесплатные программы и развиваем сообщество в этом направлении; Superset и Metabase уже используются, а также особое внимание уделяется продукту от Яндекса - Datalens.
Заключение
Пока мы в России не полностью используем возможности инженерии данных, но с учетом того, что через пару лет две трети программного обеспечения будет Open Source, нам стоит подготовиться к этому и научиться использовать новые возможности более гибко.