Реализация LakeHouse на Greenplum и Cloudian HyperStore Object Storage

архитектура данных примеры курсы обучение Data Lake DWH LakeHouse, Greenplum PXF примеры курсы обучение, обучение архитекторов Big Data, инженерия данных Greenplum, Greenplum примеры курсы обучение дата-инженеров и архитекторов, инженер данных курсы, Школа Больших Данных Учебный центр Коммерсант

Специально для обучения дата-инженеров и архитекторов DWH сегодня разберем, как построить LakeHouse на Greenplum и объектном хранилище Cloudian HyperStore, совместимом с AWS S3. Что такое Cloudian HyperStore Object Storage, как оно совмещается с Greenplum и при чем здесь Apache Cassandra с интеграционным фреймворком PXF.

Что такое объектное хранилище Cloudian HyperStore

Сегодня все больше компаний уходят от локальных BI-системы на базе внутренних DWH к облачным платформам аналитики больших данных, которые напрямую подключаются к озерам данных на AWS S3 и других подобных объектных хранилищах. Такая сервисная модель делает анализ данных более гибким, обеспечивая масштабируемость и снижение затрат на инфраструктуру. Такая гибридная архитектура объединения хранилища данных с озером называется Data Lakehouse, о чем мы писали здесь и здесь.

Реализовать архитектуру Lakehouse в локальной корпоративной среде можно на основе MPP-СУБД Greenplum и облачного объектного хранилища Cloudian HyperStore, которое полностью совместимо с S3. Это хранилище основано на мощной NoSQL-СУБД Apache Cassandra, которая используется для хранения метаданных объекта, данных учетной записи пользователя и данных об использовании сервиса. При этом данные Cassandra не хранятся на дисках данных HyperStore, а метаданные реплицируются в соответствии с политикой хранилища. Размещение и репликация объектов S3 в кластере HyperStore основаны на схеме консистентного кэширования, которая использует пространство целочисленных токенов в диапазоне от 0 до 2127 -1, которые  назначаются узлам HyperStore. Для каждого объекта S3 по мере его загрузки в хранилище рассчитывается хэш. Объект сохраняется в узле с наименьшим значением токена, которое больше или равно значению хэша объекта. Репликация реализуется как сохранение объекта на узлах с токенами, имеющими минимально большее значение.

В отличие от классического хранилища на базе Cassandra с консистентным хэшированием, где один токен присваивается одному физическому узлу, в Cloudian HyperStore каждому физическому хосту присваивается больше токенов (максимум 256). По сути, кластер хранилища состоит из очень большого количества «виртуальных узлов» с большим количеством токенов на каждом физическом хосте. Каждый диск на хосте отвечает за свой набор реплик объектов. Сбой на диске затронет только расположенные на нем реплики объектов, а другие диски на хосте продолжат работать, обеспечивая отказоустойчивость и надежное хранение данных.

Аналитическая MPP-СУБД Greenplum интегрируется c платформами хранения данных с помощью интеграционного фреймворка PXF, который мы рассматривали здесь и здесь. PXF представляет собой расширение базы данных, позволяющее выполнять параллельный высокопроизводительный доступ к данным и федеративные запросы к связанным наборам данных во внешнем хранилище, с основных серверных узлов Greenplum. Это намного сокращает время выполнения SQL-запросов, т.к. их можно выполнять сразу на месте, без передачи данных по сети. Коннекторы PXF обеспечивают интеграцию Greenplum с Hadoop HDFS, AWS S3 и другими хранилищами данных. А поскольку Cloudian Hyperstore Object Storage является 100% совместимым с AWS S3, неудивительно, что именно PXF реализует взаимодействие этого хранилища данных с Greenplum. Как это настроить в рамках организации Lakehouse, мы рассмотрим далее.

Подключение Greenplum к хранилищу Cloudian HyperStore

Чтобы подключить Greenplum к Cloudian HyperStore, надо настроить файл cloudian-site.xml в PXF, указав URL-адрес конечной точки клиента S3, ключ доступа и секретный ключ. Отредактированный файл следует сохранить файл в директории $PXF_HOME/servers/cloudian.

Greenplum PXF, Greenplum интеграция с объектным хранилищем, Greenplum коннекторы PXF
Настройка подключения Greenplum к Cloudian HyperStore в файле cloudian-site.xml фреймворка PXF

В заключение отметим, что Cloudian HyperStore может развертываться локально, а не в облаке, что означает физическую близость с кластером Greenplum, позволяя напрямую взаимодействовать через высокоскоростную сеть.

После подключения можно работать с хранилищем данных Cloudian HyperStore средствами Greenplum. Например, рассмотрим, как быстро анализировать данные, непосредственно находящиеся в S3-озере Cloudian HyperStore. Данные загружаются из различных источников данных непосредственно в одну или несколько корзин, совместимых с S3. Как обычно, в случае работы с Greenplum, нужно создать внешнюю таблицу, куда будут вставлены данные для анализа.

Для этого создадим WRITABLE EXTERNAL TABLE “pxf_ext_tbl_cloudian_w”, связанную с cloudian:

  • SERVER указывает на имя сервера в папке $PXF_HOME/servers/;
  • greenplum – это название корзины;
  • cloudian_test – имя папки.
  • filetxt – это не файл, а подпапка cloudian_test.

И вставим данные в эту внешнюю таблицу.

Greenplum для дата-инженера
Создание внешней таблицы Greenplum и запись данных в нее

Для чтения данных создадим другую внешнюю таблицу pxf_ext_tbl_cloudian_r, связанную с cloudian. Теперь Greenplum, используя PXF, может выполнять массовый параллельный высокопроизводительный доступ и запросы к этим данным из таблицы pxf_ext_tbl_cloudian_r.

Greenplum для дата-инженера
Создание внешней таблицы Greenplum и чтение данных из нее

Результаты этих запросов также могут храниться в корзинах S3, чтобы другие пользователи могли быстро получить к ним доступ.

В заключение отметим, что для защиты данных от потери можно использовать утилиты резервного копирования и восстановления Greenplum, которые могут применять Cloudian Object Store в качестве репозитория для резервных копий и мгновенного доступа для быстрого восстановления. Благодаря распределенному характеру архитектур Greenplum и Cloudian Hyperstore эти процессы резервного копирования и восстановления могут выполняться несколькими параллельными потоками. Это повышает производительность и эффективность, обеспечивая малые значения метрик эксплуатационной надежности RPO и RTO для оперативного восстановления.

Кроме того, Cloudian Hyperstore может реплицировать данные между разными ЦОД, дополнительно повышая отказоустойчивость корпоративных решений хранения и аналитики больших данных.

Узнайте больше про администрирование и эксплуатацию Greenplum и Arenadata DB для эффективного хранения и аналитики больших данных на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

Я даю свое согласие на обработку персональных данных и соглашаюсь с политикой конфиденциальности.

Источники

  1. https://greenplum.org/cloudifying-enterprise-data-analytics-with-vmware-tanzu-greenplum-and-cloudian-object-storage/
  2. https://cloudian.com/products/hyperstore/
  3. https://habr.com/ru/company/dataline/blog/423853/
Поиск по сайту