Системы хранения данных типа «озера данных» сочетают в себе гибкость озер данных с надежностью, производительностью и возможностями управления, характерными для хранилищ данных.
В современных аналитических системах компании в значительной степени полагаются на озера данных и хранилища данных как на основные источники хранения и анализа данных. С одной стороны, озера данных позволяют легко хранить разнообразные необработанные данные, а с другой стороны, хранилища данных поддерживают форматирование, хранение и обработку данных таким образом, чтобы это соответствовало требованиям отчетности и аналитики.
Тем не менее, управление этими системами сопряжено со значительными проблемами. Организации, как правило, сталкиваются с такими проблемами, как разрозненность данных, дублирование процессов ETL (извлечение, преобразование, загрузка) и различное качество и форматы данных на разных платформах. Все эти трудности могут привести к замедлению аналитики, увеличению затрат и усложнению управления.
Архитектура «озера данных» (lakehouse) стала решением этих проблем. Сочетая адаптивность озер данных с производительностью и управлением хранилищ данных, «озера данных» обеспечивают унифицированное хранение, управление и вычисления. Внедрение платформ «озера данных» стремительно растет в отрасли, что свидетельствует о движении к более эффективным и гибким аналитическим средам.
Мы рассмотрим, как архитектура домов на берегу озера решает эти проблемы, и предложим рекомендации по объединению современных систем хранения и анализа данных.
Введение: Почему традиционные подходы неэффективны
Несмотря на то, что хранилища данных и озера данных являются важными компонентами анализа данных, их раздельное использование не всегда обеспечивает компаниям наилучшие условия.
Хранилища данных
Традиционные хранилища данных имеют большое преимущество с точки зрения структурированных данных и аналитики; тем не менее, они невероятно дороги, не масштабируемы, а также имеют существенный недостаток в виде негибкой схемы, что значительно затрудняет обработку различных или быстро меняющихся данных.
Озера данных
Напротив, озера данных предлагают высокоадаптивное хранилище для неструктурированных и полуструктурированных данных, но они страдают от плохого управления, нестабильной производительности и проблем с качеством данных, что может сделать данные ненадежными для критически важных аналитических операций или операций машинного обучения.
Эксплуатационные проблемы сосуществующих систем
Совместное использование озер и складов данных в компании означает более высокие операционные издержки. Для перемещения и преобразования данных между различными системами необходимо создавать сложные ETL-конвейеры, что в конечном итоге приводит к увеличению задержек и трудозатрат на техническое обслуживание. Кроме того, к проблемам относятся смещение и дублирование данных, приводящие к несоответствиям, негативно влияющим на точность анализа.
Эти ограничения подчеркивают необходимость единого подхода, который бы объединял сильные стороны обеих систем, одновременно смягчая их недостатки.
Что такое хранилище данных (Data Lakehouse)?
Data Lakehouse — это инновационная архитектура данных, которая объединяет характеристики озер данных и хранилищ данных в единую платформу. Ее основная цель — предоставить масштабируемое и гибкое решение для хранения данных, поддерживающее структурированные запросы, надежность транзакций и строгое управление, тем самым преодолевая барьер между хранением необработанных данных и высокопроизводительной аналитикой.
Дом на берегу озера сочетает в себе возможности обеих систем, что позволяет предприятиям выполнять следующие задачи:
- В масштабах хранилища данных следует хранить все типы данных: структурированные, полуструктурированные и неструктурированные.
- Хранилище данных, включающее ACID-транзакции, обеспечение соблюдения схемы и высокопроизводительные запросы.
Ключевые характеристики и принципы проектирования включают в себя:
- Открытость: Она характеризуется открытыми форматами (например, Parquet, Delta Lake и Apache Iceberg), которые позволяют взаимозаменяемо использовать различные инструменты и движки.
- Надежность: Транзакции, соответствующие принципам ACID, гарантируют постоянную согласованность и надежность данных.
- Управление: Интегрированная система отслеживания происхождения данных, управления метаданными и контроля доступа упрощает ручную обработку данных в рамках соблюдения нормативных требований и аудита.
- Производительность: Большие наборы данных оптимизированы не только для хранения, но и для вычислительных ресурсов, что обеспечивает быстрое выполнение запросов и аналитику.
В целом, парадигма Lakehouse обещает стать единой, унифицированной платформой, где все операции с данными выполняются легко, отсутствует дублирование, а аналитика проводится быстро. Кроме того, платформа может предоставить организации гибкость в управлении современными рабочими нагрузками с данными.
Архитектурные элементы дома на берегу озера
Современные дома на берегу озера строятся на основе сочетания следующих элементов:
1. Единый унифицированный уровень хранения данных
Современные хранилища данных (lackhouse) рассматривают все типы данных, включая структурированные, полуструктурированные и неструктурированные, как единое целое и, таким образом, помещают их все в одну объектную систему хранения (например, S3, ADLS, GCS). Весь этот процесс устранил разделение между хранилищами данных и хранилищами данных, тем самым снизив нагрузку на управление данными за счет исключения копирования данных и сокращения количества мест, требующих управления.
2. Метаданные и форматы таблиц
Правильное управление надежными метаданными играет важную роль, помимо прочего, в обеспечении соответствия принципам ACID и повышении производительности запросов. Ниже перечислены некоторые широко используемые форматы таблиц:
- Delta Lake: Обеспечивает поддержку объектного хранилища и принудительное соблюдение схем путем расширения принципов ACID на объектное хранилище.
- Apache Iceberg: Это таблица, созданная с использованием многоуровневого метода секционирования, что приводит к ускорению обработки запросов. Также предлагает крупномасштабное версионирование таблиц, эволюцию секций и высокопроизводительные запросы.
- Apache Hudi: позволяет выполнять операции обновления/вставки и работать с инкрементальной обработкой как потоковых, так и пакетных данных. Обеспечивает поддержку операций обновления/вставки, инкрементальной загрузки и потоковой обработки данных в хранилищах данных (data lakes).
3. Вычислительные механизмы и обработка запросов
Системы Lakehouse разделяют хранилище и вычислительные ресурсы, что позволяет различным механизмам эффективно извлекать одни и те же данные:
- Spark: Распределенная обработка данных как в пакетном, так и в потоковом режиме.
- Trino: Быстрые SQL-запросы к огромным массивам данных.
- DuckDB: Небольшой и эффективный аналитический движок для локальных или встроенных запросов.
- Photon: Усовершенствованный и быстрый механизм запросов для большого количества пользователей и обеспечения высокой производительности.
4. Управление и каталогизация
Интегрированное управление обеспечивает безопасность, регулирование и аудит использования данных эффективным и простым для мониторинга способом:
- Каталог Unity: Единая точка управления метаданными и доступом к ним.
- AWS Glue: Каталог данных для оркестрации и обнаружения ETL-процессов, а также отслеживание происхождения данных, которые теперь легко найти.
5. Конвейеры приема и преобразования данных
Системы Lakehouse обеспечивают возможность пакетной и потоковой загрузки данных, тем самым поддерживая надежные процессы ETL/ELT . Apache Spark, Flink или dbt — это примеры фреймворков, которые гарантируют преобразование, проверку и хранение данных в готовом для аналитики виде без дополнительных затрат на хранение.
В совокупности эти элементы создают единую экосистему, отличающуюся гибкостью, надежностью и высокой производительностью, что позволяет эффективно управлять данными в крупных организациях, поддерживая при этом различные аналитические задачи.
6. Платформы
Архитектуру Lakehouse применяют различные платформы, основанные на облачных и гибридных технологиях:
- Databricks: Это совершенная управляемая платформа, отличающаяся бесшовной интеграцией с Delta Lake и поддержкой множества движков.
- Snowflake Unistore: Объединяет транзакционные и аналитические задачи в одном движке.
- Amazon Athena/EMR: Бессерверная и управляемая аналитика на основе хранилища S3 с интеграцией Iceberg или Hudi.
- Google BigLake: Объединяющий механизм хранения данных, связывающий хранилища данных (озера и хранилища) на платформе GCP.
Как дома на берегу озера преодолевают разрыв
Системы, объединяющие хранилища данных (озера и хранилища), решают классические проблемы, связанные с разобщенностью этих систем, предлагая функции, сочетающие в себе лучшие характеристики обеих:
1. Открытое хранилище с использованием ACID-транзакций
В отличие от озер данных, хранилища данных поддерживают ACID-транзакции, которые обеспечивают согласованность и надежность данных при одновременных операциях чтения и записи. Упомянутые выше транзакции позволяют проводить аналитику на необработанном хранилище без потери точности.
2. Внедрение и развитие схем.
Lakehouses позволяет решать проблему нехватки данных с помощью принудительного применения схемы и одновременно поддерживает изменения данных посредством эволюции схемы. Эта функция предоставляет доступ к структурированной аналитике, а также к широкому спектру постоянно меняющихся наборов данных.
3. Оптимизация производительности
Для обеспечения уровня производительности, сопоставимого с уровнем складского хранения в крупной системе, компании, расположенные на берегу озера, внедряют следующие технологии:
- Кэширование: Оно уменьшает количество операций ввода-вывода для данных, к которым обращаются очень часто.
- Индексирование: Оно значительно ускоряет процесс поиска нужных файлов данных, а следовательно, и выполнение запросов.
- Сжатие файлов: Этот метод объединяет небольшие файлы для повышения эффективности чтения и, следовательно, снижения накладных расходов.
4. Стабильность и надежность на уровне складов.
Сочетание гарантий транзакций, управления метаданными и оптимизации производительности позволяет хранилищам данных на основе технологии Lakehouse обеспечивать уровень надежности и согласованности данных, сопоставимый с традиционными хранилищами, но при этом без негибкости и разрозненного хранения, обычно с ними связанных.
5. Взаимодействие с рабочими нагрузками машинного обучения и искусственного интеллекта.
Дома на берегу озера становятся единственным хранилищем данных для конвейеров машинного обучения и искусственного интеллекта, что позволяет напрямую выполнять проектирование признаков, обучение моделей и оценку результатов.
Благодаря этим механизмам, хранилища данных на основе озер устраняют операционные сложности, связанные с управлением отдельными хранилищами и резервуарами, обеспечивая при этом гибкую, надежную и высокопроизводительную аналитику для современных рабочих нагрузок с данными.
Типичные схемы проектирования домов на берегу озера
В современных проектах домов на берегу озера используются различные архитектурные решения, которые обеспечивают организациям надежную основу для управления данными и поддержки рабочих нагрузок:
1. Объединение пакетной и потоковой обработки данных.
Благодаря хранению данных в одном слое, системы Lakehouse устранили разделение между пакетной и потоковой обработкой данных. Это означает, что данные могут непрерывно поступать в систему, одновременно обрабатываясь в пакетном режиме, таким образом, аналитика всегда работает с актуальными и согласованными данными без дополнительных затрат на хранение или конвейеры для дублирования.
2. Медальонная архитектура
Бронза/серебро/золото — это наиболее популярный способ классификации данных, известный как:
- Бронзовый уровень – Данные нетронуты и не обработаны; это необработанные данные из источников.
- Серебро – Данные очищены и стандартизированы; теперь они обогащены и готовы к анализу.
- Gold – Данные идеально подготовлены и готовы для использования в отчетах, бизнес-аналитике и машинном обучении.
Многоуровневая система не только поддерживает качество и отслеживаемость данных, но и повышает производительность, а также упрощает последующее потребление данных.
3. Доступ к запросам с использованием нескольких движков
Архитектура Lakehouse позволяет внедрять различные вычислительные движки, работающие с одними и теми же данными; таким образом, движки, такие как Spark, Trino и DuckDB, могут выполнять запросы в зависимости от потребностей. Эта модель обеспечивает гибкость, поддерживает различные типы аналитических нагрузок и позволяет получить максимальную выгоду от использования единого источника достоверной информации.
4. Уровень управления с детальным контролем доступа.
Уровень управления накладывает строгие ограничения на доступ к данным и осуществляет жесткий контроль за использованием данных, соблюдением нормативных требований и аудитом. Такие функции, как управление доступом на основе ролей, разрешения на уровне строк и столбцов, отслеживание происхождения данных и централизованное управление метаданными, являются неотъемлемыми компонентами архитектуры.
Эти шаблоны проектирования в совокупности позволяют организациям создавать масштабируемые, надежные и гибкие платформы данных, которые поддерживают как операционные, так и аналитические задачи, обеспечивая при этом высокое качество данных и стандарты управления ими.
Вместе эти технологии образуют надежную экосистему, которая позволяет организациям создавать масштабируемые, управляемые и высокопроизводительные платформы Lakehouse, способные поддерживать разнообразные аналитические, отчетные и ИИ-задачи.
Вопросы реализации
Конструкция дома на берегу озера в конечном итоге может окупить инвестиции благодаря производительности, надежности и масштабируемости, которые соответствуют ожиданиям проектировщиков на протяжении всего процесса, принимая во внимание хранение данных, схемы, управление и затраты в качестве основных параметров.
1. Выбор формата хранения
Выбор подходящего формата таблицы (например, Delta Lake, Iceberg, Hudi) по-прежнему остается сложным решением, которое может быть принято по следующим причинам:
- Любая транзакция должна быть надежной, поэтому она должна поддерживать ACID-баланс.
- Возможности эволюции схемы должны соответствовать постоянно меняющимся структурам данных.
- Необходимо внедрить методы оптимизации производительности запросов, такие как сокращение разделов и индексирование.
- Необходимо сочетание облачного объектного хранилища и экономически эффективной масштабируемости.
2. Моделирование данных и стратегия построения схемы.
Эффективность и обслуживание системы можно упростить, используя четко определенную схему и стратегию моделирования:
- Слои бронзы/серебра/золота, соответствующие уровням мастерства, предназначены для уточнения поэтапных данных.
- Формат Parquet, представляющий собой столбцовый формат хранения данных, используется для повышения эффективности обработки аналитических данных.
- Последовательные соглашения об именовании и управление метаданными обеспечивают возможность поиска.
3. Обработка небольших файлов и сжатие файлов.
Небольшие файлы являются основной причиной как менее эффективной обработки запросов, так и увеличения объема занимаемого ими места.
Следует применять следующие передовые методы:
- Для объединения небольших файлов в один оптимизированный большой файл будет применена автоматическая компрессия файлов.
- Для обеспечения согласованности уровня детализации с производительностью будут внедрены стратегии разделения данных.
- Управление процессом приема потокового видео поможет свести к минимуму создание файлов чрезмерно малого размера.
4. Управление, происхождение и каталогизация.
Надёжное управление позволяет доверять данным и обеспечивать их соответствие следующим требованиям:
- Централизованные каталоги (Unity Catalog, AWS Glue) для управления метаданными и контроля доступа.
- Отслеживание происхождения данных для аудита и упрощения работы конвейеров обработки данных.
- Детальный контроль доступа для защиты конфиденциальных наборов данных и обеспечения соблюдения политик.
5. Оптимизация затрат в сочетании с вычислительными ресурсами и хранилищем данных.
В основе концепции Lakehouse лежит децентрализованная инфраструктура, поддерживающая различные методы масштабирования, включая: возможность динамического масштабирования вычислительных кластеров в зависимости от рабочей нагрузки, использование нескольких уровней хранения для поиска оптимального баланса между производительностью и стоимостью (например, горячее и холодное хранение), а также реализацию на вычислительной стороне методов оптимизации запросов, снижающих затраты, таких как кэширование, отсечение и материализованные представления.
Тщательный учет этих факторов гарантирует, что решения Lakehouse останутся масштабируемыми, производительными и экономически эффективными, поддерживая как аналитические, так и операционные задачи без ущерба для надежности или управления.
Варианты использования
Архитектура Lakehouse способна обрабатывать широкий спектр современных рабочих нагрузок с данными, сочетая в себе преимущества озер и хранилищ данных. Основные варианты использования:
1. Аналитика в реальном времени
Системы Lakehouse позволяют получать потоковые данные и запрашивать их практически в режиме реального времени. Таким образом, организации могут отслеживать свою деятельность, выявлять проблемы и, в конечном итоге, принимать решения, основанные на данных, с очень низкой задержкой.
2. Машинное обучение и хранилища признаков
Дома на берегу озера служат надежным источником данных, и это главная причина, по которой конвейеры машинного обучения становятся проще в управлении. В таких домах можно создавать хранилища признаков, и благодаря этому можно осуществлять согласованную разработку признаков, обучение моделей и оценку результатов даже в больших масштабах.
3. Рабочие нагрузки бизнес-аналитики с высокой степенью параллелизма.
Системы Lakehouse обеспечивают очень высокую производительность для аналитики и составления отчетов; таким образом, несколько пользователей и инструментов могут одновременно запрашивать очень большие наборы данных без ущерба для производительности или точности.
4. Корпоративное управление данными и соответствие нормативным требованиям
При использовании данных обеспечивается их соответствие требованиям регулирующих органов, внутренним политикам и стандартам аудита посредством интегрированного управления, отслеживания происхождения и детального контроля доступа, а также обеспечивается безопасное взаимодействие между командами.
Эти примеры использования демонстрируют, как системы мониторинга состояния озера предоставляют универсальную, унифицированную платформу, способную поддерживать как оперативные, так и аналитические задачи, одновременно снижая сложность и сохраняя высокое качество данных.
Заключение
Архитектуры Lakehouse считаются значительным шагом вперед в современном управлении данными, сочетая гибкость озер данных с надежностью и производительностью хранилищ данных. Устранение операционных проблем, сокращение дублирования и упрощение сложных ETL-конвейеров являются результатом интеграции хранения, вычислительных ресурсов и управления данными в единую платформу.
Использование дома на берегу озера обеспечивает долгосрочные преимущества, такие как надежность данных, высокая производительность для аналитических задач и задач машинного обучения, а также экономия операционных затрат, что позволяет командам сосредоточиться на извлечении полезной информации, а не на управлении инфраструктурой.
Внедрение современных моделей «озерного дома» позволит организациям с уверенностью масштабировать свои инициативы в области данных, а также обеспечит надежное управление, невысокие затраты и возможность поддержки аналитики в реальном времени, машинного обучения и корпоративной отчетности.
#DST #DSTGlobal #ДСТ #ДСТГлобал #озёраданных #хранилищаданных #lakehouse #ApacheIceberg #Метаданные #Кэширование #AWS #Spark #DuckDB #Машинноеобучение #Parquet #DeltaLake
Источник: https://dstglobal.ru/club/1144-preodolenie-razryva-mezhdu-ozerami-dannyh-i-hranilischami-dannyh