如何将我的整个PostgreSql数据库放入RAM以便更快地访问?我有8GB内存,我想为数据库专用2 GB.我已经阅读了有关共享缓冲区设置的信息,但它只是缓存了数据库中访问最多的片段.我需要一个解决方案,将整个数据库放入RAM中,任何读操作都会从RAM DB中进行,任何写操作都会首先写入RAM DB,然后写入硬盘驱动器上的DB.(有些像默认的fsync =在postgresql配置设置中使用共享缓冲区).
我有一段时间问自己同样的问题.PostgreSQL的一个缺点是它似乎不像MySQL那样支持IN MEMORY存储引擎......
无论如何,我几周前写了一篇文章,描述了如何做到这一点; 虽然它似乎只适用于Linux.我真的不能保证它,因为我自己没有尝试过,但它似乎有意义,因为PostgreSQL表空间确实被分配了一个已安装的存储库.
但是,即使采用这种方法,我也不确定您是否也可以将索引放入RAM中; 我不认为MySQL强制HASH索引与IN MEMORY表一起使用......
我也想做类似的事情以提高性能,我也在使用庞大的数据集.我正在使用python; 它们具有字典数据类型,它们基本上是{key:value}对形式的哈希表.使用它们非常有效和有效.基本上,为了将我的PostgreSQL表放入RAM中,我将其加载到这样的python字典中,使用它,并偶尔将其保存到db中; 如果使用得当,它是值得的.
如果你不使用python,我很确定它们是你语言中类似的字典映射数据结构.
希望这可以帮助!