MetaStaging

BI.Qube MetaStaging – инструмент, предназначенный для транспортировки данных

ель MetaStaging – обеспечить транспортировку данных из систем источников в файловое S3-совместмое хранилище данных (HDFS, ObjectStorage) с автоматической генерацией в СУБД Greenplum объектов типа «представление» на каждый полученный файл хранилищем.

Компонент MetaStaging, предназначен для передачи данных из различных источников, как правило, из учетных систем в целевое корпоративное хранилище данных (КХД) с поддержкой целостности метаданных систем-источников, при формировании промежуточного физического слоя хранения учитываются особенности целевой платформы.

Компонент MetaStaging входит в состав системы BI.Qube и может эксплуатироваться как отдельный компонент, так и в составе системы, так и под управлением компонента MetaOrchestrator, в такой конфигурации использование компонента является наиболее эффективной.

Основные функции

Принцип работы MetaStaging сводится к взаимодействию программных блоков, которые отображены на рисунке ниже.

Рисунок 1. Блоки компонента MetaStaging

Краткое описание и назначение основных блоков компонента MetaStaging:

  • Блок инициации процесса. Представляет собой Python3-скрипт и отвечает за запуск и координацию остальных блоков для интеграции данных.
  • Блок извлечения и загрузки данных (Экстрактор). Представляет собой сборку «.Net Core». Загрузка может осуществляться в S3-совместимое хранилище в файлы «.Parquet».
  • Блок генерации представлений. Отвечает за генерацию External tables и представлений в Greenplum, поддерживающих метаданные источников.
  • Настроечная БД. Хранит информацию, необходимую для загрузки данных. Также служит интерфейсом для взаимодействия пользователя с MetaStaging. (см. п. Структура Базы данных).
  • Утилиты. Предназначены для упрощения процесса заполнения настроечных таблиц
    • CertificateManager (Утилита шифрования) (см. п. Утилита шифрования).
    • CredentialsToJsonSerializer (Генератор Json для credentials источника) (см. п. Генерация JSON для поля Credentials в таблице stg.source).

Рисунок 2. Алгоритм формирования слоя в Greenplum

Поддерживаемые системы-источники

Компонент поддерживает наиболее востребованные источники, среди которых брокеры сообщений, реляционные, документно-ориентированные и облачные БД и другие:

  • Big Query (На источнике данные должны быть в представлениях или таблицах.).
  • Rest API Данные должны быть переданы через HTTP-запросы (GET и POST) в формате JSON и XML.).
  • SQL Server (На источнике данные должны быть в представлениях или таблицах.).
  • PostgreSQL (На источнике данные должны быть в представлениях или таблицах.).
  • MySQL (На источнике данные должны быть в представлениях или таблицах.).
  • Excel (Поддерживаются файлы в формате «.xls», «.xlsx», «.xlsm» и могут быть расположены на локальной машине, в OneDrive и в YandexCloud.).

В таблице ниже приведены поддерживаемые типы данных на стороне источников данных.

ИсточникПоддерживаемые типыНеподдерживаемые типы
SQL Servertinyint, 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, xmlgeometry, geography
PostgreSQLbigint, 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
MySQLallenum (x,y …), set
Rest API, Excelall 

Сценарии работы с MetaStaging

MetaStaging предназначен для организации процесса передачи данных из различных источников. На рисунке ниже приведена общая схема движения данных в процессе работы компонента MetaStaging.

Рисунок 3. Алгоритм работы 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

Описание веб интерфейса

Регламент по организации процессов разработки ООО БиАй Куб

Стоимость MetaStaging Q1 2024

Наверх