如何將我的整個PostgreSql數據庫加載到RAM中以獲得更快的訪問?我有8GB內存,我想爲數據庫專用2GB。我已閱讀有關共享緩衝區設置,但它只是緩存數據庫中訪問最多的片段。我需要一個解決方案,將整個DB放入RAM中,任何讀取都將從RAM DB發生,並且任何寫入操作都會首先寫入RAM DB,然後寫入硬盤驅動器的DB(有些事情就像默認的fsync =在postgresql配置設置中使用共享緩衝區)。需要將整個postgreSQL數據庫加載到內存中
回答
我已經問過自己同樣的問題一段時間了。 PostgreSQL的一個缺點是,它似乎不支持像MySQL那樣的IN MEMORY存儲引擎...
無論如何,我在幾周前跑到article描述如何做到這一點;儘管它似乎只適用於Linux。我真的不能保證它,因爲我沒有自己嘗試過,但它似乎有意義,因爲PostgreSQL表空間確實分配了一個掛載的存儲庫。
但是,即使採用這種方法,我也不確定是否可以將索引放入RAM中;我不認爲MySQL迫使HASH索引與其IN MEMORY表無關...
我也想做類似的事情來提高性能,因爲我也在處理大量數據集。我正在使用python;他們有字典數據類型,基本上是{key:value}對的哈希表。使用這些是非常有效的。基本上,爲了讓我的PostgreSQL表進入RAM,我把它加載到這樣一個Python字典中,使用它,並且在一段時間內將它保存到數據庫中;如果使用得當,它的價值就在於它。
如果你不使用python,我很肯定他們是你的語言中的一個類似的字典映射數據結構。
希望這會有所幫助!
該文章不再在該鏈接上可用。 Archive.org有它:https://web.archive.org/web/20080517112936/http://www.redhatmagazine.com/2007/12/12/tip-from-an-rhce-memory-storage-on- postgresql/ – Otheus 2017-03-02 11:44:19
如果您使用的是Java,可能類似於Tangosol Coherence cache。
只有8GB的數據庫,如果你已經優化了所有的SQL活動,並且你已經準備好用硬件解決查詢問題,那麼我建議你有麻煩了。從長遠來看,這不僅僅是一個可擴展的解決方案。你確定在軟件和數據庫設計方面沒有什麼可以做出重大差異的嗎?
如果您是通過id提取數據,請使用memcached - http://www.danga.com/memcached/ + postgresql。
- 1. 將數據庫表加載到要使用的內存
- 2. Entlib將數據加載到內存中
- 3. 將HEX數據加載到內存中
- 4. 將通用java類型保存/加載到postgresql數據庫列
- 5. EntityFramework - 是否有可能將整個上下文數據庫加載到內存?
- 6. 將CSV數據加載到PostgreSQL表中
- 7. 將數據從數據庫表加載到共享內存
- 8. PostgreSQL在內存數據庫
- 9. 將SQL Server CE數據庫加載到內存中
- 10. 將所有Neo4J數據庫加載到內存中
- 11. 將MySQL innodb數據庫加載到內存中
- 12. 將只讀數據庫表加載到內存中
- 13. 如何確保整個MySQL數據庫都加載到內存中?
- 14. 內存優化表 - 部分將數據加載到內存中
- 15. 內存數據庫中的Postgresql django
- 16. 如何防止Delphi ADO將整個表加載到內存中?
- 17. Will BufferedReader會將整個文件加載到內存中嗎?
- 18. cPickle或pickle是否將整個結構加載到內存中?
- 19. 是否將整個Inode表加載到主內存中
- 20. 需要幫助將XML數據加載到XNA 4.0項目中
- 21. 邏輯數據庫加載到內存中VS Android中
- 22. Datacontext.SaveChanges()將不需要的記錄添加到數據庫中
- 23. 加載整個數據庫到數據模型?
- 24. LazyImage加載到RecyclerView +將LoadedImages保存到數據庫中
- 25. 將數據庫加載到textview中?
- 26. 從數據庫加載信息,無需刷新整個頁面
- 27. 我有錯誤數據加載到PostgreSQL數據庫
- 28. 加密時需要將Key和IV存儲在某個數據庫中嗎?
- 29. 將古老的數據從一個數據庫表存檔到Postgresql 9.1中的另一個數據庫表中?
- 30. 需要幫助將arraylist的內容插入到sqlite數據庫
順便說一句,它是爲我使用Python和Django框架的網站。 – Bharath 2009-01-02 15:34:16