Компоненты платформы
Подсистема «Управление потоками данных» – предоставляет функции управления потоками данных между компонентами платформы и мониторинга их состояния, средствами Apache Kafka. Для получения данных внешних источников используется Ni-Fi и AirFlow.
Также в «арсенале» решений имеются продукты Российских вендоров.
Модуль мониторинга процессов загрузки данных – интеграционный сервис в составе платформы, собирающий данные с программных компонент подсистем Управление потоками данных и Трансформации и загрузки данных и через подсистему API данных транслирующий сигналы о сбоях в ELT/ELT процедурах во внешние ИС- потребители (например, в ИС технической поддержки КХД).
Подсистема трансформации и загрузки данных – обеспечивает возможность трансформации данных в пакетном и потоковом режимах. А также обеспечивает загрузку данных в озеро и структурированное хранилище, средствами Apache Spark и Spark Streaming.
Подсистема «Озеро данных» – хранилище данных развернутое на HDFS, Minio S3 или Ceph (в процессе внедрения можно выбрать одно из решений), обеспечивающее горизонтально масштабируемое хранение больших объемов данных.
При проектировании хранилища подразумевается, то что данные в него добавляются в том виде, котором они поступили из источников. Это позволяет избежать возможных ошибок, которые могут возникнуть при трансформации и потенциальные потери данных.
Также такой подход к хранению позволяет применять парадигму чтения данных – schema on read. Т.е. применять различные схемы данных к одному и тому же датасету в зависимости от сценария использования.
Подсистема структурированное аналитическое хранилище – SQL хранилище, реализованное в СУБД Greenplum + Clickhouse, использующую MPP (massively parallel processing) обработку данных, который сильно ускоряет сложные аналитические запросы к данным. При этом при проектировании схемы хранения данных используется подход[KAV1] 3NF, Data Vault 2.0, Anchor Modeling и пр., который позволяет сильно упростить гибкую инкрементальную разработку хранилища.
Для отдельного класса задач в подсистему может быть добавлена СУБД Tarantool для проведения быстрых in-memory вычислений.
Возможность комбинации вышеуказанных СУБД в рамках одной платформы позволяет достичь высокой производительности в широком спектре задач (OLTP, OLAP, etc.) без необходимости поддерживать несколько «тяжелых» программных платформ.
Специализированное хранилище данных – обеспечивает хранение данных о состояниях приложений и процессов системы, обеспечивая высокую скорость транзакций, а также предоставляет различные специализированные noSQL хранилища, такие как ElasticSearch (для полнотекстового поиска), Neo4J – для хранения и операций с графами, а также их анализа.
Подсистема «Управление метаданными» (linkedin datahub + MDM) – обеспечивает возможность управления метаданными внутри платформы. А также классификацию данных, отслеживание движения данных (data lineage), поиск данных, гибкую настройку доступа на уровне объектов данных и хранение справочников и мастер-данных. Возможно использование Apache Atlas, а также продуктов Российских вендоров.
Подсистема API данных – логический слой хранилища данных, представляющий собой RESTful API, обеспечивающий простоту интеграции других подсистем с хранилищем.
Также в этой подсистеме реализована интеграция с подсистемой управления метаданными, что позволяет гибко управлять доступом к данным на основе атрибутов метаданных.
Подсистема «Управление качеством данных» – может быть построена на opensource продукте Amazon Deequ, предоставляет различные алгоритмы и процессы управления качеством данных. Имеет нативную интеграцию с Apache Spark.
Также в рамках данной подсистемы возможна реализация «Бизнес DQ» – системы правил проверки целостности, полноты и непротиворечивости данных в хранилище.
Также имеются продукты Российских вендоров.
Подсистема «BI» – построена на собственном продукте OTRi.Set (внесен в реестр отечественного ПО - Запись в реестре от 30.01.2023 №16407).
Предоставляет возможности многомерного анализа данных и построения неструктурированных отчетов и дашбордов любой сложности.
Подсистема «Генерация отчетов» – конструктор отчетов, позволяющий создавать собственные шаблоны отчетных форм в режиме Low-code.
Может быть использован JasperReports или native-разработка компании ОТР в рамках платформы BigData.