И о том, как изменятся DMP — платформы управления данными
Технологии больших данных у всех на устах уже больше десяти лет. На них строятся самые разнообразные бизнес-процессы, от поиска новых идей до глубокого машинного обучения. Но не так давно положение Big Data в мире IT пошатнулось. В 2019 году Cloudera и Hortonworks слились, а затем обострилась проблема DL large models.
На большие данные возлагались огромные надежды — мы ждали новой глобальной корпорации, которая бы была построена на этой технологии. Главных претендентов на эту роль было двое: Cloudera и Hortonworks, пионеры области, но их рыночная капитализация по отдельности не превышала 10 миллиардов долларов. В итоге они слились, а затем Cloudera и вовсе стала частной компанией. Вместе с тем фокус внимания сместился на искусственный интеллект, способный решить все усложняющиеся задачи, связанные с большими моделями.
Но в сентябре 2020 года на IPO вышла компания Snowflake из Сан-Матео, крупнейший разработчик программного обеспечения в истории. Ее рыночная капитализация когда-то превышала 120 миллиардов долларов — немыслимая цифра! Это первый случай, когда какая-нибудь компания, занимающаяся обработкой данных (не считая Oracle), достигла подобного рубежа. И именно благодаря ей большие данные вернулись на сцену.
Snowflake позиционируется как компания облачных данных. Вместе с появлением высокопроизводительных и масштабируемых облачных хранилищ наступила новая эра экосистемы платформ обработки данных — Современного Стека Данных. Что же это такое? Была ли у этой технологии «традиционная» стадия и каково её будущее?
Эволюция платформ данных
Формально термин «стек данных» никогда не существовал, и до появления современного стека данных практически не звучал. Эволюцию платформы можно условно поделить на три этапа, так что на данный момент мы имеем что-то вроде версии Data 3.0.
Data 1.0 | Data 2.0 | Data 3.0 |
Batch | Batch Interactive Stream | Cloud-native Intelligent Secure Scale |
Data 1.0 — это очень бурная эпоха Apache Hadoop. В основном её история вертелась вокруг пакетной обработки больших объемов данных, хотя на тот момент уже существовало несколько облачных решений: Amazon EMR, Azure HD Insight и Azure Databricks.
Эпоха Data 2.0 в основном была посвящена обмену большими данными в реальном времени, её основными действующими лицами стали Spark и Flink. Этот стек был способен поддерживать как потоковую, так и пакетную обработку данных в отдельных системах, хотя Spark сконцентрировался на пакетной, а Flink — на потоковой. Что касается сбора и обработки потоковых данных, в сообществе с открытым исходным кодом и, соответственно, в облаке, лидировали Apache Kafka и Amazon Kinesis.
Современный стек данных — это Data 3.0, эпоха облачных данных. Запросы сегодняшнего дня высоки: технология должна быть облачной, безопасной, масштабируемой и простой в использовании. Новую систему создали Snowflake, Databricks и ведущие облачные провайдеры (AWS, Azure и GCP). Стек поддерживает облачные хранилища, запрос данных, обработку, ELT/ETL/обратный ETL, BI/аналитику, мониторинг, оркестровку, управление, операции ML и т.д.
Что такое современный стек данных?
Современный стек данных — это в первую очередь облачные платформы и сервисы открытых данных, облако и модульный стек. Основных характеристик современного дата-стека можно выделить четыре:
- Облачный подход. Стек должен быть нативным для облака, а не основываться, управляться или размещаться в нём. Например, Amazon EMR, Azure HD Insight и Azure Databricks основаны на облаке или управляются облачно, но они не нативные, что создает некоторые неудобства. Snowflake использует облачную архитектуру, не привязанную к вычислениям и хранилищу, что позволяет независимое масштабирование и повышает производительность и надежность сервиса. Amazon Redshift, запущенный ранее, но использующий кластерную подобную EMR архитектуру, к сожалению, в этом смысле сильно отстает от Snowflake.
- Унификация пакетной и потоковой обработки. На протяжении многих лет основными направлениями эволюции платформы обработки данных были пакетная и потоковая обработка. До появления нынешних Spark и Flink, наиболее многообещающими считались решения от Hadoop, map-reduce от Spark и потоковая обработка данных от Storm. Теперь отдельные системы или архитектура lambda это уже излишество. Учитывая скорость выполнения сложных задач обработки данных, преобразователи данных (они же инструменты ELT) стали самыми удобными инструментами экосистемы.
- Консолидация озера и хранилища данных. Озеро данных дебютировало как инструмент поддержки неструктурированных, полуструктурированных и структурированных данных. Для этого используется хранилище объектов с запросами на месте, и процесс этот не из быстрых. Зато облачное хранилище отличается крайне высокой производительностью запросов к структурированным данным. Консолидация озера и хранилища таким образом становится отличным стратегическим шагом. Data Lakehouse разработан для интегрированной архитектуры облака с гибкостью озера и производительностью хранилища данных. Кроме того, процесс ETL от озера к хранилищу может быть сокращен, не считая устранения множественных или изолированных хранилищ.
- Гибкая и комплексная разработка данных. Современный стек данных — это гибкие платформы и сервисы открытых данных, поддерживающие комплексную разработку от интеграции до хранения, обработки, BI/аналитики, управления и других. Например, Fivetran, Hevo и Airbyte для ETL, dbt для ELT, Census для обратного ETL, Snowflake и Databricks Delta Lake для хранения и запросов, Spark и Flink для обработки и многое другое. Все это собрано для выполнения всех возможных задач, с которыми сталкиваются разработчики.
Проблемы современного стека данных
Современный стек данных совершил гигантский скачок вперед с появлением Data 3.0, но он всё ещё находится в зачаточном состоянии. Существует много проблем и потенциальных возможностей. Из существенных проблем можно выделить три основных:
- Сложность. Современный стек данных, безусловно, всеобъемлющий, гибкий и открытый. Но он всё ещё остается слишком сложным из-за разных языков, протоколов, правил и даже инфраструктуры. Напоминает экосистему Hadoop, где существовали десятки разных инструментов, как для различных задач, так и для схожих. В непрерывных обновлениях пакетов и инструментов интеграции интерфейсов легко заблудиться.
- Отставание от запросов науки о данных. Сегодня современный стек данных сосредоточен в основном на инструментах для разработчиков, а исследовательских средств в нем сильно не достает. Хотя данные являются ядром AI/ML, но разработка функций и управление функциями/параметрами/моделями по-прежнему являются частью другой предметной области. Например, можно ли объединить витрины данных BI с хранилищами функций, специфичных для искусственного интеллекта? А получить единый/унифицированный каталог, происхождение и наблюдаемость для данных, функций, параметров, моделей, сигналов и гиперпараметров? Существует еще немало расхождений между практической и теоретической областями работы с данными. К счастью, появляется технология искусственного интеллекта, ориентированная на данные, которая будет охватывать весь их жизненный цикл и распространяться на AI/ML.
- Гигантские облачные «бункеры», «силосы». Современный стек данных существует в облаке, и из-за разрозненных поставщиков облачных услуг сложно избежать возникновения так называемых облачных хранилищ, «бункеров» или «силосов». Они могут быть связаны с процессами, выходящими за рамки работы с данными, однако это может открыть возможности для многооблачных метаданных и их оркестрации.
Будущее современного стека данных
Учитывая вышеперечисленные особенности и проблемы, попробуем заглянуть в будущее современного стека данных. Каким будет Data 3.5 или Data 4.0?
Есть семь значимых и захватывающих областей для будущего развития: облачная аналитика, внимание к ценностям, мультиоблачная виртуализация, открытая платформа данных, опенсорс-стратегия, скорость как приоритет и развитие SQL.
Облачная аналитика: целостный анализ данных (ЦАД)
Аналитика данных касается не только BI. Благодаря современным возможностям обработки данных и машинного обучения мы можем перейти от BI или традиционной аналитики к продвинутой и целостной ее версии. Для этого мы можем интегрировать бизнес-аналитику и интеллектуальную аналитику с описательной, диагностической, прогностической…
Возможно ли использовать большие данные для прогнозирования будущего? Да, такая аналитика (прогнозирующая и предписательная) станет новым трендом анализа данных и платформ.
Внимание к ценностям
Превращение данных в прибыль — основная цель бизнес-использования платформ. В этом процессе часто задействовано несколько человек, а иной раз и целые команды. Cуществует три практических способа повысить ценность данных для бизнеса:
- Замкнуть поток данных сквозным циклом, чем максимизировать ценность для бизнеса. Хотя об этом подходе в отрасли известно давно, очевидного решения для этого процесса не существует. Он требует подключения всех соответствующих точек и передачи высококачественных данных по узлам конвейера.
- Интегрировать стеки данных и унифицировать данные, чтобы упростить процесс и эксплуатацию. Это позволит снизить общую стоимость и повысить производительность.
- Предоставить инструменты с минимумом кода/без кода для демократизации. Хотя стек данных и платформу перенесли в облако и включили их в качестве отдельного сервиса, для большинства бизнес-пользователей этого может быть недостаточно. Минимум кода/отсутствие кода — это решение, которое может обеспечить им безболезненный опыт «коробочного” решения.
Мультиоблачная виртуализация
Облако значительно повысило масштабируемость и надежность современного стека данных. Но на рынке существует и будет существовать множество облачных провайдеров. К сожалению, у них отсутствует возможность прямого подключения на уровне общего домена, как и защищенные каналы подключения.
Кроме того, некоторые данные должны храниться локально или на региональном уровне в соответствии с регламентом. Все больше и больше предприятий переходят на мультиоблачную стратегию. Если брать в расчет крупных облачных провайдеров, публичные и частные облака необходимо объединять как можно более эффективно и надежно.
Это поможет сформировать соединенный виртуальный облачный слой поверх нескольких общедоступных и частных облаков. Идея виртуализировать уже виртуализированные облака кажется весьма перспективной. Для двойной виртуализации могут существовать две вдохновляющие линии развития:
- Согласованная метаплатформа для нескольких облаков. Этот подход позволяет использовать данные совместно без необходимости их перемещения. Уровень метаплатформы содержит согласованные функции управления и наблюдения.
- Виртуализация ресурсов в нескольких облаках с унифицированной оркестрацией. Это более сложная задача, чем управление ресурсами между VPC, возможное в рамках одного облачного провайдера. Что касается ресурса хранения данных, то его проще распространять и извлекать через несколько прокси-интерфейсов. Кроме того, можно запускать запросы поверх них.
Открытая Платформа Данных: гибкая, но сплочённая
Будущее стека данных — это открытая платформа для простой интеграции, безопасного совместного использования, с низкой задержкой, надежная и управляемая.
Например, такие процессы как передача данных из источника в хранилище через ETL, преобразования данных через ELT на месте и обратная связь с результатами через обратный ETL должны осуществляться просто и без дополнительных усилий.
Это значительно повысит качество данных и производительность разработки за счёт наблюдаемости и возможности обнаружения проблем. В этом случае происхождение данных, семантика, статистика, метрики и другая аналитическая информация выйдут на первый план.
Кроме того, эту технологию можно будет очень широко использовать: от аналитики ML до разработки искусственного интеллекта и машинного обучения. Таким образом, это будут гибкие, но сплоченные открытые платформы.
Опенсорс-стратегия
Работа с большими данными и информационными платформами должна всегда начинаться с открытого исходного кода и только потом переходить в облако. Учитывая природу открытого исходного кода и ограничения облачных технологий, будущее современного стека данных должно охватить и то, и другое для успеха бизнеса и вовлечения пользователей.
Сейчас стартапы со стратегиями с открытым исходным кодом очень привлекательны для венчурного капитала. Например, TDengine от TAOS Data демонстрировал рост в геометрической прогрессии именно благодаря открытому исходному коду. В сообществе современного дата-стека есть много других успешных проектов с открытым исходным кодом, таких как Databricks, Starburst и Dremio.
Главное — скорость
За последние несколько десятилетий производительность обработки данных и запросов выросла очень значительно. В современном стеке данных скорость по-прежнему стоит в приоритете. Дело не только в пользовательском опыте, но и в затратности, и скорости принятия решений. Когда-то предпочтение отдавалось Spark Hadoop именно из-за его производительности. Та же история сейчас с предпочтением Snowflake в пику Redshift. Учитывая большой объем и сложность обрабатываемых данных, новый скоростной лимит будет следующей вехой для современного дата-стека. Например, Firebolt так быстро вырос именно благодаря своей потенциально более высокой скорости.
Развитие SQL
SQL происходит от управления данными и базами данных. Технология эта элегантна, проста, отличается широко используемыми стандартами… Все это делает её наиболее распространенным языком в современном стеке данных, поддерживаемых все большим числом служб передачи данных и платформ. Например, нет ничего нового в запросе и анализе потоковых данных через SQL; несколько стартапов используют его для получения мгновенных результатов в аналитике и прогнозировании. Можно смело ожидать более широкого использования SQL в разработке данных, а Python — в разработке искусственного интеллекта.
У платформ данных большой потенциал развития. Вышеупомянутые семь областей основаны на основных аспектах ценности бизнеса, инфраструктуры данных, пользовательского опыта и командной работы.
Подводя итог
Современный стек данных возник в результате бизнес-успеха фирмы Snowflake. Он стремительно развивается, но всё ещё находится на ранней стадии развития. Существует множество проблем и возможностей для работы с данными и искусственным интеллектом. Современный стек данных — это Data 3.0.
Эволюция платформ передачи данных никогда не остановится. Уже сейчас можно увидеть семь предсказуемых направлений развития в будущем. Будущее современного стека данных очень многообещающе во всем, начиная с инфраструктуры и заканчивая пользовательским интерфейсом, производительностью и не только.