我继承了一个大容量的 OLTP DB,我可以自由支配,尽可能多地改进它。改进已经非常有帮助,但我想把它提升到一个新的水平。我发现的数据访问模式使它成为 IMO 将数据缓存在其他服务器上的一个很好的候选者,我很想听听任何人对这种设置的经验或建议。
我们有一个数据库,每天将大约 3GB 的数据添加到一个表中,并且过去报告它的速度非常慢。数据一旦放入就不会改变,并且不会插入超过一周的数据。在过去 3 天内输入的行往往会在数千万行之间看到数千个插入。
我正在考虑将超过 2 周的数据推送到 MongoDB。然后,我可以让未推送到 Mongo 的 2 周滑动窗口数据被某种缓存软件缓存,以便查询和显示这些数据,而不是一直从数据库中读取数据。我认为通过这种方式,我们仍然可以通过让数据库引擎验证所有数据来获得完全的 ACID 合规性,因为它没有命中数据库,所以具有高读取性能,然后当它不再是“事务”时 Mongo 可以接受它。
有人有任何推荐的解决方案吗?我正在查看 MemCached,但不太确定这是否是一个好的甚至是合理的解决方案。谢谢!