Основные понятия

Apache Kafka

Распределенное хранилище данных, оптимизированное для приема и обработки потоковых данных в режиме реального времени. Позволяет обмениваться сообщениями, обрабатывать потоки, а также хранить и анализировать как данные за прошедшие периоды, так и те, что поступают в реальном времени.

CDC (change data capture)

Процесс отслеживания изменений в базе данных (INSERT/ UPDATE/ DELETE) и поставка этих изменений в Tantor DLH в режиме реального времени.

Endpoint (конечная точка)

Точка входа в SQL Server, или метод подключения к его экземпляру. Представляет собой объект базы данных, определяющий способы и средства сетевой коммуникации SQL Server.

Kafka-Connect

Фреймворк Apache Kafka, позволяющий:

  1. Подключать внешние источники данных и публиковать поступающие данные в топики Kafka.

  2. Забирать данные из топиков Kafka и записывать их во внешние системы в режиме потоков.

Replica Identity

Настройка, определяющая, какие данные будут использоваться для идентификации строк в таблице при импорте данных из источника. Она служит указателем, позволяющим найти нужную строку для ее обновления или удаления в реплицируемой таблице.

Schema Registry

Централизованное хранилище для управления схемами данных. Обеспечивает согласованность и контроль над форматами данных, которые используются в сообщениях.

Sink-коннектор

Компонент интеграции, который отправляет извлеченные из источников данные в сырой слой.

Source-коннектор

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

Tantor Deductive Lake House (Tantor DLH)

Платформа для управления процессами трансформации и загрузки данных (ETL/ELT) в корпоративное хранилище.

Атрибут/Колонка

Характеристика или свойство, описывающее объект или сущность в данных. В таблице базы данных атрибуты представляют собой столбцы, и каждый атрибут содержит конкретную информацию о записи (строке). Например, в таблице «Сотрудники» атрибутами могут быть «Имя», «Фамилия», «Возраст», «Должность».

Группа сущностей

Сущности, которые пишутся в один topic Kafka. Cвязывает источники, сущности и source-коннектор. Группу сущностей определяет конфигурация source-коннектора и создается в момент его настройки.

Грязное чтение (англ. dirty reads)

Возникает, когда считываются данные, которые в этот момент изменяются транзакцией, а потом транзакция откатывается и данные исчезают.

Пример:

  1. Транзакция A изменяет price = 200, но не выполняет COMMIT.

  2. Транзакция B читает price = 200.

  3. Транзакция A откатывается → значение price возвращается к старому значению.

  4. Транзакция B работала с несуществующим значением.

Данные (источника)

Информация, представленная в определенном виде, позволяющем автоматизировать ее сбор, хранение и дальнейшую обработку человеком или информационным средством. Например, строки из таблиц БД.

Интеграция

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

Источник данных (storage)

Место, откуда поступает информация для анализа и обработки. Источниками данных могут быть базы данных, файлы (например, CSV, Excel).

Каталог данных (data catalogue)

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

Коннектор

Компонент интеграции, предназначенный для: установления связи с источником определенного типа, извлечения данных из этого источника (source-коннектор), передачи данных источника в сырой слой (sink-коннектор). Коннектор обеспечивает: преобразование данных в требуемый формат, совместимость с особенностями источника.

Материализованная сущность

Для сущности в системе должны быть определены наименование, атрибуты и их типы. Опционально, связи с другими сущностями.

Модель, Мета-модель

В данном случае, описание сущностей источника данных, включая их наименования, атрибуты, их типы и связи. Пример: схема базы данных.

Модуль

Отдельный компонент или блок в системе, выполняющий определенную функцию в процессе работы с данными.

Неповторяющееся чтение (англ. non-repeatable read)

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

Отличие от фантомного чтения: Касается изменений в уже прочитанных строках (не новых).

Пример:

  1. Транзакция A выполняет «SELECT quantity FROM products WHERE id = 1» → 50.

  2. Транзакция B изменяет «UPDATE products SET quantity = 30 WHERE id = 1» и выполняет COMMIT.

  3. Транзакция A повторяет запрос → 30.

Основной источник

Источник данных, на основе которого настраивается интеграция. Он определяет структуру модели данных, связь со схемой сырого слоя данных, задает настройки интеграции и импорта данных, которые распространяются на все добавленные источники.

Партиционирование

Процесс разделения таблицы базы данных на партиции для оптимизации хранения и обработки данных.

Партиция

Отдельный логический раздел таблицы базы данных, который хранит часть её данных на основе определённого критерия (например, диапазона дат, значений). Партиции работают как независимые подтаблицы, но вместе они составляют единую таблицу.

Признак примененности таблицы в коннекторе

Текущее состояние таблицы в рамках работы коннектора, определяющее её участие в процессе интеграции данных. Отражает, будет ли таблица обрабатываться при следующем запуске коннектора, или её планируется исключить из обработки.

Статус таблицы

Значение статуса

-

Таблица добавлена в коннектор.

К добавлению

Таблица будет добавлена в коннектор после

перезапуска SOURCE-коннектора.

К удалению

Таблица будет удалена из коннектора после

перезапуска SOURCE-коннектора.

Процесс

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

Публикация

Набор изменений, выделяемых в таблице или в группе таблиц (он также может называться набором репликации).

Реплицируемая таблица

Таблица источника, изменения в которой отслеживаются и передаются в Tantor DLH.

Сервер (host)

Физический / логический хост, на котором развернут источник данных.

Слагификация

Процесс преобразования произвольной строки (например, названия таблицы, колонки) в машинно-пригодный формат.

Слой данных (data layer)

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

Статус коннектора

Текущее состояние коннектора в системе, отражающее его активность, исправность и этап жизненного цикла. Определяется на основе взаимодействия с Kafka Connect и результатов выполнения задач.

Статус коннектора

Значение статуса

Черновик

Коннектор создан, но не запущен в интеграции.

Запрошен запуск

Запрошен запуск коннектора.

Статус указывает на непосредственную попытку

запуска коннектора.

Ожидает запуска

Коннектор готов к запуску, ожидает выполнения

условий для старта.

Ошибка запуска

Произошла ошибка при попытке запуска

коннектора.

Запущен, ошибок нет

Коннектор и все его задачи успешно запущены и

работают без ошибок.

Запущен, ошибки на

части задач

Коннектор запущен, часть задач завершилась

с ошибками.

Запущен, ошибки на

всех задачах

Коннектор запущен, все задачи завершились

с ошибками.

Ожидает принудительной

остановки

Запрошена принудительная остановка коннектора.

Остановлен

Коннектор успешно остановлен.

Ошибка остановки

Произошла ошибка при попытке остановки

коннектора.

Отсутствует на

кластере

Коннектор не обнаружен в Kafka Connect.

Сущность (entity)

Объект, который содержит данные, возвращает их и определен в источнике. В контексте базы данных сущность часто представляется в виде таблицы, где строки являются экземплярами сущности, а столбцы — атрибутами. Например, сущностью может быть «Клиент», «Продукт» или «Сотрудник».

Сырой слой

Хранилище для данных. Используется для хранения данных из систем-источников, которые загружаются в рамках автоматизированных ETL-процессов. Данные на этом слое хранятся в исходном виде, это позволяет выделять и отслеживать дельту их изменений независимо от того, ведет ли источник логи.

Таблица

Объект источника, хранящий в себе данные в виде строк и столбцов.

Топик Kafka

Логический канал, в который (или из которого) системы публикуют и читают сообщения.

Транзакция

Атомарная последовательность операций с данными, которая либо выполняется полностью, либо не выполняется вовсе.

  • Все изменения внутри транзакции фиксируются только после COMMIT

  • При ошибке или откате (ROLLBACK) все промежуточные изменения аннулируются

Трансформация

Процесс изменения данных для их подготовки к анализу. Трансформация включает различные операции, такие как объединение (слияние) данных из разных источников, фильтрация (выборка) данных по определенным критериям, агрегация (суммирование, средние значения) и преобразование форматов данных. Цель трансформации — приведение данных к удобному и пригодному для анализа виду.

Фантомное чтение (англ. phantom reads)

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

Пример:

  1. Транзакция A выполняет «SELECT * FROM orders WHERE total > 1000» → 10 строк.

  2. Транзакция B добавляет новый заказ с total = 1500 и выполняет COMMIT.

  3. Транзакция A повторяет запрос → 11 строк.

Хранимая процедура

Набор команд, написанных на языке SQL и сохранённых на сервере базы данных, предназначенный для выполнения по запросу пользователя.

Данная структура создаётся однократно и сохраняется на сервере, что обеспечивает возможность её многократного вызова. Это позволяет осуществлять повторное использование программного кода, оптимизировать ресурсы и повысить производительность базы данных.

Шаблон

Заранее выбранная конфигурация настроек интеграции для определенного типа источника (выбор таблиц, атрибутов, настроек на стороне источника, настроек сырого слоя).