Потоковая передача данных в хранилище данных Azure в реальном времени с сервера sql

Я пытаюсь создать службу отчетов в реальном времени на базе Microsoft Azure Data Warehouse. В настоящее время у меня есть SQL-сервер с примерно 5 ТБ данных. Я хочу передавать данные в хранилище данных и использовать вычислительную мощность Azure DW для создания отчетов в реальном времени на основе данных. Есть ли какие-нибудь готовые к использованию / лучшие практики для этого?

Один из подходов, который я рассматривал, - это загрузка данных в Kafka, а затем их потоковая передача в Azure DW с помощью потоковой передачи Spark. Однако этот подход более близок к реальному времени, чем к реальному времени. Есть ли способ использовать систему отслеживания измененных данных SQL Server для потоковой передачи данных в хранилище данных?


person taffarel    schedule 23.10.2017    source источник
comment
Как вы определяете реальное время? Каковы фактические требования к задержке, над которыми вы работаете?   -  person Robin Moffatt    schedule 24.10.2017
comment
как только объект добавлен / изменен в master db, я хочу, чтобы он был в моем хранилище данных отчетов   -  person taffarel    schedule 24.10.2017


Ответы (2)


Я лично не вижу хранилища данных SQL Azure в архитектуре реального времени. Это пакетная система MPP, оптимизированная для измельчения миллиардов строк на нескольких узлах. По моему скромному мнению, такой шаблон не является синонимом производительности менее секунды или реального времени. Архитектура реального времени больше похожа на Концентраторы событий> Stream Analytics в Azure. Доступный низкий уровень параллелизма (т. Е. В настоящее время не более 32 одновременных пользователей) также не подходит для составления отчетов.

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

Вы могли использовать хранилище данных SQL Azure в так называемой лямбда-архитектуре с пакетным элементом и элементом реального времени, где он поддерживает пакетный поток. См. Здесь для дальнейшего чтения:

https://social.technet.microsoft.com/wiki/contents/articles/33626.lambda-architecture-implementation-using-microsoft-azure.aspx

person wBob    schedule 23.10.2017
comment
Идея использования хранилища данных с базой данных SQL в таблицах памяти кажется интересной. Я пойду и реализую лямбда-архитектуру с хранилищем данных и в таблицах памяти. - person taffarel; 25.10.2017

Если вы ищете решение SaaS на основе SQL для создания приложений отчетности в реальном времени, мы недавно выпустили продукт HTTP API под названием Stride , который основан на создаваемой нами базе данных потокового SQL с открытым исходным кодом, PipelineDB, которая может справиться с этим тип нагрузки.

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

Не стесняйтесь проверить техническую документацию Stride для получения более подробной информации.

person DidacticTactic    schedule 24.10.2017