Добавьте Change Data Capture (CDC) базы данных Azure SQL в качестве источника в узле Real-Time

В этой статье описывается, как получить события из базы данных SQL Azure в центр Fabric Real-Time для отслеживания изменений данных (CDC).

Коннектор источника данных CDC для базы данных SQL Azure для потоков событий Microsoft Fabric позволяет захватывать снимок текущих данных в базе данных SQL Azure. Затем соединитель отслеживает и записывает любые будущие изменения на уровне строк в эти данные. После записи изменений в потоке событий вы можете обрабатывать эти данные CDC в режиме реального времени и отправлять их в разные места назначения в Fabric для дальнейшей обработки или анализа.

Примечание

С помощью DeltaFlow (предварительная версия) можно преобразовать необработанные события Debezium CDC в потоки, готовые к аналитике, которые отражают структуру исходной таблицы. DeltaFlow автоматизирует регистрацию схемы, управление таблицами назначения и обработку эволюции схемы. Чтобы использовать DeltaFlow, выберите события, готовые к аналитике, и автоматически обновленную схему на этапе обработки схемы.

Prerequisites

  • Доступ к рабочей области в режиме лицензии емкости Fabric или в режиме тестовой лицензии с правами участника или более высокого уровня.
  • Запущенный сервер SQL Azure с базой данных SQL Azure.
  • База данных SQL Azure должна быть общедоступной, а не за брандмауэром или защищенной в виртуальной сети. Если он находится в защищенной сети, подключитесь к нему с помощью инъекции виртуальной сети соединителя Eventstream.
  • Включите CDC в своей базе данных Azure SQL, выполнив хранимую процедуру sys.sp_cdc_enable_db. Дополнительные сведения см. в разделе "Включение и отключение записи измененных данных".

Примечание

Не включите зеркальное отображение в базе данных SQL Azure.

Включить CDC в вашей базе данных SQL Azure

  1. Перейдите к портал Azure, откройте базу данных SQL Azure и выберите редактор запросов. Выберите метод проверки подлинности для входа.

    Снимок экрана: открытие базы данных SQL Azure.

  2. Выполните следующие команды SQL, чтобы включить CDC в базе данных:

    -- Enable Database for CDC
    EXEC sys.sp_cdc_enable_db;
    
    -- Enable CDC for a table using a gating role option
    EXEC sys.sp_cdc_enable_table
        @source_schema = N'dbo',
        @source_name   = N'MyTable',
        @role_name     = NULL
    GO
    

Страница источников данных

  1. Войдите в Microsoft Fabric.

  2. Если вы видите Power BI в нижней левой части страницы, переключитесь на рабочую нагрузку Fabric, выбрав Power BI, а затем выбрав Fabric.

    снимок экрана, показывающий, как перейти к рабочей нагрузке Fabric.

  3. Выберите режим реального времени на левой панели навигации.

    снимок экрана, показывающий, как запустить подключение к источнику данных.

  4. Страница потоковых данных открывается по умолчанию. Нажмите кнопку "Добавить данные ", чтобы перейти на страницу источников данных .

    Снимок экрана: страница источников данных в центре Real-Time.

    Вы также можете перейти на страницу источников данных непосредственно, выбрав параметр "Добавить данные " на панели навигации слева.

    Снимок экрана: кнопка

  1. На странице источников данных выберите категорию источников Майкрософт в верхней части и щелкните "Подключиться" на плитке Базы данных SQL Azure (CDC).

    Снимок экрана: выбор базы данных SQL Azure (CDC) в качестве исходного типа на странице источников данных.

    Используйте инструкции из раздела "Подключение к источнику базы данных CDC SQL Azure ".

Подключение к источнику CDC базы данных SQL Azure

Загрузка данных об изменениях из баз данных SQL Azure с автоматической регистрацией схемы таблицы через CDC в Eventstream.

Примечание

DeltaFlow (предварительная версия): при выборе событий, готовых к аналитике, и автоматического обновления схемы на этапе обработки схемы, DeltaFlow преобразует необработанные события Debezium CDC в потоки, готовые к аналитике, которые отражают структуру исходной таблицы. DeltaFlow также автоматизирует создание целевой таблицы и обработку эволюции схемы.

  1. На странице "Подключение" выберите "Создать подключение".

    Скриншот, показывающий страницу

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

    • Сервер: Введите имя сервера SQL Azure из портала Azure. Это в следующей форме: mysqlservername.database.windows.net

    • База данных: Введите имя базы данных SQL Azure из портала Azure.

      Снимок экрана: раздел

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

    • В поле "Имя подключения" введите имя подключения.

    • Для типа проверки подлинности выберите "Базовый".

      Примечание

      В настоящее время Fabric Eventstream поддерживает только обычную проверку подлинности.

    • Введите имя пользователя и пароль для базы данных.

  4. Нажмите Подключиться.

    Снимок экрана: раздел учетных данных подключения на странице

  5. Теперь на странице "Подключение" выберите "Все таблицы" или "Введите имена таблиц". Если выберете последний вариант, укажите таблицы, используя список полных идентификаторов таблиц, разделённых запятыми (schemaName.tableName), или допустимые регулярные выражения. Рассмотрим пример.

    • Используйте dbo.test.*, чтобы выбрать все таблицы, имена которых начинаются с dbo.test.
    • Используйте dbo\.(test1|test2) для выбора dbo.test1 и dbo.test2.

    Вы можете смешивать оба формата с помощью запятых. Общее ограничение символов для всей записи составляет 102 400 символов.

  6. Вы можете развернуть Расширенные параметры, чтобы получить доступ к дополнительным параметрам конфигурации для источника CDC в базе данных Azure SQL.

    • Режим обработки десятичных значений: Определяет, как соединитель обрабатывает значения столбцов, указанные в DECIMAL и NUMERIC.
      • Precise: представляет значения, использующие точные десятичные типы (например, Java BigDecimal), чтобы обеспечить полную точность и точность представления данных.
      • Double: преобразует значения в числа с плавающей запятой двойной точности. Этот параметр повышает удобство использования и производительность, но может привести к потере точности.
      • String: кодирует значения в виде форматированных строк. Этот параметр упрощает использование в подчиненных системах, но теряет семантические сведения о исходном числовом типе.
    • Режим моментального снимка: укажите условия для выполнения моментального снимка при запуске соединителя:
      • Initial: соединитель запускает моментальный снимок только при отсутствии смещения для имени логического сервера или если он обнаруживает, что предыдущий моментальный снимок не выполнен. После завершения моментального снимка соединитель начинает потоковую передачу записей событий для последующих изменений базы данных.
      • InitialOnly: соединитель запускает моментальный снимок только в том случае, если для имени логического сервера ещё не записаны смещения. После завершения моментального снимка соединитель останавливается. Он не переходит на потоковую передачу для чтения событий изменения из binlog.
      • NoData: соединитель запускает снапшот, который сохраняет только схему, но не данные таблицы. Установите этот параметр, если вам не нужен согласованный моментальный снимок данных, но необходимо только изменения, происходящие с момента запуска соединителя.
    • Список исключений столбцов: указывает столбцы, которые следует исключить из значений событий изменений, используя полные имена (schemaName.tableName.columnName).
    • Приложение базы данных: определяет поведение маршрутизации в группах доступности Always On SQL Server:
      • ReadWrite: подключается к первичной реплике. Используйте этот параметр, если подключение должно выполнять операции чтения и записи.
      • ReadOnly: позволяет маршрутизацию на доступную для чтения вторичную реплику для операций чтения. Используйте его для включения CDC непосредственно на репликах. Для настройки параметра snapshot.isolation.mode необходимо установить значение snapshot, так как это единственный режим изоляции транзакций, поддерживаемый для реплик только для чтения.
    • Переопределение инструкции выбора моментального снимка: используйте свойство, если требуется, чтобы моментальный снимок включал только подмножество строк в таблицу. Это свойство влияет только на моментальные снимки. Он не применяется к событиям, которые соединитель считывает из журнала.

Сведения о потоке или источнике

  1. На странице "Подключение" выполните одно из этих действий на основе того, используете ли вы поток событий или концентратор Real-Time.

    • Eventstream:

      В области сведений о источнике справа выполните следующие действия:

      1. Чтобы изменить имя источника, нажмите кнопку Карандаш.

      2. Обратите внимание, что имя потока событий и имя Stream доступны только для чтения.

    • центрReal-Time:

      В разделе сведений о потоке справа выполните следующие действия.

      1. Выберите рабочую область Fabric , в которой необходимо создать поток событий.

      2. Для имени eventstream нажмите кнопку «Карандаш» и введите название для eventstream.

      3. Значение имени потока автоматически создается шляхом добавления -stream к имени eventstream. Этот поток отображается на странице "Все потоки данных " концентратора в режиме реального времени, когда мастер завершит работу.

  2. Нажмите кнопку "Далее" в нижней части страницы "Настройка ".

Проверка и подключение

На экране "Обзор и подключение" просмотрите сводку и выберите "Добавить (Eventstream) или "Connect (Real-Time hub).

Страница обработки схемы

  1. На странице обработки схемы выберите один из следующих параметров:

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

    Примечание

    На следующем скриншоте показан CDC для Azure SQL Database. Параметры обработки схем одинаковы для всех поддерживаемых соединителей источника CDC.

    Снимок экрана: шаг обработки схемы с параметрами событий DeltaFlow и Raw CDC для соединителя источника CDC.

  2. Включите ассоциацию схемы событий.

  3. Для рабочей области выберите рабочую область Fabric для набора схем.

  4. Для набора схем по умолчанию выбран параметр +Create , который создает новый набор схем. Его можно изменить, чтобы выбрать существующий набор схем событий.

  5. Если вы выбрали параметр +Создать на предыдущем шаге, введите имя набора схем.

  6. На странице «Проверка и подключение» выберите «Добавить» (Eventstream) или «Подключить» (Real-Time hub).

    Снимок экрана: страница проверки и подключения для источника CDC базы данных SQL Azure.

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

  7. Выберите узел потока событий в середине и перейдите на вкладку "Связанные схемы " в нижней области.

    Снимок экрана: окно связанной схемы в нижней области.

Набор схем

  1. Перейдите к рабочей области, выбранной на предыдущем шаге. В следующем примере это моя рабочая область.

  2. Выберите набор схем, созданный соединителем Базы данных SQL Azure (CDC).

    Снимок экрана: созданный набор схем на странице

  3. Схемы отображаются в наборе схем, как показано на следующем рисунке.

    Снимок экрана: схемы в созданном наборе схем.

  4. Чтобы просмотреть версию схемы JSON, перейдите в представление схемы JSON .

    Снимок экрана: представление схемы JSON.

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

DeltaFlow: готовое для аналитики преобразование событий (предварительная версия)

При включении событий, готовых для аналитики, и автообновляемой схемы (DeltaFlow) коннектор предоставляет следующие возможности:

  • Фигура события, готовая к аналитике: Сырые события Debezium CDC преобразуются в табличный формат, который отражает структуру исходной таблицы. События обогащены столбцами метаданных, включая тип изменения (insertилиupdatedelete) и метку времени события.

  • Автоматическое управление таблицами назначения: при маршрутизации потоков с поддержкой DeltaFlow в поддерживаемое назначение, например в хранилище событий, целевые таблицы автоматически создаются для сопоставления схемы исходной таблицы. Вам не нужно вручную создавать или настраивать целевые таблицы.

  • Обработка эволюции схемы. При изменении исходных таблиц баз данных (например, добавляются новые столбцы или создаются таблицы), DeltaFlow автоматически обнаруживает изменения, обновляет зарегистрированные схемы и корректирует целевые таблицы соответствующим образом. Этот параметр сводит к минимуму вмешательство вручную, вызванное изменениями схемы.

    Снимок экрана: таблицы назначения Eventhouse в форме, готовой к аналитике, созданной DeltaFlow.

Примечание

DeltaFlow (предварительная версия) в настоящее время поддерживается с помощью CDC базы данных SQL Azure, CDC управляемого экземпляра SQL Azure, SQL Server на виртуальных машинах CDC и соединителей источника CDC PostgreSQL.

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

Просмотр сведений о потоке данных

  1. На странице "Проверка и подключение", если вы выберете "Открыть поток событий", мастер откроет поток событий, который был создан для вас с использованием выбранного источника CDC базы данных Azure SQL. Чтобы закрыть мастер, нажмите кнопку Готово в нижней части страницы.

    Снимок экрана: страница проверки и подключения после успешного создания источника.

  2. Поток должен отображаться в разделе "Последние потоковые данные" на главной странице центраReal-Time. Подробные инструкции см. в разделе «Просмотр сведений о потоках данных в Fabric Real-Time Hub».

Дополнительные сведения об использовании потоков данных см. в следующих статьях: