我有一個問題,我需要非常快速地將大量數據(500億行)加載到數據庫中(理想情況下小於30分鐘但速度更快),最近我建議查看postgresql(我失敗了與MySQL和看在hbase/cassandra)。我的設置是我有一個生成大量數據的集羣(目前有8臺服務器),我想在本地集羣中的每臺機器上本地運行數據庫,然後在本地快速寫入數據(或整個數據生成過程中)數據合併在一起。數據不是以任何順序,所以我不關心哪個特定的服務器(只要它最終在那裏)。自動分片postgresql?
我的問題是,有沒有什麼好的教程或學習PostgreSQL自動分片的地方(我發現像sykpe做自動分片但沒有教程的結果,我想自己玩這個)?我正在嘗試做什麼?由於數據不是以任何順序,我打算使用自動遞增的ID號碼,如果數據合併(這不再是一個大問題)會導致衝突嗎?
更新:弗蘭克的想法如下消除了我所問的自動遞增衝突問題。現在的問題基本上是,我如何才能瞭解自動分片,並支持將數據分佈式上傳到多個服務器?
我已經在<5分鐘內將大約1000萬行加載到postgres數據庫中,所以我可以自信地告訴你,在將數據加載到單個分片中時,這是一個非常重要的依賴資源:http:// www .postgresql.org/docs/8.1/static/populate.html這也看起來很有希望:http://pgbulkload.projects.postgresql.org/ – 2012-04-25 20:44:49
'我打算使用自動遞增的ID號碼,這將導致衝突如果數據被合併?'只需增加10,並從不同的偏移量開始。服務器1使用標識1,11,21,31;服務器2使用ID 2,12,22,32 – 2012-04-25 20:46:04
@FrankFarmer感謝您的鏈接和偉大的想法:增加。我認爲這需要一些複雜性,那麼我想這個問題只涉及到自動分片和分佈式上傳。 – Lostsoul 2012-04-25 20:47:42