Компания IT_ONE (ООО «ИТ1-Технологии») разработала ETL-продукт по перемещению и интеграции данных в хранилищах – OneData. Новый фреймворк поддерживает большинство популярных типов источников и приемников данных, высокую скорость развертывания и отличается простотой настройки.

Деятельность коммерческих компаний связана с генерацией огромных массивов данных. Для их размещения и обработки используются озера данных (Data Lake), сложные распределенные хранилища, аналитические системы и другие технологии. При этом важным процессом является регулярная актуализация и пополнение этих данных из внешних систем-источников, разнородных по типу взаимодействия с ними и по типу передаваемых данных.

OneData оптимизирует деятельность ИТ-команд компаний-заказчиков, занимающихся наполнением хранилищ данных. Продукт – альтернатива популярным западным проприетарным продуктам, многие из которых сегодня недоступны в России, а также продуктам на основе открытого ПО, которые могут не подходить заказчику по функциональности.

OneData состоит из четырех основных структурных компонентов: web-интерфейса конфигурирования, базы данных конфигураций потоков перемещения данных, сервиса обработки данных на базе Spark и оркестратора потоков на базе Apache Airflow. Решение поддерживает наиболее популярные в России источники и приемники данных. Например, оно работает с JDBC-источниками и брокером сообщений Apache Kafka, а в качестве приемников могут выступать файловые хранилища (HDFS, S3, FTP), JDBC, таблица Hive.

Работа в OneData происходит следующим образом. Администратор формирует конфигурацию потока перемещения данных, которая сохраняется в БД, и расписание запуска потока. В том же конфигурационном файле можно указать дополнительные настройки: например, количество ресурсов, которое будет запрашивать spark-процесс, преобразования типов полей и т. д. Параллельно происходит формирование DAG-файла и импорт его в Airflow для постановки потока на расписание. По расписанию происходит вызов Spark-процесса, который в соответствии с заданной конфигурацией осуществляет перемещение данных из источника в приемник. Использование Spark обеспечивает высокую скорость перемещения: эффективное распараллеливание, получение и запись данных.

Кроме того, при сохранении в файловую систему фреймворк поддерживает самые разные форматы файлов: orc, parquet, csv, json, deltalake. Чтение из Kafka может сопровождаться валидацией входящих json-сообщений по указанной json-схеме. Сообщения, не прошедшие валидацию фреймворк может бережно сложить в указанный DLQ-топик (Dead Letter Queue topic). Эти опции еще более расширяют функциональность продукта.

К числу преимуществ нового решения относится его оперативное развертывание. Основной Spark-процесс можно запустить даже локально, но для использования всех преимуществ рекомендуется Hadoop-кластер с YARN или Kubernetes-кластер. Конфигурация процессов перемещения данных может храниться в json-файлах или в любой доступной БД PostgreSQL. Оркестрация потоков осуществляется с помощью Airflow, который можно развернуть рядом или использовать уже имеющийся.
OneData прост в настройке, ее может осуществить даже специалист без навыков программиста или DevOps.

В соответствии с «дорожной картой» развития OneData, компания IT_ONE планирует дополнить продукт такими функциями, как маскирование данных, перенос изменений в метаданных, поддержка новых типов источников и приемников, автоматическая проверка консистентности перемещенных данных. Также готовится ряд технологических доработок, которые должны облегчить эксплуатацию фреймворка: это фиксация метрик работы потоков перемещения данных, интеграция с системами мониторинга и т. д.

«Имея богатый опыт внедрения хранилищ и озер данных, в сложившейся на рынке ситуации мы почувствовали необходимость разработки собственного фреймворка перемещения данных. OneData способен радикально сокращать время и трудозатраты в таких задачах, как, например, наполнение Stage/ODS слоев, подключение новых источников данных к хранилищам или наполнение пользовательских песочниц. С каждым спринтом OneData становится всё более быстрым, удобным и совершенным», – комментирует ведущий менеджер проектов IT_ONE Александр Самойлов.

IT_ONE (https://www.it-one.ru) — компания по разработке программного обеспечения для крупных игроков российского бизнеса и созданию собственных технологических решений и инноваций.