[pgsql-jp: 37747] Re: INDEXを残したまま大量データを高速に挿入したい

Hiroki Kataoka kataoka @ interwiz.jp
2006年 12月 2日 (土) 04:29:36 JST


片岡です。

Reinin Oyama wrote:
> でも、Linux にもデフラグが、必要という誤った情報を流す人は
> そうかも、しれません。(昨今のLinuxはデフラグがないから駄目とか?)
> まれに、ファイルシステムの整理が必要なことはありますが、
> Linux では、基本的にはデフラグをしないで、運用しますし、殆ど問題有りません。
> Windows では、基本的にデフラグを一定期間ごとに実行する運用です。

 PostgreSQLの本家MLでも以前、徐々に大きくなってきたDBが当初に比べて性能
が半分以下に落ちてきけど、DBクラスタ全体をコピーしなおしたら劇的に改善し
た、という話題が流れていました。UNIX系OSでの話です。参考までに。

 ファイルシステムに激しい断片化がおきれば性能が劣化するのはLinuxでも
Windowsでも同じです。その劣化の程度を問題視するか織り込み済みとみなすか
が、デフラグを必要と思うかの分かれ道です。少なくとも、『Linux では、基本
的にはデフラグをしないで、運用しますし、殆ど問題有りません。』と言ってし
まうのは危険と思いますし、『Windows では、基本的にデフラグを一定期間ごと
に実行する運用です。』というアドバイスも、使用目的がサーバであれば決して
基本的な運用スタイルとは思えないのですが、いかがでしょう。



 さて、元ネタとなる湯沢さんの問題については、ファイルシステムの断片化が
原因なのであれば、デフラグで回復することが期待できます。PostgreSQLサービ
スの停止中であればデフラグしても問題ありません。ただデータ容量が多そうで
すので、デフラグには時間かかりそうですね。

 それ以外には、インデックス周り(肥大化もしくは偏りなど)が原因というこ
とも考えられます。この場合はREINDEXするという手もあります。が、やはり時
間がかかるかもしれません。小さめのテーブルなどで試してみて、所要時間の予
想を立ててみるといいです。

-- 
Hiroki Kataoka <kataoka @ interwiz.jp>



pgsql-jp メーリングリストの案内