实时数据处理程序,结果表不断更新,这样一个过程不断更新:表全部清空--新值插入--前端调用,存在这样一个问题,因为插入值数量较多,一下不能完全插入,会出现前端查询的时候没有得到所有结果的问题,有人说要用读写分离,网上讲到读写分离的都比较复杂,有什么简单方法可以解决?
读写分离跟插入更新没关系吧
问题关键点是插入较慢
建议如下:
1. 可以将插入都放到一个事务里面,这样当事务提交后,前端就能看到所有数据
2. 慢可以可以通过提高插入速度,比如批量插入,或者提高后端硬件的性能,比如将hdd盘替换成ssd性能
3. 如果用1和2的方法,仍然不能满足性能的需要,可以调整架构,比如首先将数据插入缓存,前端从缓存中读取数据,缓存中的数据标记为脏,由后端程序刷到数据库中。
参考网站:https://www.cnblogs.com/podolski/p/7152144.html
这个像是有点像CS模型中消费者和生产者的关系类似,觉得还是研究一下,做程序员这一点最苦了,早学到手,早一点成大神嘛
跟业务逻辑有关系吧。
加锁控制插入完成再查询?提个想法学习为主
新建一个游标 分批次插入 比如每次只插入10万条 然后一起提交