[pgsql-jp: 34073] 表容量、索引容量の見積もり方法
Seiji YONEDA
yoneda-seiji @ cnt.mxy.nes.nec.co.jp
2004年 10月 6日 (水) 20:15:02 JST
米田@NEC YRP技術センターと申します。
初めて投稿します。
PostgreSQLのテーブルにかなり大量のレコード(数百万行程度)
を挿入する必要があり、必要な容量(表容量、索引容量)を見積もる
必要にせまられています。
過去ログを調べたら、
http://ml.postgresql.jp/pgsql-jp-old/pgsql-jp/2002Feb/msg00147.html
に同じ内容の投稿がありましたが、期待したような res がないよう
なので、改めて投稿することにしました。
Oracleでのこの種の見積もり方法は、
OTN Japan スキルアップ講座
(http://otn.oracle.co.jp/skillup/index.html)というサイトに、
「Oracle9i 物理設計」という、6部構成の記事(講座)があって、
この第3部と第4部にそれぞれ、テーブル容量の見積、インデックス
容量の見積という章で見積もり方法が解説されています。
PostgreSQLで同様のことをやりたいのですが、どなたかご存知の方、
おいででしたら教えてください。
ちなみに、Oracleの場合、概略以下のような手順で見積もります。
(1)表のカラム構成(データ型とサイズ)から、1レコードのバイト数を
計算する。
(2)Oracleの1DBブロックに何レコードが収容できるか、また、長い
レコードの場合は、1レコードで何DBブロックを消費するかを計算
する。(端数切り上げ)
(3)収容すべきレコード数が何DBブロックを消費するのか、を計算
する。このとき、DBブロックの中で使用可能な有効データ領域
サイズを計算し、最初のレコード挿入にはこの有効データ領域
サイズしか使わない、として計算する。
以上はOracleの物理レコードの構造を反映して、データファイルの
消費量を見積もるものですが、PostgreSQLで同様なことをやるには、
PostgreSQLの物理レコードの構造を知らなければなりません。
このような情報(物理レコードの構造)をご存知の方、情報提供でも
かまいません。よろしくお願い申し上げます。
pgsql-jp メーリングリストの案内