我有一个有趣的数据库问题。我有一个大小为 150GB 的数据库。我的内存缓冲区是 8GB。
我的大部分数据很少被检索,或者主要由后端进程检索。我非常希望保留它们,因为某些功能需要它们。
其中一些(即一些表,以及某些表的一些可识别部分)经常以面向用户的方式使用
我如何确保后者始终被保存在内存中?(这些空间绰绰有余)
更多信息: 我们正在使用 Ruby on rails。数据库是 MYSQL,我们的表是使用 INNODB 存储的。我们将数据分片到 2 个分区。因为我们正在对其进行分片,所以我们使用 JSON blob 存储大部分数据,同时仅索引主键
更新 2 棘手的是,数据实际上同时用于后端进程以及面向用户的功能。但后者的访问频率要低得多
更新 3 这些天有些人评论说 8Gb 是玩具。我同意,但是如果有更聪明、更有效的解决方案,仅仅增加数据库的大小就是纯粹的懒惰