我正在尝试在Microsoft Azure数据仓库之上构建实时报告服务。目前我有一个大约5 TB数据的SQL服务器。我想将数据流式传输到数据仓库,并使用Azure DW的计算能力根据数据生成实时报告。有没有可以使用/最佳实践来做到这一点?
我正在考虑的一种方法是将数据加载到Kafka,然后通过Spark流将其流式传输到Azure DW。但是,这种方法比实时更接近实时。有没有办法利用SQL Server Change Data Capture将数据流式传输到数据仓库?
答案 0 :(得分:3)
我个人在实时架构中没有看到Azure SQL数据仓库。它是一个批量MPP系统,经过优化,可以在多个节点上粉碎数十亿行。在我看来,这种模式并不是亚秒或实时表现的同义词。实时架构看起来更像是事件中心> Azure中的流分析。可用的低并发性(即当前最多32个并发用户)也不适合报告。
作为替代方案,您可以考虑使用Azure SQL数据库内存表来快速加载,然后在方便的位置切换到仓库。
您可以 Azure SQL数据仓库在所谓的Lambda架构中,具有批处理和实时元素,其中支持批处理流。请参阅此处以获取进一步阅读:
答案 1 :(得分:1)
如果您正在寻找基于SQL的SaaS解决方案来支持实时报告应用程序,我们最近发布了一个名为Stride的HTTP API产品,该产品基于我们构建的开源流式SQL数据库,{ {3}},可以处理这种类型的工作量。
Stride API使开发人员能够对流数据运行连续的SQL查询,并将连续查询的结果存储在表中,这些表随着新数据的到达而逐步更新。这可能是一种更简单的方法来添加上面提到的实时分析层类型。
请随时查看PipelineDB了解更多详情。