Source Catalog Agent: Робочий процес і артефакти
Source Catalog Agent слугує базовим цифровим бібліотекарем даних для екосистеми Datapunkt. Він підключається до ваших різноманітних баз даних, файлів, API та потоків подій для виявлення схем, профілювання розподілів та генерації машиночитаних артефактів. Автоматизуючи збір та організацію метаданих, цей агент усуває ручні накладні витрати на оновлення каталогів даних і підтримує живий, централізований джерельний центр правди.

Підтримувані формати та протоколи
Щоб забезпечити безперебійну сумісність із сучасними корпоративними архітектурами даних, Source Catalog Agent надає підтримку "з коробки" для широкого спектра протоколів з'єднання з базами даних, файлових структур, систем обміну повідомленнями та специфікацій метаданих:
- JDBC / ODBC: Встановлює безпечні, стандартні з'єднання з реляційними базами даних (PostgreSQL, MySQL, Microsoft SQL Server, Oracle) та корпоративними сховищами даних (Snowflake, BigQuery, Redshift).
- APACHE KAFKA: Підключається до кластерів брокерів для перевірки активних топіків, структур партицій та форматів корисного навантаження (payload).
- AMQP (Advanced Message Queuing Protocol): Інтегрується з брокерами повідомлень, такими як RabbitMQ та ActiveMQ, для перевірки черг, обмінників (exchanges) та payloads.
- REST API: Запитує власні кінцеві точки (endpoints), додатки-реєстри та кінцеві точки розробників для отримання динамічних структур даних та технічних специфікацій.
- JSON / AVRO: Декодує напівструктуровані логи додатків, записи документів та формати payloads, розбираючи складні вкладені масиви та записи "ключ-значення".
- PARQUET: Перевіряє колоночні бінарні файли в хмарних сховищах об'єктів (AWS S3, Google Cloud Storage, Azure Blob Storage) для вилучення деталей схем та метаданих.
- OPEN LINEAGE: Запитує події лінії походження та метадані часу виконання з рушіїв обробки (Apache Spark, Airflow) для відстеження операційного контексту.
Покроковий робочий процес виявлення та профілювання
Source Catalog Agent виконує структурований робочий процес, що повторюється, для безперервного захоплення, аналізу та документування ваших технічних активів. Цей процес працює автономно на основі розкладів cron або вебхуків, підтримуючи узгодженість ваших схем із фізичними структурами даних.
Крок 1: Ініціалізація з'єднання та сесії
Спочатку агент ініціалізує безпечну сесію лише для читання з цільовим джерелом, використовуючи налаштовані облікові дані:
- Для баз даних він створює пул, використовуючи драйвери JDBC або ODBC.
- Для брокерів потокового мовлення він підключається до серверів Apache Kafka bootstrap або черг AMQP.
- Для сховищ об'єктів він аутентифікується за допомогою хмарних сервісних акаунтів для сканування папок з файлами Parquet, Avro або JSON.
- Для API він ініціює запити REST, використовуючи токени OAuth або ключі API.
Крок 2: Виявлення схеми та перевірка системи
Після аутентифікації агент сканує структурний каталог джерела без читання фактичних бізнес-записів на рівні рядків:
- У реляційних середовищах він запитує системні таблиці (такі як
information_schema.columnsабоpg_catalog) для вилучення назв таблиць, макетів стовпців, первинних ключів та конфігурацій індексів. - Для черг повідомлень (Kafka / AMQP) він запитує Schema Registry або зчитує останні заголовки повідомлень для вилучення структури payload.
- Для файлів (Parquet / Avro / JSON) він зчитує заголовки файлів та блоки схем для вилучення вкладених макетів.
- Для даних лінії походження він перехоплює події Open Lineage для мапінгу адресації цільових наборів даних.
Крок 3: Профілювання даних поза основним потоком
Щоб зрозуміти якість, свіжість та форму даних, агент виконує легке профілювання метаданих:
- Він аналізує розподіл значень для визначення відсотка порожніх значень (null), метрик унікальних обмежень та мінімальних/максимальних меж.
- Він розраховує математичні стандартні відхилення для виявлення аномалій (outliers).
- Він моніторить часові мітки, щоб виявити, коли таблиці або партиції записувалися востаннє, оцінюючи свіжість даних.
- Це виконання відбувається всередині вашого безпечного середовища з використанням мінімальних ресурсів для запобігання зниженню продуктивності продакшен-систем.
Крок 4: Семантичний мапінг зв'язків
Агент запускає механізм логічного висновку поверх зібраних метаданих:
- Він зіставляє шаблони ключів (наприклад, порівнюючи
user_idу різних системах) для автоматичного мапінгу зв'язків зовнішніх ключів. - Він групує таблиці та топіки в логічні доменні межі.
- Він фіксує будь-які структурні зміни (наприклад, додані стовпці або змінені типи) для ведення логу відхилень схем (schema drift).
Крок 5: Генерація та публікація артефактів
Нарешті, агент компілює свої висновки у стандартизовані машиночитані артефакти розробника:
- Основні схеми (Master Schemas): Чисті файли JSON або YAML з деталізацією точного типу, опису та мапінгу джерела кожної колонки.
- Звіти профілювання: Комплексні підсумки стану даних з відстеженням рівня порожніх значень та структурної дійсності.
- Каталоги даних: Записи глосарію, готові до інтеграції в суміжні платформи.
Переваги: Чому це ефективно?
- Усуває ручне каталогізування: Традиційна документація словника даних стає застарілою в день її написання. Source Catalog Agent автоматизує цю документацію, виконуючи оновлення схем у режимі реального часу.
- Прискорює інженерні робочі процеси: Розробники та аналітики більше не витрачають години на пошук розташування даних або з'ясування значення стовпчика. Основні схеми працюють як чіткі API розробника.
- Запобігає збоям у продакшені: Профілюючи структуру та формати (наприклад, схеми Parquet або Avro), агент виявляє зміни схем до того, як вони зламають суміжні ETL, ELT або BI-конвеєри.
- Незалежна від джерел інтеграція: Об'єднує сучасні архітектури на основі потоків (Kafka, AMQP) та застарілі реляційні системи (JDBC/ODBC) під єдиною системою управління.
