从 sql 服务器实时将数据流式传输到 Azure 数据仓库

Real time Streaming data into Azure Datawarehouse from sql server

我正在尝试在 Microsoft Azure 数据仓库之上构建实时报告服务。目前我有一个 SQL 服务器,大约有 5 TB 的数据。我想将数据流式传输到数据仓库,并利用 Azure DW 的计算能力根据数据生成实时报告。有没有现成的 use/best 做法可以做到这一点?

我正在考虑的一种方法是将数据加载到 Kafka,然后通过 Spark 流将其流式传输到 Azure DW。然而,这种方法比实时更接近实时。有什么方法可以利用 SQL Server Change Data Capture 将数据流式传输到数据仓库中吗?

我个人并未在实时架构中看到 Azure SQL 数据仓库。这是一个批处理 MPP 系统,优化用于在多个节点上分解数十亿行。在我看来,这种模式并不是亚秒级或实时性能的代名词。实时架构看起来更像是 Azure 中的事件中心 > 流分析。可用的低并发性(即目前最多 32 个并发用户)也不适合报告。

作为替代方案,您可以考虑使用 Azure SQL 数据库内存表进行快速加载,然后在方便的时候移交给仓库。

可以 Azure SQL 所谓的 Lambda 架构中的数据仓库具有批处理和实时元素,其中支持批处理流。请参阅此处以进一步阅读:

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

如果您正在寻找基于 SQL 的 SaaS 解决方案来支持实时报告应用程序,我们最近发布了一款名为 Stride, which is based on the open-source streaming-SQL database we build, PipelineDB 的 HTTP API 产品,它可以处理此类工作量。

Stride API 使开发人员能够 运行 对流数据进行连续 SQL 查询,并将连续查询的结果存储在表中,这些表会随着新数据的到达而逐步更新。这可能是添加您上面提到的实时分析层类型的更简单方法。

欢迎查看 Stride technical docs 了解更多详情。