Архитектура автоматической трансформации данных JSON и XML любой структуры унифицированным способом
ABIDB 15 минут назад Архитектура автоматической трансформации данных JSON и XML любой структуры унифицированным способом Средний 7 мин 535 Data Engineering * Алгоритмы * Открытые данные * Программирование * Хранение...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. ABIDB 15 минут назад Архитектура автоматической трансформации данных JSON и XML любой структуры унифицированным способом Средний 7 мин 535 Data Engineering * Алгоритмы * Открытые данные * Программирование * Хранение данных * Введение. В современном IT ландшафте широко используются форматы представления данных JSON и XML, используемые в качестве своеобразного "общего языка", lingua franca для обмене информацией. (XML, конечно, сильно уступил натиску JSON, но еще кое-где держится).
Данная статья представит архитектуру интеграции данных иерархических форматов, позволяющую кардинально уменьшить трудоемкость процесса до практически полностью универсального пайплайна, обрабатывающего любые виды исходных документов вплоть до автоматического маппинга в табличные структуры данных. Какие проблемы будем решатьВ случае, когда формат используется в качестве основы для удаленного вызова процедур через API, особой проблемы не возникает, все-таки при вызове функции логично представлять параметры вызова и ожидаемый ответ. Однако многие сценарии, предполагающие интеграцию большого количества данных из внешних источников для целей аналитики, могут повлечь довольно ощутимые трудозатраты на разработку и поддержку процесса трансформации данных.
Технические детали
Вот некоторые примеры:интеграция данных из многих REST API источников или файловданные из NoSQL баз данных или хранящиеся в реляционных БД в виде JSON/XML документовданные из систем обмена сообщениями, например ESB Как правило, задача интеграции сводится к парсингу исходного формата и маппингу/трансформации его содержимого на некую табличную структуру. Проблемы возникают из-за неясности полезного подмножества данных, большого количества схем документов, эволюции схем документов - все это требует трудоемкой настройки процесса. При решении вопроса какая часть информации нам действительно нужна, приходится выбирать между тем, чтобы делать полный маппинг всего содержимого с увеличением трудозатрат и "выковыриваем" нужного подмножества данных с риском пропустить нужное и возвращаться к процессу парсинга/маппинга в будущем.
(Конечно, в любом сценарии предпочтительной архитектурой здесь является сохранение архива сырых данные в исходном формате, чтобы было к чему вернуться в случае необходимости). Однако более позднее обнаружение нужных, но не интегрированных первоначально данных, а также изменения структуры (схем) данных все равно потребуют возвращения на шаг назад и переработки процесса - в итоге все упирается в постоянное ручное переписывание маппингов. Из личного опыта мне известно несколько таких случаев, когда на поддержке интеграции работали выделенные разработчики, и длилось это месяцы и годы.
Архитектура решения - 1. JSON и XML реализуют структуру данных "дерево". Предлагается унифицировать парсинг древовидных данных, загружая их в унифицированную табличную структуру данных, полностью сохраняющую все взаимосвязи исходного дерева.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





