Как стать автором
Обновить
118.97
Arenadata
Разработчик платформы данных на базе Open Source

Как не утонуть в данных: выбираем между DWH, Data Lake и Lakehouse

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров7.9K

Привет, Хабр! Меня зовут Алексей Струченко, я работаю архитектором информационных систем в Arenadata. Сегодня хотелось бы поговорить о хранилищах данных — их видах, ключевых особенностях и о том, как выбрать подходящее решение. В эпоху цифровой трансформации данные стали одним из самых ценных активов для компаний любого масштаба и сферы деятельности. Эффективное хранение, обработка и анализ больших объёмов данных помогают организациям принимать обоснованные решения, повышать операционную эффективность и создавать конкурентные преимущества.

Однако с ростом объёмов данных и усложнением их структуры традиционные методы хранения сталкиваются с ограничениями. В этой статье мы подробно рассмотрим подходы к хранению данных: Data Warehouse (DWH), Data Lake и относительно новую концепцию Lakehouse. Разберем их особенности, различия, преимущества и недостатки, а также предложим рекомендации по выбору каждого подхода.

Различия между DWH и Data Lake

С момента своего появления термин Big Data стал чрезвычайно популярным, но, как и любое популярное IT-понятие, получил множество различных определений. Одно из них гласит: Big Data — это данные, которые невозможно хранить и обрабатывать традиционными методами. Уже на этапе становления этого направления возникла необходимость внедрения инновационных подходов в IT — как в части хранения, так и обработки информации. Ответом на этот вызов стали концепции DWH и Data Lake.

DWH (Data Warehouse или «Хранилище данных»)

Data Warehouse (DWH) — это концепция, лежащая в основе построения специализированных систем для централизованного хранения и анализа данных. Эти системы предназначены для работы с большими объемами структурированных данных, обеспечивая высокую производительность аналитических запросов.

Основной принцип DWH — объединение данных из различных источников в структурированном виде, что делает их ключевым элементом бизнес-аналитики. Такие хранилища создаются на базе систем управления базами данных (СУБД), которые реализуют подходы, соответствующие концепции DWH.

Один из таких подходов — модель MPP Shared Nothing, при которой информация распределяется по независимым узлам. Каждый такой узел располагает собственным набором ресурсов (память, процессоры, диски), что позволяет легко масштабировать систему путём добавления новых узлов. Благодаря этому повышаются и производительность, и отказоустойчивость. Shared Nothing хорошо подходит для обработки больших объёмов данных и выполнения сложных аналитических запросов, так как обеспечивает параллельное выполнение операций. При этом важно подчеркнуть, что Shared Nothing — это не только инфраструктурная особенность, но и прикладная архитектурная реализация, которую можно успешно использовать при проектировании высокопроизводительных систем.

Современные реализации DWH поддерживают язык SQL, транзакции (ACID) и оптимизируют работу с аналитическими данными. Среди коммерческих решений, реализующих концепцию DWH и архитектуру MPP Shared Nothing, можно выделить Teradata, IBM Netezza, Arenadata DB (ADB) и Vertica. В open source-сегменте долгое время доминировал Greenplum, но после архивации его кода в 2024 году на рынке появились новые проекты, такие как Greengage, который продолжает развивать идеи Greenplum, предлагая современные технологии обработки и управления данными.

Ключевыми преимуществами подхода DWH являются:

  • Консолидация данных из разных источников в структурированном виде для обеспечения целостности информации.

  • Высокая производительность при обработке OLAP-нагрузок благодаря параллельной архитектуре.

  • Гибкость и масштабируемость, позволяющие адаптироваться под растущие объемы данных и нагрузки.

Data Lake («Озеро данных»)

Data Lake предлагает альтернативный подход к хранению и обработке больших объемов данных. В отличие от Data Warehouse (DWH), где данные заранее структурируются в рамках реляционной модели и имеют чётко определённую схему хранения, Data Lake создаёт пространство для хранения данных любого типа — структурированных, полуструктурированных и неструктурированных. Такой подход позволяет сохранять исходные данные без предварительной обработки, обеспечивая гибкость для последующего анализа и обогащения.

Одна из идей Data Lake заключается в решении задач, связанных с историчностью данных и разнообразием источников, которые не всегда вписываются в структуру DWH. Data Lake становится универсальным решением, предоставляя пространство для сбора всех данных в их исходной форме, а также платформу для их последующего анализа. Этот подход реализуется на базе распределённых систем хранения данных (таких как Hadoop), и допускает высокую вариативность форматов. Преимущество Data Lake — способность масштабироваться и хранить данные из множества источников, включая журналы событий, IoT-устройства, изображения, видео и традиционные транзакционные данные.

Известные коммерческие сборки Hadoop, такие как Cloudera и Hortonworks, поддерживают реализацию Data Lake, а в России популярным выбором является Arenadata Hadoop (ADH). Благодаря низкой стоимости хранения и способности поддерживать все типы данных, Data Lake является подходящим решением для обработки данных с высоким уровнем разнообразия и неопределённости.

Однако следует учитывать, что обработка данных в Data Lake может быть сложной из-за отсутствия строгой структуры. Без хорошо настроенного управления метаданными и систем управления доступом Data Lake может превратиться в так называемое «болото данных» (Data Swamp), где извлечение полезной информации становится затруднительным. Чтобы избежать этого, организации используют инструменты для управления метаданными, такие как Arenadata Catalog, и внедряют строгие принципы управления данными.

Ключевые преимущества Data Lake:

  • Универсальность: Поддержка данных любого типа и формата.

  • Гибкость: Возможность анализа данных в их исходной форме.

  • Масштабируемость: Эффективное хранение больших объёмов данных при минимальных затратах.

Ниже в таблице приведено сравнение подходов DWH и Data Lake:

Критерий

DWH (Хранилище данных)

Data Lake

Данные

Хорошо подходит для строго структурированных данных, упорядоченных в рамках реляционной модели.

Подходит для хранения данных любого типа, включая неструктурированные и полуструктурированные форматы.

Производительность

Оптимизирован для аналитических (OLAP) запросов: за счёт эффективного оптимизатора, структуры хранения, индексов и распределения данных достигается высокая скорость обработки больших объёмов данных.

Сложные запросы поддерживаются, однако их выполнение может быть медленнее. Тем не менее, благодаря широкому набору инструментов (например, распределённые вычисления) можно реализовывать более гибкие сценарии.

Инструментарий для запросов

Обычно ориентирован на классические реляционные СУБД и SQL-инструменты для аналитики.

Позволяет использовать не только SQL, но и другие языки и среды (Spark, Hadoop, Python и т.д.) для гибкой и масштабируемой обработки данных.

Квалификация команды

Требуется хорошее понимание реляционных моделей, OLAP-концепций и инструментов для работы с DWH.

Широкий стек технологий подразумевает умение работать с различными инструментами (включая распределённые вычислительные среды), что требует более универсальной квалификации специалистов.

Стоимость хранения

Часто используются MPP-системы, высокопроизводительные серверы и SSD, что увеличивает затраты на инфраструктуру.

Может обходиться более дешёвыми решениями (HDFS, облачные object-хранилища и т.д.), снижая совокупные расходы на хранение данных.

Разнообразие форматов

Ориентирован в основном на ограниченный набор форматов (структурированные данные в реляционных таблицах).

Позволяет работать с широким спектром форматов — от полностью неструктурированных до полуструктурированных (JSON, Avro, Parquet и пр.).

SQL-зрелость: концепция и применение

Для того, чтобы широкая аудитория поняла разницу между Data Lake и Data Warehouse, мы в Arenadata на одной из наших конференций представили термин «SQL-зрелость». По нашему мнению, этот термин отражает степень готовности данных к нормализации в рамках реляционной модели и упрощает всё многообразие подходов к работе с данными. «SQL-зрелые» данные — это такие данные, которые могут быть преобразованы в таблицы Data Warehouse (DWH) простым, предсказуемым и логичным способом, не требующим дополнительных операций по обработке. Такие данные легко интегрируются в системы аналитики и поддерживают выполнение сложных запросов.

SQL-зрелость определяется несколькими важными характеристиками данных:

  • Прозрачность структуры. Данные имеют ясную и понятную организацию: атрибуты, типы данных и связи между элементами четко определены.

  • Готовность к нормализации. Данные могут быть преобразованы в реляционные таблицы с минимальными усилиями, используя стандартные подходы нормализации.

  • Поддержка реляционной модели. Данные соответствуют требованиям SQL-баз, что обеспечивает их эффективное хранение и анализ.

SQL-зрелость особенно важна для систем DWH, которые традиционно используются для консолидации структурированных данных из различных источников. Типичные примеры SQL-зрелых данных включают данные о транзакциях, продуктах, клиентах и отчетности.

Проектирование DWH для SQL-зрелых данных

Создание хранилищ данных для SQL-зрелых данных — это сложный процесс, включающий:

1. Выбор модели хранилища. Системы DWH, как правило, базируются на архитектуре MPP Shared Nothing, которая обеспечивает высокую производительность и масштабируемость за счет распределения данных между независимыми узлами.

2. Организация процессов ETL. Данные извлекаются, преобразуются и загружаются в хранилище с учетом нормализации и бизнес-логики.

3. Применение концепции LSA (Layered Scalable Architecture). Данные структурируются в слоях: от сырого хранения до очищенных и готовых к использованию наборов.

Такой подход особенно востребован в сферах, где критичны точность и скорость аналитики, например, в телекоммуникациях, ритейле и финансовом секторе.

SQL-незрелые данные: другой подход

SQL-незрелые данные отличаются сложностью структуры или её отсутствием. Это данные, которые:

  • Имеют динамически изменяющуюся структуру (например, данные с IoT-устройств, журналы событий).

  • Не нормализованы для SQL-анализа и требуют дополнительной обработки.

  • Чаще поступают в больших объемах и разных форматах.

Для SQL-незрелых данных использование DWH не всегда оправдано. В таких случаях оптимальным решением становится Data Lake, который:

  • Поддерживает хранение данных в их исходной форме, не требуя немедленной нормализации.

  • Позволяет работать с данными в любых форматах (JSON, XML, видео, аудио и т.д.).

  • Использует инструменты для преобразования и анализа данных, такие как Apache Spark или Hadoop.

Будущее: Концепция Lakehouse

Эволюция технологий управления данными на протяжении последних десятилетий привела к появлению новых подходов, объединяющих преимущества классических Data Warehouse (DWH) и Data Lake. Одним из таких подходов является концепция Lakehouse, которая на сегодняшний день становится ключевым трендом в области управления большими данными.

Что такое Lakehouse?

Lakehouse — это архитектура, которая объединяет возможности Data Lake и DWH в едином платформенном решении. Основная цель концепции заключается в создании универсального хранилища данных, которое сочетает в себе:

  • Гибкость хранения и обработки данных любых типов: структурированных, полуструктурированных и неструктурированных.

  • Транзакционные возможности DWH: поддержка транзакций, управление метаданными и высокопроизводительная аналитика в том числе с поддержкой языка SQL.

  • Экономичность и масштабируемость Data Lake: использование облачных технологий или недорогих систем хранения данных.

Lakehouse позволит работать с данными любого типа и обеспечивает возможность их анализа без необходимости перемещения между различными хранилищами. Это устраняет традиционную проблему "болота данных" (Data Swamp), характерную для плохо управляемых Data Lake, и одновременно сохраняет транзакционные возможности DWH.

На протяжении многих лет аналитики Gartner публикуют «циклы хайпа» (Hype Cycle) — визуальные диаграммы, которые отражают стадии зрелости IT-технологий и концепций. В последнем Hype Cycle for Data Management 2024 эксперты выделили ключевые тенденции в сфере хранения и обработки данных и указали ориентировочные сроки, когда эти технологии станут массовыми решениями для бизнеса. Каждая концепция в своём развитии, по оценкам Gartner, проходит пять этапов:

Инновационная фаза (Innovation Trigger)
Технология только-только зарождается и вызывает интерес у первых энтузиастов. На этом этапе появляются пилотные проекты и прототипы, формируется сообщество ранних последователей.

Пик завышенных ожиданий (Peak of Inflated Expectations)
Идея широко обсуждается. Реальные возможности технологии, однако, часто переоценивают, и компании сталкиваются с перегретыми ожиданиями инвесторов и заказчиков.

Спад иллюзий и преодоление недостатков (Trough of Disillusionment)
На фоне первых значительных проблем многие компании переоценивают целесообразность новой технологии. Если концепция оказывается слишком сложной или не находит практического применения, она теряет популярность (как, например, произошло с Data Mesh: интерес к нему заметно снизился из-за сложности масштабирования и отсутствия убедительных «историй успеха»).

Подъём по склону просветления (Slope of Enlightenment)
Те, кто не отказался от новшества, начинают устранять ключевые недостатки и совершенствовать подход. Формируются конкретные методологии и инструменты, упрощающие внедрение технологий в повседневную практику.

Плато продуктивности (Plateau of Productivity)
Концепция доходит до стадии массовых внедрений и получает проверенные временем методики и экосистему. Технология становится надёжным элементом корпоративной инфраструктуры.

Lakehouse приблизился вплотную к плато продуктивности

По прогнозу Gartner, к концу 2024 года концепция Lakehouse приблизится к Плато продуктивности. Другими словами, уже в ближайшие месяцы на рынке стоит ждать полноценных Lakehouse-решений, способных эффективно работать в enterprise-сегменте. Причина такого роста интереса кроется в том, что Lakehouse сочетает гибкость Data Lake и надёжность классических Data Warehouse.

Компания Arenadata активно развивает собственное решение в области Lakehouse и планирует представить его рынку уже в этом году. Arenadata One — многогранный продукт, и роль Lakehouse, объединяющая хранение, обработку и анализ данных в единой архитектуре, — лишь один из сценариев его использования. Такой подход открывает новые возможности для масштабирования и ускоряет внедрение современных технологий в корпоративных средах.

Преимущества Lakehouse

Одним из ключевых преимуществ Lakehouse является его способность объединять различные подходы к управлению данными в единую систему. Это позволяет компаниям избегать сложности, связанной с поддержкой нескольких отдельных платформ. Вместо создания множества сложных и дорогостоящих связей между Data Warehouse и Data Lake, Lakehouse предоставляет единое хранилище, которое упрощает интеграцию данных, улучшает совместимость инструментов аналитики и минимизирует операционные издержки.

Кроме того, такая архитектура снижает затраты на инфраструктуру, так как исключает необходимость параллельного обслуживания двух или более систем. Этот подход особенно ценен для организаций, которые стремятся оптимизировать процесс обработки данных, ускорить внедрение аналитических решений и снизить нагрузку на ИТ-команды. Упрощённая инфраструктура также способствует более эффективному управлению данными и их анализу.

Ещё одним значимым преимуществом Lakehouse является его производительность в выполнении сложных задач. Совмещение свойств DWH и Data Lake обеспечивает гибкость в работе с разными типами данных, а оптимизация под аналитические запросы позволяет быстро обрабатывать большие объёмы информации и поддерживать высокие стандарты точности анализа. Архитектура Lakehouse строится на ряде ключевых принципов, которые обеспечивают её эффективность и удобство использования:

  • прозрачная поддержка структурированных и неструктурированных данных;

  • гибкое использование облачных ресурсов (включая технологии Kubernetes);

  • разделение на уровни вычисления (Compute) и хранения (Storage);

  • поддержка языка SQL-для различных структур данных;

  • интеграция с инструментами машинного обучения и Business Intelegence.

Вызовы

При переходе к концепции Lakehouse организации сталкиваются с рядом серьёзных проблем. Во-первых, необходимо обеспечить корректное взаимодействие с уже существующими или наследуемыми компонентами ИТ-ландшафта — например, с распределёнными файловыми системами Hadoop, устоявшимися системами ETL и аналитическими инструментами, которые не всегда «из коробки» поддерживают принципы Lakehouse. Зависимости могут возникать и в случае интеграции с классическими Data Warehouse, а также с платформами, использующими собственные протоколы и форматы данных.

Безопасность
Совмещение нескольких технологий (Spark, форматы транзакционных таблиц, облачные сервисы) требует продуманной системы аутентификации, авторизации и шифрования. Если традиционные Data Warehouse и Data Lake часто разворачивались на собственных серверах с физической защитой и понятными периметрами, то при контейнеризации и частичной работе в облаке вопрос безопасности выходит на первый план.

Производительность
Несмотря на то что Lakehouse теоретически должен сочетать скорость аналитики Data Warehouse и гибкость Data Lake, на практике высокие показатели достигаются только при грамотном учёте нюансов инфраструктуры (сетевой пропускной способности, параметров I/O и т.д.). Классические DWH и некоторые Hadoop-кластеры могут работать на bare-metal-серверах с тонкой ручной оптимизацией, в то время как контейнеризация и облачные абстракции порой вносят дополнительные задержки или усложняют отладку.

Красную или синюю?

При выборе между DWH и Data Lake необходимо учитывать множество факторов, влияющих на эффективность работы будущей архитектуры данных. Мы считаем, что в большинстве случаев SQL-зрелость данных играет ключевую роль: структурированные данные лучше подходят для DWH, а неструктурированные — для Data Lake. Однако в то же время существует немало успешных примеров реализации Big Data систем, которые нарушают это правило. Важно также учитывать такие факторы, как удобство работы в облаке, готовность системы к различным форматам данных и, в конце концов, стоимость хранения данных на терабайт, которые также значительно влияют на выбор между DWH и Data Lake.

Выбор между традиционными системами (Data Warehouse, DWH) и Data Lake, с одной стороны, и инновационным подходом Lakehouse — с другой, отражает как уровень технологической зрелости организации, так и готовность её команды к поиску и разработке более эффективных решений. Lakehouse нацелен на объединение сильных сторон DWH (транзакционная целостность, работа с чётко регламентированными данными) и Data Lake (гибкость хранения, поддержка нерегламентированных форматов, ориентация на машинное обучение). Ожидается, что в ближайшем будущем мы увидим продуктивные реализации Lakehouse-подхода, способные одновременно обеспечивать транзакционность и параллельный доступ для множества рабочих нагрузок. Такие системы предложат единый слой хранения и развитые механизмы обработки данных, что облегчит интеграцию с существующими процессами и позволит компаниям не тратить ресурсы на поддержку нескольких разрозненных платформ.

Ключевым фактором при выборе конкретной архитектуры является её гибкость, особенно актуальная в условиях стремительно меняющихся бизнес-требований. Практика показывает, что способность Lakehouse адаптироваться к новым сценариям (например, перемещаться между потоковой, пакетной и интерактивной аналитикой) без существенных затрат времени и ресурсов обеспечивает долгосрочную актуальность и эффективность решений. Поэтому тщательная оценка таких критериев, как возможности горизонтального масштабирования, совместимость с привычными инструментами и реалистичность совокупных затрат (с учётом обучения персонала и интеграции), становится решающим моментом. В результате компании, ориентированные на перспективу, всё чаще рассматривают Lakehouse как универсальную платформу, способную удовлетворять как текущие, так и будущие потребности бизнеса

Заключение

Выбор архитектуры данных зависит от целей бизнеса, характера данных и технических возможностей команды. DWH лучше подходит для задач BI и строгой аналитики, Data Lake — для гибкой работы с большими объёмами неструктурированных данных, а Lakehouse — это перспективное универсальное решение, объединяющее сильные стороны обеих концепций.

Современные тренды включают переход на гибридные и унифицированные архитектуры, усиление роли машинного обучения и автоматизации. Умение выбирать подходящую архитектуру хранения данных станет ключевым фактором успеха в условиях цифровой экономики.

Теги:
Хабы:
Всего голосов 22: ↑18 и ↓4+14
Комментарии10

Публикации

Информация

Сайт
arenadata.tech
Дата регистрации
Дата основания
2016
Численность
501–1 000 человек
Местоположение
Россия
Представитель
Arenadata