【问题标题】:Real time Streaming data into Azure Datawarehouse from sql server将数据从 sql server 实时流式传输到 Azure 数据仓库
【发布时间】:2017-10-23 15:06:37
【问题描述】:

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

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

【问题讨论】:

  • 您如何定义“实时”?您正在努力满足的实际延迟要求是多少?
  • 实体添加/修改到主数据库后,我希望将其保存在我的报告数据存储中

标签: azure apache-kafka spark-streaming azure-data-lake sql-data-warehouse


【解决方案1】:

我个人没有看到实时架构中的 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

【讨论】:

  • 在内存表中使用数据仓库和 SQL 数据库的想法似乎很有趣。我将使用 Datawarehouse 和内存表实现 lambda 架构。
【解决方案2】:

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

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

请随时查看Stride technical docs 了解更多详情。

【讨论】:

    猜你喜欢
    • 2019-02-14
    • 2019-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多