我有一个遗留系统,后端有MySQL,python是主要的编程语言。
最近我们有一个场景,我们需要显示一个包含MySQL数据库中信息的仪表板。表中的数据每秒都在变化。
这可以被认为类似于人们不断出价的出价申请。每次用户出价记录都会进入数据库。当用户更新其出价时,它会更新之前的值。
我也很少有客户监控此仪表板来更新统计信息。
请建议。
答案 0 :(得分:2)
如果您需要实时收集和订购数据,您应该查看Aerospike中的原子ordered map和ordered list操作。
我有在rbotzer/aerospike-cdt-examples使用KV有序地图的示例。
您可以使用类似的方法,用户的ID是关键,出价是结构[1343, { foo: bar, ts: 1234, this: that} ]
的列表。以美分(整数)为单位的出价金额是列表的第一个元素,所有其他信息都在第二个元素位置的地图中。
这样您就可以通过单一地图操作更新用户出价,通过一次操作取回用户的出价,按等级排序(按出价金额)以获得订购的最高出价,获得所有特定范围内的出价等。每个项目都有一条记录,并且此KV排序地图中包含所有出价。