【问题标题】:Stream data from MySQL Binary Log to Kinesis将数据从 MySQL 二进制日志流式传输到 Kinesis
【发布时间】:2016-12-24 18:21:33
【问题描述】:

我们有一个来自旧系统的写入密集型表(在 AWS RDS MySQL 上),我们希望将每个写入事件(插入或更新)从该表流式传输到 kinesis。这个想法是创建一个管道来预热缓存和更新搜索引擎。

目前我们使用基本的轮询架构,基本上使用 SQL,但理想的情况是使用推送架构直接从事务日志中读取事件。

有人试过吗?有什么推荐的架构吗?

【问题讨论】:

  • 嘿,你能实现这个吗?
  • 还没有。我们预计很快就会回到这个问题。

标签: mysql amazon-web-services amazon-kinesis aws-rds


【解决方案1】:

我已经在 Oracle 中与一些这样做的客户合作过。似乎LinkedIn也使用了很多将数据从数据库流式传输到其他地方的技术。他们创建了一个名为 Databus 的平台,以不可知的方式实现这一目标 - https://github.com/linkedin/databus/wiki/Databus-for-MySQL

Github 中有一个公共项目,遵循 LinkedIn 原则,已经将 binlog 从 Mysql 流式传输到 Kinesis Streams - https://github.com/cmerrick/plainview

如果您想深入了解 LinkedIn 方法的细节,这里有一篇非常不错(而且内容丰富)的博文 - https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying

最后但同样重要的是,Yelp 也在这样做,但使用 Kafka -https://engineeringblog.yelp.com/2016/08/streaming-mysql-tables-in-real-time-to-kafka.html

为了简洁起见,没有深入了解 Kinesis Streams 的基础知识,如果我们将 Kinesis Streams 引入游戏,我不明白为什么它不应该工作。事实上,它就是为此而构建的——您的数据库事务日志是一个事件流。借用 Amazon Web Services 公共文档的摘录:Amazon Kinesis Streams 允许实时数据处理。借助 Amazon Kinesis Streams,您可以在生成数据时持续收集数据,并及时对有关您的业务和运营的关键信息做出反应。

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    aws DMS 服务提供从 SQL db 到 kinesis 的数据迁移。

    【讨论】:

      猜你喜欢
      • 2015-10-03
      • 2019-11-19
      • 2012-08-27
      • 2016-02-11
      • 2018-08-10
      • 2018-12-05
      • 2014-09-25
      • 2022-07-25
      • 2010-09-25
      相关资源
      最近更新 更多