2

我正在尝试在 Microsoft Azure 数据仓库之上构建实时报告服务。目前我有一个大约 5 TB 数据的 SQL 服务器。我想将数据流式传输到数据仓库,并使用 Azure DW 的计算能力生成基于数据的实时报告。是否有任何准备好使用/最佳实践来做到这一点?

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

4

2 回答 2

4

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

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

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

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

于 2017-10-23T15:55:33.387 回答
1

如果您正在寻找基于 SQL 的 SaaS 解决方案来支持实时报告应用程序,我们最近发布了一个名为Stride的 HTTP API 产品,它基于我们构建的开源流式 SQL 数据库PipelineDB,可以处理此类工作量。

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

请随时查看Stride 技术文档以获取更多详细信息。

于 2017-10-24T18:42:52.530 回答