【发布时间】:2018-02-25 01:19:36
【问题描述】:
我有一个基于 Java 的 Web 应用程序,它使用 2 个 Microsoft SQL 后端数据库服务器(1 个服务器是实时数据库,因为它是事务性的,另一个是报告数据库)。事务数据库和报告数据库之间的延迟约为 30 分钟,增量数据使用 SQL 作业加载,该作业每 30 分钟运行一次,执行时间约为 20-25 分钟。该作业正在执行一个 SSIS 包,并使用该包,对来自报告数据库的数据进行进一步处理并存储在 HDFS 和 HBase 中,最终用于分析。
现在,我想减少这种滞后,为此,我正在考虑实施一个消息传递框架。在做了一些研究之后,我了解到 Kafka 可以解决我的目的,因为 Kafka 除了作为消息传递框架之外,还可以作为 ETL 工具。
我应该如何进行?我应该在 SQL Server 中创建类似于表结构的主题并对其执行操作吗?我是否应该重定向我的应用程序以先写入 Kafka 中发生的任何更改,然后再写入 Transactional 数据库?考虑到上述用例,请就 Kafka 的使用提出建议。
【问题讨论】:
标签: apache-kafka