如何将我的整个PostgreSql数据库放入RAM中,以便更快地访问??我有8GB的内存,我想为数据库贡献2GB.我读过有关共享缓冲区设置的内容,但它只是缓存数据库中访问次数最多的片段.我需要一个解决方案,将整个数据库放入RAM,任何读操作都会从RAM数据库中进行,任何写操作都会先写入RAM数据库,然后再写入硬盘上的数据库.(在postgresql配置设置中使用共享缓冲区的默认fsync=on).
如何将我的整个PostgreSql数据库放入RAM中,以便更快地访问??我有8GB的内存,我想为数据库贡献2GB.我读过有关共享缓冲区设置的内容,但它只是缓存数据库中访问次数最多的片段.我需要一个解决方案,将整个数据库放入RAM,任何读操作都会从RAM数据库中进行,任何写操作都会先写入RAM数据库,然后再写入硬盘上的数据库.(在postgresql配置设置中使用共享缓冲区的默认fsync=on).
我问自己同样的问题已经有一段时间了.PostgreSQL的缺点之一是它似乎不像MySQL那样支持内存中的存储引擎...
不管怎样,几周前,我跑go 拜访了一位article人,描述了如何做到这一点;尽管它似乎只适用于Linux.我自己也try 过把它作为一个SQL存储库,但我觉得它并没有意义.
然而,即使使用这种方法,我也不确定您是否可以将索引也放入RAM中;我不认为MySQL强迫哈希索引在内存表中免费使用...
我还想做类似的事情来提高性能,因为我也在处理巨大的数据集.我在使用python;它们有字典数据类型,基本上是{key:value}对形式的哈希表.使用这些工具非常有效.基本上,为了将我的PostgreSQL表放入RAM,我将其加载到这样的python字典中,使用它,并偶尔将其持久化到db中;如果使用得当,它是值得的.
如果您没有使用python,我很确定他们的字典映射了您的语言中的数据 struct .
希望这有帮助!