使用eventhub,流式分析作为数据集成Azure云解决方案

时间:2016-10-03 14:39:34

标签: azure azure-eventhub data-integration azure-stream-analytics

目前我有一个基于SSIS的数据集成解决方案,可以将SQL / Sybase / Oracle / Flat文件中的数据提取到登台数据库中,并通过一些数据按摩将其移动到我们的OLTP数据库。当我们的应用程序迁移到云时,我开始研究基于Azure云的解决方案。

数据源将被事件发布替换,因此我设想在新架构中使用eventhub。只是尝试一下,我创建了一个evenhub并将输出连接到流分析工作。作业是一个passthru,输出连接到Azure SQL DB并映射到一个表,该表具有与流分析查询中指定的字段相同的字段名称。

我写了一个小客户端来发布一些事件,然后他们就把它放到了桌面上。现在,我对这种方法几乎没有疑问。

这是从eventhub到数据库获取事件的最直接,最佳的方式吗?我知道eventhub使用者还有两个选择 - 实现EventHubReceiver或EventProcessorHub的自定义应用程序/工作者。在这两种情况下,消费者将读取一条消息或一小批消息。然后自定义逻辑将它们插入数据库。与基于SSIS的方法相比,这似乎有点像退步,其中数据以更大的设定规模运行。因此,流式分析和直接连接到数据库似乎会表现得更好,但这导致了我的下一个问题。

在流式分析工作中将数据汇集到数据库时,我没有太多控制权。例如,如果我的数据有一些键和数据字段,我无法识别存在具有相同键的记录并更新数据字段。让它工作的唯一想法是在表上放置一个“而不是”触发器,如果​​匹配则执行更新。但是在该解决方案中使用触发器对于整个流媒体来说似乎也适得其反。

我完全错了吗?是否有更好的方法来做这样的事情?

谢谢!

0 个答案:

没有答案