Изменение записи данных (CDC) в задании копирования (предварительная версия)

В этой статье описывается возможность отслеживания измененных данных (CDC) в задании копирования и как его использовать.

Что такое запись измененных данных (CDC) в задании копирования

Запись измененных данных (CDC) в задании копирования — это мощная возможность в Фабрике данных Fabric, которая обеспечивает эффективную и автоматическую репликацию измененных данных, включая вставку, обновление и удаление записей из источника в место назначения. Это гарантирует актуальность конечных данных без ручной работы, повышая эффективность интеграции данных, уменьшая нагрузку на исходную систему.

Основные преимущества CDC в задании копирования

  • Ноль ручного вмешательства: автоматически фиксирует добавочные изменения (вставки, обновления, удаления) непосредственно из источника.
  • Автоматическая репликация: обеспечивает непрерывную синхронизацию данных назначения с изменениями источника.
  • Оптимизированная производительность: обрабатывает только измененные данные, сокращая время обработки и минимизируя нагрузку на источник.
  • Интеллектуальная добавочная копия: автоматически обнаруживает исходные таблицы с поддержкой CDC и позволяет выбрать добавочную копию на основе CDC или подложки для каждой таблицы.

Методы чтения: на основе CDC и водяного знака для инкрементного копирования

  • Добавочная копия на основе CDC: если в исходной базе данных включена функция CDC, задание копирования автоматически записывает и реплицирует вставки, обновления и удаления в место назначения, применяя точные изменения.
  • Инкрементальная копия с использованием водяного знака: если CDC не активирован в вашей исходной базе данных, задание копирования определяет изменения путем сравнения инкрементального столбца (например, метки времени или идентификатора) с последним запуском, а затем добавляет или объединяет измененные данные в пункт назначения в соответствии с конфигурацией.

Методы записи: SCD Type 1 (Merge) и SCD Type 2

При использовании CDC в задании копирования важно понимать, как изменения применяются к месту назначения. Метод обновления, который вы выбираете, соответствует шаблонам медленно изменяющихся измерений (SCD), часто используемых в хранилищах данных.

SCD Тип 1 (Объединение)

SCD Type 1, также известный как метод обновления Merge, является вариантом по умолчанию для CDC в задаче копирования. При таком подходе назначение всегда отражает текущее состояние исходных данных:

  • Вставки: новые строки из источника добавляются в место назначения.
  • Обновления: измененные строки в источнике перезаписывают соответствующие строки в назначении.
  • Удаляется: удаленные строки в источнике удаляются из назначения.

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

SCD Type 2 (историческое отслеживание)

SCD Type 2 сохраняет исторические данные, создавая новые строки для изменений при сохранении предыдущих версий записей. При обнаружении исходной записи, обновлённой с момента последнего запуска, срок действия существующей текущей записи в назначении завершён посредством установки Valid_To и изменения Is_Current на false. Затем новая запись вставляется с обновленными значениями атрибутов, новым Valid_Fromи Is_Current = true. При удалении записи в источнике текущая версия мягко удаляется, то есть она не удаляется физически, но ее Valid_To дата устанавливается, и Is_Current помечается как false. Этот подход сохраняет полный жизненный цикл каждой записи при записи в место назначения, включая записи, которые больше не существуют в источнике.

Задание CDC в задании копирования обеспечивает встроенную поддержку SCD Type 2 в качестве метода записи. Чтобы включить SCD Type 2, выберите его в качестве метода записи при настройке задания копирования — не требуется пользовательский код или дополнительная логика. Отслеживание изменений и обработка мягкого удаления включены вместе и последовательно применяются ко всем выбранным таблицам.

SCD Type 2 в задании копирования добавляет в целевой объект следующие столбцы:

  • Valid_From: метка времени, когда версия записи вступила в силу.
  • Valid_To: Временная отметка, когда версия записи была заменена или удалена. Активные записи используют значение NULL.
  • Is_Current: флаг, указывающий, является ли запись текущей активной версией.

Например, если клиент перемещается из Калифорнии в Нью-йорк, обе версии сохраняются:

Ключ клиента Идентификатор клиента Имя Государство Действует с Действительно до Является_Текущим
1001 C-123 Company CA 2023-01-15 2026-02-20 Нет
1002 C-123 Company НЬЮ-ЙОРК 2026-02-20 Отсутствует Да

Выбор между SCD Type 1 и SCD Type 2

Функция SCD Тип 1 (Объединение) SCD Type 2 (предварительная версия)
Поддерживается в задании копирования CDC Да Да
Исторические данные Не сохранено Сохранено с версиями строк данных
Конечное состояние Всегда отражает текущий источник Содержит все версии записей по сравнению с последним запуском
Удаляет Строки физически удаляются Обратимое удаление — строки помечены как неактивные
Сценарий использования Операционная отчетность, синхронизация в режиме реального времени Исторический анализ, следы аудита, соответствие требованиям
Усилия по реализации Встроенная конфигурация без дополнительной конфигурации Встроенный, выберите SCD Type 2 в качестве метода записи

Поддерживаемые соединители

В настоящее время CDC в задаче копирования поддерживает следующие источники и целевые хранилища данных:

Connector Исходный материал Место назначения Прочитать — CDC Запись — слияние Запись — SCD Type 2
база данных Azure SQL
Azure SQL Managed Instance
Таблица Fabric Lakehouse
Google BigQuery (сервис анализа данных)
Локальный SQL Server
Экспорт данных SAP Datasphere для ADLS Gen2
Исходящий трафик SAP Datasphere для AWS S3
Исходящий трафик SAP Datasphere для Google CloudStorage
Snowflake
Oracle
База данных SQL в Fabric (предварительная версия)
Хранилище данных Fabric

Note

ScD Type 2 в задании копирования в настоящее время находится в предварительной версии. При репликации CDC из источников Snowflake или Oracle SCD Type 2 еще не поддерживается. Если в вашей целевой базе данных уже существует схема, созданная вами, то поддержка SCD2 невозможна.

Для системы SAP Datasphere Outbound, перейдите к разделу «Фиксация изменений данных из SAP через SAP Datasphere Outbound в процессе копирования», чтобы получить подробную информацию.

Как начать

Чтобы приступить к работе с CDC в задании копирования, ознакомьтесь со следующими руководствами по определенным источникам:

Известные ограничения

  • Если в задании копирования выбраны исходные таблицы с поддержкой CDC и не с поддержкой CDC, все таблицы обрабатываются как добавочная копия на основе водяного знака.
  • Фиксация только чистых изменений (полная фиксация изменений будет доступна позже).
  • Пользовательские экземпляры захвата не поддерживаются; поддерживается только экземпляр захвата по умолчанию.
  • Не удается обнаружить, включен ли CDF в таблицах Fabric Lakehouse.