我有一个SQL服务器数据库,每天有数百万行(插入/删除/更新)。我应该提出一个ETL解决方案来将数据从这个数据库传输到数据仓库。起初我尝试与CDC和SSIS合作,但我工作的公司想要一个更实时的解决方案。我做了一些研究并发现了流处理。我也寻找Spark和Flink教程,但我没有找到任何东西。
我的问题是我选择哪种流处理工具?以及我如何学习如何使用它?
开源解决方案您可以使用Confluent Kafka Integration工具使用“加载时间戳”跟踪“插入和更新”操作。这些将自动为您提供在数据库中插入或更新的实时数据。如果在数据库中进行软删除,则还可以使用加载时间戳和活动或非活动标志来跟踪。如果没有这样的标志,那么你需要提供一些关于哪一个分区可能在当天更新的逻辑,并将整个分区发送到流中,这绝对是资源穷举的。
付费解决方案有一个名为Striim CDC的付费工具,可以为您的系统提供实时响应