我發現了大量關於如何調整和優化Postgres for OLTP應用程序性能的在線和打印指南,但是我沒有發現任何特定於數據倉庫應用程序的排序。由於工作負載類型之間存在如此多的差異,我相信在數據庫的管理和調整方面必須有一些差異。PostgreSQL調優數據倉庫的最佳實踐
一些我自己的:
我已經從我使用索引了很多更寬鬆的DDL側發現,因爲我通常只擔心刀片每天一次,並與索引重建可以做批量插入。
我通常會使用整數代理鍵通常有不止一個自然鍵快加入
我通常會定義和維護具有預建日期的操作(財政日期作爲一個非常全面的日期表數據與日曆日期,財年 - 月份,本週開始日期等相反),並自由使用它,而不是在select語句和where語句中使用函數。這通常有助於在CPU綁定的聚合查詢中。
我希望我會找到對內存管理和其他數據庫設置一些信息,但我會很樂意聽到的Postgres基於數據倉庫的任何有用的最好的具體做法。
對此沒有簡短的回答。如果您想了解有關優化PostgreSQL的一般信息,我可以推薦以下書籍:http://www.packtpub。com/postgresql-90-high-performance/book(有免費的章節可用) – Eelke
讓我們知道你是否發現了一些有趣的信息。當我們在時間維和事實表中將'bigint'更改爲'smallint'時,我們得到了很大的性能改變。 –
我會推薦從Josh Berkus http://vimeo.com/9889075觀看這個優秀的演講「PostgreSQL性能的5個步驟」。這將回答你的很多問題,或者讓你接近自己回答。 – Will