我正在研究涉及数据库中更新/选择查询的高执行的应用程序。哪个数据存储最适合我的场景
我有一张基本表(A),每天将有一个实体约500条记录。对于系统中的每个用户,根据用户的一些偏好创建该实体的变体,并将它们存储在另一个表(B)中。这是通过每天午夜运行的cron作业完成的。
因此,如果在表A中有10,000个用户和500个记录,那么表B中将有5M记录在那天。我始终在这些表格中保存数据一天,并在午夜将历史数据存档到HBase。此设置工作正常,迄今为止我没有任何性能问题。
最近业务需求发生了一些变化,现在基表A中的一些属性(对于15-20条记录)将每20秒更改一次,并基于此我必须重新计算所有这些变化记录的一些值在表B中为所有用户。即使只有20个主记录发生更改,我需要重新计算并更新20万个用户记录,这需要20多秒,然后进行下一次更新,最终导致所有Select查询排队。我收到来自在线用户的3个获取请求/ 5秒钟,这导致了6-9个选择查询。要通过API请求的响应,我一直使用的字段表B.
我可以买更多的处理能力和解决这一情况,但我感兴趣的是有正确缩放系统,该系统甚至可以处理100万用户。
这里有人可以提出一个更好的选择吗? nosql +关系数据库能帮助我吗?是否有任何平台/数据存储可以让我无需锁定就可以频繁更新数据,同时还能让我灵活地在实体的各个字段上运行选择查询?
干杯 罐子