从MySQL到NoSQL键值存储的数据同步

时间:2018-05-31 16:42:06

标签: mysql redis aerospike

我有一个遗留系统,后端有MySQL,python是主要的编程语言。

最近我们有一个场景,我们需要显示一个包含MySQL数据库中信息的仪表板。表中的数据每秒都在变化。

这可以被认为类似于人们不断出价的出价申请。每次用户出价记录都会进入数据库。当用户更新其出价时,它会更新之前的值。

我也很少有客户监控此仪表板来更新统计信息。

  • 当人们实时出价时,我需要实时订购这些数据。
  • 我不喜欢对MySQL运行查询,因为在任何时候我都可能有1000个客户端查询数据库。这将在数​​据库上创建负载。

请建议。

1 个答案:

答案 0 :(得分:2)

如果您需要实时收集和订购数据,您应该查看Aerospike中的原子ordered mapordered list操作。

我有在rbotzer/aerospike-cdt-examples使用KV有序地图的示例。

您可以使用类似的方法,用户的ID是关键,出价是结构[1343, { foo: bar, ts: 1234, this: that} ]的列表。以美分(整数)为单位的出价金额是列表的第一个元素,所有其他信息都在第二个元素位置的地图中。

这样您就可以通过单一地图操作更新用户出价,通过一次操作取回用户的出价,按等级排序(按出价金额)以获得订购的最高出价,获得所有特定范围内的出价等。每个项目都有一条记录,并且此KV排序地图中包含所有出价。