BI.Qube MetaStaging
Цель MetaStaging – обеспечить транспортировку данных из систем источников в файловое S3-совместмое хранилище данных (HDFS, ObjectStorage) с автоматической генерацией в СУБД Greenplum объектов типа «представление» на каждый полученный файл хранилищем.
Компонент MetaStaging, предназначен для передачи данных из различных источников, как правило, из учетных систем в целевое корпоративное хранилище данных (КХД) с поддержкой целостности метаданных систем-источников, при формировании промежуточного физического слоя хранения учитываются особенности целевой платформы.
Компонент MetaStaging входит в состав системы BI.Qube и может эксплуатироваться как отдельный компонент, так и в составе системы, так и под управлением компонента MetaOrchestrator, в такой конфигурации использование компонента является наиболее эффективной.
Основные функции
Принцип работы MetaStaging сводится к взаимодействию программных блоков, которые отображены на рисунке ниже.
Краткое описание и назначение основных блоков компонента MetaStaging:
- Блок инициации процесса. Представляет собой Python3-скрипт и отвечает за запуск и координацию остальных блоков для интеграции данных.
- Блок извлечения и загрузки данных (Экстрактор). Представляет собой сборку «.Net Core». Загрузка может осуществляться в S3-совместимое хранилище в файлы «.Parquet».
- Блок генерации представлений. Отвечает за генерацию External tables и представлений в Greenplum, поддерживающих метаданные источников.
- Настроечная БД. Хранит информацию, необходимую для загрузки данных. Также служит интерфейсом для взаимодействия пользователя с MetaStaging. (см. п. Структура Базы данных).
- Утилиты. Предназначены для упрощения процесса заполнения настроечных таблиц
- CertificateManager (Утилита шифрования) (см. п. Утилита шифрования).
- CredentialsToJsonSerializer (Генератор Json для credentials источника) (см. п. Генерация JSON для поля Credentials в таблице stg.source).
Поддерживаемые системы-источники
Компонент поддерживает наиболее востребованные источники, среди которых брокеры сообщений, реляционные, документно-ориентированные и облачные БД и другие:
- Big Query (На источнике данные должны быть в представлениях или таблицах.).
- Rest API Данные должны быть переданы через HTTP-запросы (GET и POST) в формате JSON и XML.).
- SQL Server (На источнике данные должны быть в представлениях или таблицах.).
- PostgreSQL (На источнике данные должны быть в представлениях или таблицах.).
- MySQL (На источнике данные должны быть в представлениях или таблицах.).
- Excel (Поддерживаются файлы в формате «.xls», «.xlsx», «.xlsm» и могут быть расположены на локальной машине, в OneDrive и в YandexCloud.).
В таблице ниже приведены поддерживаемые типы данных на стороне источников данных.
Источник |
Поддерживаемые типы |
Неподдерживаемые типы |
SQL Server |
tinyint, smallint, int, bigint, smallmoney, money, decimal, numeric, bit, real, float, date, time, smalldatetime, datetimeoffset, datetime, datetime2, char, varchar, nchar, nvarchar, text, ntext, binary, varbinary, image, uniqueidentifier, xml |
geometry, geography |
PostgreSQL |
bigint, bigserial, bit varying, boolean, box, bytea, character varying, character, cidr, circle, date, double precision, inet, integer, interval, line, lseg, macaddr, money, numeric, path, point, polygon, real, smallint, text, time without time zone, time with time zone, timestamp without time zone, timestamp with time zone, uuid, xml, json, jsonb |
составные типы, диапазонные типы (int8range, datarange), enum,s array, tsquery, tsvector, txid_snapshot |
MySQL |
all |
enum (x,y …), set |
Rest API, Excel |
all |
Сценарии работы с MetaStaging
MetaStaging предназначен для организации процесса передачи данных из различных источников. На рисунке ниже приведена общая схема движения данных в процессе работы компонента MetaStaging.
Возможна реализация разных сценариев работы с данными:
- Полная загрузка
- Полная загрузка с сохранением истории
- Инкрементальная загрузка
Для того, чтобы MetaStaging осуществил указанную выше интеграцию, необходимо заполнить настроечные таблицы. В зависимости от типа загрузки данных (инкрементальная загрузка, полная загрузка, полная загрузка с сохранением истории) алгоритм заполнения этих таблиц меняется.
Предварительная настройка компонента (заполнение БД для тестового запуска) осуществляется разработчиком, что позволяет пользователю сразу приступить к решению своих задач, не вдаваясь в подробности настройки.
Требования к ПО
Компонент MetaStaging для развертывания, функционирования и настройки использует различные программные инструменты и фреймворки. Обязательным условием является наличие у них открытого исходного кода. Поддерживаемые операционные системы: Linux (различные дистрибутивы, такие как Ubuntu, Mint, РЕД ОС), другие Unix-подобные системы, а также есть возможность развернуть компонент под Windows. Настроечные данные компонента могут храниться посредством СУБД: PostgreSQL (9.0 и позднее), Postgres Pro (10.22 и позднее), Arenadata Postgres (ADPG) (14.2.1), Greenplum на выбор заказчика.
Все процессы компонент осуществляет на основе информации из настроечной БД, которую заполняет пользователь. Взаимодействие с компонентом осуществляется через веб-интерфейс или работая напрямую с БД с помощью доступной среды разработки (например, DBeaver).
Требования к аппаратному обеспечению
Минимальные аппаратные требования для установки серверной части (процессинг и БД):
- Процессор с тактовой частотой более 2.0 ГГц
- Оперативная память- 2GB
- Свободное место на жестком диске 350 Мб для исходного кода в процессе компиляции и 60 Мб для каталога инсталляции
Установка и запуск
В связи с высокой сложностью развертывания компонента в среде целевой СУБД установку компонента осуществляет вендор.
Документация
Краткое описание ПО MetaStaging
Функциональные характеристики ПО MetaStaging
Руководство пользователя MetaStaging
Описание технической архитектуры MetaStaging
Установка и запуск MetaStaging