2011-12-26
PostgreSQL 9.1 COPY vs pg_bulkload
先々週の続き。
今度はpg_bulkloadとCOPY処理の比較という観点で測定してみた。
測定環境と測定内容
測定環境は前回・前々回と同じ。
- ロードデータ:2592000件のXML文字列(ファイルサイズ約1GB)
- データファイルとPostgreSQLデータベースクラスタは別Disk
- 比較対象:以下の組み合わせ
- XML型/TEXT型
- 通常テーブルへのCOPY/UNLLOGEDテーブルへのCOPY/pg_bulkload(通常モード)/pg_bulkload(並列モード)
測定結果
| XML型 | TEXT型 | |
| 通常テーブルへのCOPY | 58126.714 | 22930.184 |
| UNLLOGEDテーブルへのCOPY | 47997.477 | 14488.658 |
| pg_bulkload(通常モード) | 42734.223 | 9653.667 |
| pg_bulkload(並列モード) | 38335.477 | 9534.594 |
まとめ
- テキスト型の場合、PostgreSQL 9.1のUNLOGGEDテーブルでも結構効果は高いが、pg_bulkloadはUNLLOGGEDよりも更に高速。
- クラッシュ時の保証が必要な場合、かつ高速ロードが必要なら、PostgreSQL 9.1でもpg_bulkloadは有用。
- XML型の場合はUNLOGGEDテーブルや、pg_bulkloadで高速化してもXMLパース時間の割合が大きいため、あまり効果が見えない。
トラックバック - http://d.hatena.ne.jp/nuko_yokohama/20111226/1324877286
リンク元
- 65 http://pipes.yahoo.com/pipes/pipe.info?_id=c021b165b3a7976a4259958b8a56b5af
- 2 http://bit.ly/tLHzfO
- 2 http://blog.livedoor.jp/harada_toshi/archives/cat_50015211.html
- 2 http://reader.livedoor.com/reader/
- 2 http://www.facebook.com/l.php?u=http://d.hatena.ne.jp/nuko_yokohama/20111226/1324877286&h=YAQFMhFr3AQEKxYYev9-ULXYASYVIP3jvmlpIPrhcllm2yg
- 1 http://by166w.bay166.mail.live.com/mail/InboxLight.aspx?n=1513827060
- 1 http://d.hatena.ne.jp/s87/20111207/1323259560
- 1 http://d.hatena.ne.jp/t_motooka/20111224/1324710925
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=ぬこ postgresql&source=web&cd=4&ved=0CDMQFjAD&url=http://d.hatena.ne.jp/nuko_yokohama/20111210/1323463137&ei=tIr5To3rOsrRmAWdlsWcAg&usg=AFQjCNEv8cNHK9nM6mFe-tBTTmuH0SYJhg&sig2=vOpD
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=CREATE+DOMAIN+Postgres+一覧&source=web&cd=12&ved=0CCUQFjABOAo&url=http://d.hatena.ne.jp/nuko_yokohama/20111210/1323463137&ei=Eir5Trz8NPChiAfj56nAAQ&usg=AFQjCNEv8cNHK9nM6mFe-tBTTmuH0SYJhg


