Published on

October 30, 2018

Понимание Change Feed в SQL Server

В этой статье мы рассмотрим концепцию Change Feed в SQL Server и то, как его можно использовать для отслеживания и распространения изменений в базе данных. Change Feed – это функция, которая предоставляет отсортированный список документов в коллекции SQL Server в порядке их изменения. Этот поток можно использовать для отслеживания изменений данных в коллекции и выполнения действий.

Важно отметить, что уведомления о модификации в Change Feed агрегируются, что означает, что уведомление фактически является последней версией документа. Оно не явно отображает операции CRUD, такие как вставка или обновление. Например, если документ изменяется несколько раз между чтениями change feed, вы увидите только конечное состояние документа, а не промежуточные изменения состояния.

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

Для реализации процессора change feed доступны различные варианты. Один из вариантов – написать свой собственный код, что обеспечивает наибольшую гибкость, но является наиболее сложным вариантом. Другой вариант – использовать Change Feed Library, который относительно прост в реализации и предлагает определенную гибкость. Кроме того, Microsoft представила Azure Functions для обработки change feed, позволяющие создавать бессерверный код.

При реализации обработки change feed важно учитывать архитектуру и стратегию репликации вашего SQL Server. Change Feed может использоваться с топологией из одного региона, но обычно он используется в средах с вторичными геореплицированными регионами для обеспечения высокой доступности и восстановления после сбоев.

Обработка change feed следует пошаговому процессу. Сначала клиентское приложение записывает документ в основной регион записи. Затем документ реплицируется во вторичный географический регион. Процессор change feed считывает change feed, и документ возвращается вместе с логическим номером последовательности (LSN). Затем документ сохраняется в надежном хранилище с использованием идемпотентной операции. LSN обновляется в документе аренды, который служит закладкой для change feed.

Change Feed имеет сходства с другими функциями базы данных, такими как отслеживание изменений в SQL Server. Обе функции позволяют отслеживать и распространять изменения в базе данных. Хотя они не являются полностью идентичными, они могут использоваться для решения схожих проблем. Важно отметить, что Change Feed в настоящее время не поддерживает операции удаления.

В заключение, Change Feed в SQL Server – это мощная функция, которая позволяет отслеживать и распространять изменения в базе данных. Он может использоваться для различных целей, включая миграцию данных, реально-временную аналитику и событийно-ориентированные архитектуры. Понимая концепции и варианты реализации Change Feed, вы можете использовать эту функцию для улучшения ваших приложений SQL Server.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.