Я не так давно писал про ETL выделенную из Datacrafter'а для данных в NoSQL форматах JSONlines и BSON [1]. Это кусок кода отделенный в рамках "техдолга", то что надо было сделать давно и только недавно до этого дошли руки.

Но есть задача для которой точно нет подходящего простого ETL/ELT/data pipeline engine - это как раз цифровая архивация для создания тематических коллекций архивируемых сайтов, аккаунтов в соцсетях и тд.

Задачи по цифровой / веб архивации можно разделить на несколько видов, но в части сбора данных, основных всего два.

Массовый сбор и сфокусированные коллекции.

Массовый сбор - это когда роботы вроде краулеров Archive.org обходят условно неограниченное число цифровых ресурсов и делают слепки и актуализируют ранее собранные материалы.

Сфокусированные коллекции - это когда собирается не всё а по перечню: сайтов, разделов на сайтах, отдельных файлов, каналов в телеграм, аккаунтов в соцсетях и тд.

Для массового сбора есть своя экосистема инструментов, а вот для сфокуированных коллекций категорически нехватает ETL инструментария. Причём скорее ETL чем ELT потому что много двоичных данных которые можно поместить в озеро данных и сложно хранить в хранилище данных.

Логика та что что у классических ELT продуктов.
Извлечение данных с помощью разных инструментов и стратегий, преобразование для долгосрочного сохранения и загрузка в Internet Archive, какое-то постоянное хранилище и ещё куда-то, по необходимости.

Эта логика дополняется ещё одной стадией D - Discovery. Это когда движок получает на вход набор ссылок и на их основе автоматически определяет стратегию в зависимости от типа ресурса. В итоге получается DELT (Discover Extract Transform Load).

Недостаток такого движка в узкой применимости и в больше значимости этапа Extract, поскольку извлечение и сбор данных наиболее длительны и ресурсоёмки.

В принципе развитие дата инженерии давно уже достигло той стадии когда нужны специализированные решения. В основном они сейчас строятся на готовых продуктах, но иногда функций готовых продуктов недостаточно.

#digitalpreservation #etl #dataengineering