Архитектура Открытое озеро данных Qlik
Открытое озеро данных Qlik — комплексное, полностью управляемое решение в Qlik Talend Cloud для ввода, обработки и оптимизации данных в озерах-хранилищах Lakehouse на основе Iceberg. Оно позволяет оптимизировать и масштабировать операции с данными и обеспечивает низкую задержку при выполнении запросов.
Благодаря защищенному обмену данными, масштабируемым вычислениям и эффективной обработке данных, архитектура Открытое озеро данных Qlik является современной и удобной технологией для работы с озерами данных. Открытое озеро данных Qlik использует внутренние компоненты AWS, такие как EC2, S3 и Kinesis.
Ключевые компоненты
Для создания Открытое озеро данных Qlik необходимы следующие сущности.
Data Movement Gateway (CDC)
Шлюз Data Movement Gateway может работать как в локальной, так в облачной среде. Он получает изменения из систем-источников, таких как RDBMS, SAP или мейнфреймы, и передает данные в зону промежуточного хранения Amazon S3.
Агент сетевой интеграции (экземпляр EC2)
Агент сетевой интеграции — это экземпляр EC2, обеспечивающий защищенный обмен данными между сервисами Qlik в облаке и кластерами Lakehouse в вашей среде. Агент автоматически развертывается в процессе сетевой интеграции как экземпляр по требованию (On-Demand) и полностью управляется в Qlik. Новые версии развертываются автоматически.
Если сетевая интеграция работает правильно, в окне Кластеры Lakehouse в центре активности «Администрирование» отображается состояние Подключено. При возникновении проблем с подключением состояние меняется на Отключено.
Кластер Lakehouse (EC2 Auto-Scaling Group)
Кластер Lakehouse — это группа машин AWS EC2, отвечающих за обработку данных. Машины кластера координируют и выполняют процессы, с помощью которых производится обработка данных, поступающих из зоны промежуточного хранения, а после обработки сохраняют данные в целевой базе данных в формате Iceberg.
Кластер Lakehouse с одной машиной AWS Spot создается автоматически во время настройки сетевой интеграции. При необходимости, можно создавать и управлять дополнительными кластерами. Во время настройки кластера Qlik должен получить разрешения на создание, запуск, остановку, масштабирование или развертывание серверов, которые нужны для выполнения задач по обработке данных. Каждый кластер связан с одной сетевой интеграцией, хотя внутри одной сетевой интеграции могут работать несколько кластеров. Один кластер может выполнять множество задач озера данных.
Машины AWS Spot потребляют более дешевые ресурсы Amazon EC2, чем обычные машины, однако доступ к таким ресурсам может быть прерван AWS с минимальным уведомлением. По умолчанию Qlik Qlik использует для обработки данных эфемерные (временные) машины Spot. Если на рынке AWS нет достаточного количества машин Spot, Qlik, чтобы обеспечить непрерывность, будет автоматически использовать машины On-Demand. Система вернется к Spot, как только появятся свободные машины. Технология кластера Lakehouse разработана так, чтобы плавно переключаться между машинами Spot и On-Demand и распределять задачи между узлами. Этот процесс происходит автоматически, не требуя ручного вмешательства. В настройках кластера можно указать число экземпляров Spot и On-Demand, используемых в кластере. Использование машин Spot позволяет снизить расходы на Открытое озеро данных Qlik, связанные с вычислениями.
Помимо числа используемых экземпляров Spot и On-Demand, можно выбрать стратегию масштабирования в соответствии с рабочей нагрузкой и бюджетом проекта. К кластеру можно применить следующие стратегии масштабирования:
-
Низкая стоимость: идеально подходит для сред разработки или QA, а также для других задач, не требующих обновления данных в режиме реального времени. Qlik стремится минимизировать затраты, поэтому возможны периоды высокой задержки.
-
Низкая задержка: стратегия для некритичных рабочих процессов, которым достаточно данных, обновляемых в режиме, близкому к реальному времени. Хотя эта стратегия направлена на обеспечение низкой задержки, могут возникать кратковременные скачки.
-
Постоянная низкая задержка: подходит для производственных сред с большими объемами данных, требующих обновления данных в режиме реального времени. Qlik проактивно масштабирует вычислительные ресурсы, чтобы обеспечить стабильно низкую задержку, однако эта стратегия может привести к увеличению расходов.
-
Без масштабирования: хороший вариант для рабочих процессов, работающих всегда с одинаковым объемом данных. В этом случае число машин остается фиксированным. Выберите этот вариант, если автоматическое масштабирование не нужно, а затраты должны быть предсказуемыми.
Поток Kinesis (координация рабочей нагрузки)
Для Qlik необходим поток Kinesis, через который осуществляется сбор и передача информации о состоянии каждого сервера в кластере Lakehouse. Серверы сообщают о статусе задач и операционных показателях, таких как процессор и память, непосредственно в Kinesis, поскольку между серверами нет обмена данными. Каждый сервер опрашивает поток Kinesis, чтобы получить информацию о других серверах в кластере. Обмениваясь таким образом, они синхронизируют свою работу.
Блоки Amazon S3
Блоки Amazon S3 используются следующим образом:
-
Блок для промежуточного хранения: необработанные данные CDC помещаются в блок S3 перед преобразованием (трансформацией) данных.
-
Блок конфигурации: хранит метаданные и конфигурации, используемые системой Lakehouse.
-
Табличное хранилище Iceberg: данные хранятся и оптимизируются в таблицах формата Iceberg.
Высокоуровневый поток
Первичная настройка
-
Настройка частного виртуального облака (VPC) и инфраструктуры - Настройте VPC в своей учетной записи AWS, включая подсети, блоки S3, потоки Kinesis и роли IAM, следуя инструкциям в документации Qlik.
-
Настройка сетевой интеграции— Администратор клиента создает сетевую интеграцию в Qlik Talend Cloud, используя имеющиеся данные инфраструктуры.
-
Развертывание компонентов Qlik— Qlik автоматически разворачивает в VPC шлюз на уровне данных и кластер Lakehouse.
-
Установка подключения — Шлюз на уровне данных устанавливает защищенное подключение к Qlik Talend Cloud.
-
Развертывание шлюза — Разверните шлюз Data Movement Gateway (CDC) локально или в облачной среде, включая VPC на уровне данных.
-
Готовность к работе — После завершения настройки можно создавать и управлять проектами и задачами Открытое озеро данных Qlik в рамках прав доступа.
Создание проекта Открытое озеро данных Qlik
Доступны следующие типы задач:
Задача промежуточного хранения данных
-
Конфигурация источника — Шлюз Data Movement gateway должен быть настроен так, чтобы он мог получать изменения данных из систем-источников, в том числе из RDBMS, SAP, мейнфреймов и т.д.
-
Промежуточное хранение данных — Задача CDC непрерывно отправляет необработанные изменения данных в специальный блок S3 учетной записи AWS.
Задача хранения данных
-
Зарегистрируйте подключение к каталогу Iceberg, например, AWS Glue Data Catalog.
-
Определите задачу хранения в Qlik Talend Cloud.
-
Qlik Talend Cloud передает определения задачи на шлюз, расположенный на уровне данных.
-
Шлюз данных по защищенному каналу передает инструкции задач в кластер Qlik Lakehouse.
-
Кластер непрерывно считывает необработанные данные из блока промежуточного хранения в S3, обрабатывает их и записывает результаты в таблицы Iceberg в S3.
-
Кластер Lakehouse автоматически меняет объем ресурсов в зависимости от нагрузки и в соответствии с настройками кластера Lakehouse.
-
Данные мониторинга передаются в Qlik Talend Cloud, а журналы и метрики — в Qlik.
Задача зеркалирования данных
С помощью внешних таблиц Iceberg можно выполнять запросы Snowflake к данным, хранящимся в озере данных, не дублируя данные. Это позволяет использовать поверх данных, управляемых Iceberg, аналитический движок Snowflake, если данные хранятся в S3 в таких форматах, как Parquet. Вместо дублирования данных в Snowflake можно использовать ссылки на внешние таблицы. Это дает такие преимущества, как более низкие затраты на хранение, единый источник достоверных данных и обеспечение согласованности между средами озер и хранилища данных.
Обмен данными между сетевой интеграцией и Qlik Talend Cloud
Сетевая интеграция устанавливает исходящее защищенное подключение (HTTPS) к Qlik Talend Cloud. После успешного принятия подключение преобразуется в защищенный Web socket (WSS). Между сетевой интеграцией и Qlik Talend Cloud устанавливается дополнительный, выделенный канал связи (WSS), по которому передаются команды и инструкции, специфичные для архитектуры Lakehouse. Периодически сетевая интеграция устанавливает защищенное подключение (HTTPS) к Qlik Talend Cloud для получения и отправки данных, связанных с событиями. Из кластеров Lakehouse в Qlik передаются метрики и журналы.
Для защиты данных необходимо принимаются следующие меры:
-
Все подключения от сетевой интеграции к Qlik Talend Cloud являются исходящими. Входящий доступ не требуется.
-
Метаданные, команды и запросы управления передаются по каналам связи, защищенным HTTPS, создавая дополнительный слой шифрования между сетевой интеграцией и Qlik Talend Cloud.
-
Все потоки данных между ресурсами принадлежат только вам. Данные никогда не передаются на Qlik Talend Cloud. На Qlik Talend Cloud передаются только метаданные, разрешающие определение задач, например названия таблиц и столбцов,
-
Перед отправкой на Qlik данные приводятся к анонимному виду. Если журналы или метрики указывают на проблему, для проактивных процедур поддержки Qlik использует только анонимизированные данные.