Azure Synapse Link
Azure Synapse Link — это облачная технология, разработанная корпорацией Microsoft, предназначенная для организации непрерывной двунаправленной репликации данных между операционными базами данных (например, Azure Cosmos DB, Azure SQL Database, Microsoft SQL Server) и аналитической платформой Azure Synapse Analytics. Основная цель технологии — обеспечить возможность выполнения аналитических запросов и построения отчётов в реальном времени без необходимости создания сложных конвейеров извлечения, преобразования и загрузки (ETL) и без оказания негативного влияния на производительность операционных систем.
История и развитие
Технология Azure Synapse Link была впервые анонсирована корпорацией Microsoft в мае 2020 года в рамках конференции Microsoft Build. Первоначально она была доступна только для Azure Cosmos DB, что позволяло выполнять аналитику в реальном времени на транзакционных данных, хранящихся в этой базе данных. В последующие годы Microsoft расширила функциональность, добавив поддержку других источников данных.
В 2021 году была представлена поддержка Azure SQL Database и SQL Server 2022, что позволило использовать Synapse Link для репликации данных из реляционных баз данных. В 2022 году Microsoft объявила о поддержке Azure Database for PostgreSQL и Azure Database for MySQL. Развитие технологии было направлено на упрощение архитектуры «озёр данных» (data lake) и снижение задержек при анализе данных.
Архитектура и принцип работы
Azure Synapse Link работает на основе механизма изменяемого потока данных (change feed) или журнала транзакций (transaction log), в зависимости от источника данных. Система автоматически отслеживает изменения (вставки, обновления, удаления) в операционной базе данных и реплицирует их в аналитическое хранилище Azure Synapse Analytics.
Основные компоненты
- Источник данных (Source): Операционная база данных, поддерживающая Synapse Link (например, Azure Cosmos DB, Azure SQL Database, SQL Server 2022 и выше).
- Azure Synapse Link: Сервис, который управляет процессом репликации. Он отвечает за обнаружение изменений, их захват и передачу.
- Целевое хранилище (Destination): Внутреннее аналитическое хранилище Azure Synapse Analytics, которое может быть представлено как:
- Специализированный пул SQL (Dedicated SQL Pool): Реляционное хранилище для структурированных данных.
- Бессерверный пул SQL (Serverless SQL Pool): Система для запросов к данным, хранящимся в формате Parquet в Azure Data Lake Storage Gen2.
- Озеро данных (Data Lake): Данные могут быть сохранены в формате Parquet в Azure Data Lake Storage Gen2 для дальнейшего использования в Apache Spark или других инструментах.
Процесс репликации
- Захват изменений: Synapse Link подключается к источнику данных и считывает поток изменений. Для Azure SQL Database и SQL Server используется технология Change Data Capture (CDC), которая отслеживает изменения в журнале транзакций. Для Azure Cosmos DB используется встроенный Change Feed.
- Преобразование и передача: Изменения преобразуются в формат, оптимизированный для аналитики (обычно Parquet), и передаются в целевую среду.
- Синхронизация: Данные в аналитическом хранилище обновляются с минимальной задержкой (от нескольких секунд до нескольких минут), что позволяет выполнять запросы к актуальным данным.
Ключевые возможности и характеристики
Режим реального времени (Near Real-Time)
Azure Synapse Link обеспечивает практически мгновенную синхронизацию данных. Время задержки между моментом изменения в операционной базе данных и его доступностью в аналитическом хранилище составляет от 10 до 60 секунд, в зависимости от объёма данных и конфигурации.
Отсутствие влияния на производительность операционной системы
Технология не требует создания дополнительных индексов или изменения схемы данных в операционной базе. Репликация осуществляется асинхронно, используя внутренние механизмы базы данных (Change Feed или CDC), что не приводит к блокировкам или замедлению транзакционных операций.
Двунаправленная репликация (в некоторых сценариях)
Хотя основная функция Synapse Link — это репликация из операционной БД в аналитическую, в некоторых конфигурациях (например, с Azure Cosmos DB) возможна обратная запись результатов аналитики обратно в операционную базу данных. Это позволяет, например, обновлять агрегированные показатели в реальном времени.
Поддержка различных источников
Azure Synapse Link поддерживает следующие источники данных:
- Azure Cosmos DB: Аналитика в реальном времени для документных и графовых баз данных.
- Azure SQL Database: Реляционные базы данных в облаке.
- SQL Server 2022 и выше: Локальные или виртуальные экземпляры SQL Server.
- Azure Database for PostgreSQL: Базы данных PostgreSQL.
- Azure Database for MySQL: Базы данных MySQL.
Применение
Azure Synapse Link используется в сценариях, где требуется оперативная аналитика на основе постоянно обновляющихся данных без сложной инфраструктуры ETL.
Примеры использования
- Аналитика в реальном времени для IoT: Данные с датчиков и устройств поступают в Azure Cosmos DB. Synapse Link реплицирует их в Azure Synapse, где они агрегируются и анализируются для выявления аномалий или прогнозирования отказов.
- Операционные отчёты: Компании, использующие Azure SQL Database для учёта заказов, могут строить отчёты о продажах, остатках на складе и клиентской активности с задержкой в несколько секунд, не нагружая транзакционную базу.
- Гибридные сценарии: Организации, имеющие локальные базы данных SQL Server, могут реплицировать их в облачную аналитическую платформу для централизованного анализа без необходимости миграции операционных систем.
- Машинное обучение: Данные, реплицированные через Synapse Link, могут быть использованы для обучения моделей машинного обучения в Azure Machine Learning или Apache Spark, работающих в Azure Synapse.
Преимущества и ограничения
Преимущества
- Упрощение архитектуры: Отказ от сложных конвейеров ETL сокращает время разработки и эксплуатационные расходы.
- Низкая задержка: Возможность получать аналитику на данных, актуальных на момент запроса.
- Безопасность: Репликация происходит внутри облачной платформы Azure, что обеспечивает соответствие стандартам безопасности и конфиденциальности.
- Масштабируемость: Технология автоматически масштабируется в зависимости от объёма изменений в источнике.
Ограничения
- Зависимость от экосистемы Azure: Технология работает только в облачной среде Microsoft Azure и требует наличия соответствующих сервисов.
- Ограниченная поддержка источников: На данный момент поддерживается только ограниченный набор баз данных (Azure Cosmos DB, Azure SQL, SQL Server 2022+, PostgreSQL, MySQL). Репликация из других популярных СУБД (например, Oracle, MongoDB) невозможна.
- Сложность настройки для SQL Server: Для локального SQL Server 2022 требуется настройка Azure Arc и установка дополнительных компонентов.
- Стоимость: Использование Synapse Link может привести к дополнительным затратам на хранение реплицированных данных в аналитическом хранилище и на передачу данных.
Сравнение с традиционными подходами
Традиционные подходы к аналитике данных, такие как ETL (Extract, Transform, Load) и ELT (Extract, Load, Transform), требуют создания специализированных конвейеров, которые периодически (например, раз в час или раз в сутки) загружают данные из операционных систем в аналитическое хранилище. Это приводит к задержкам и требует значительных усилий по разработке и поддержке.
Azure Synapse Link предлагает альтернативу — автоматизированную непрерывную репликацию, которая устраняет необходимость в ручном управлении конвейерами и обеспечивает доступ к данным в реальном времени. Это особенно актуально для сценариев, где критически важна оперативность данных, например, для мониторинга финансовых транзакций или управления производственными процессами.
Источники
- Документация Microsoft Azure: «What is Azure Synapse Link?»
- Документация Microsoft Azure: «Azure Synapse Link for Azure Cosmos DB»
- Документация Microsoft Azure: «Azure Synapse Link for Azure SQL Database»
- Документация Microsoft Azure: «Azure Synapse Link for SQL Server 2022»
- Microsoft Learn: «Introduction to Azure Synapse Analytics»
- Блог Microsoft Azure: «Announcing Azure Synapse Link for Azure Cosmos DB» (2020)
- Блог Microsoft Azure: «Azure Synapse Link for SQL Server 2022 now generally available» (2022)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →