2011年04月02日

BDB DBファイルサイズ編

BDBで測定やらなんやらやっていたら
DBの情報を保存するファイルサイズが
ものすごいサイズになっていました。

そんなわけで今回は回数ごとにファイルサイズを出してみました。

ちなみにRECNOにしたデータベースファイルでは
データ用のバッファがまるまる保存されるのか
少ないエントリでもえらい容量を食ってました\(^o^)/
プログラムも作ってないので
今回はhashとbtreeでサイズの比較をしています。

1回のDBファイルサイズ
% ls -s *.db
16 -rwx------ 1 nanodayo staff 8.0K 2 17 13:52 btree.db*
32 -rwx------ 1 nanodayo staff 16K 2 17 13:51 hash.db*


hashのほうが容量必要なみたいですねー。
ある程度余分な領域があるのでしょうか。

エントリ数は1でも2でもサイズが同じだったので
エントリ数が一定以上になった場合に改めて確保・・・という形ではないかと思われます。

10,000回のDBファイルサイズ
992 -rwx------ 1 nanodayo staff 496K 2 14 21:48 btree.db*
720 -rwx------ 1 nanodayo staff 360K 2 14 21:47 hash.db*


100,000回のDBファイルサイズ
9928 -rwx------ 1 nanodayo staff 4.8M 2 14 23:14 btree.db*
6104 -rwx------ 1 nanodayo staff 3.0M 2 14 23:04 hash.db*


1,000,000回のDBファイルサイズ
112456 -rwx------ 1 nanodayo staff 55M 2 15 03:14 btree.db*
84280 -rwx------ 1 nanodayo staff 41M 2 15 01:34 hash.db*


こっちではbtreeの方が容量を多く使っていますね。
領域を確保する際のしきい値はbtreeの方が低いのでしょうか。

しきい値の違いを求めるには、エントリ数を増やしながら
ファイルサイズを見ていかないといけなさそうです。
(今回はやっていませんorz)

エントリ数を10倍にしてってますが
容量もだいたい10倍になっていますね。

10,000,000回のDBファイルサイズ
1142768 -rwx------ 1 nanodayo staff 558M 2 17 10:46 btree.db*
134418952 -rwx------ 1 nanodayo staff 64G 2 16 18:03 hash.db*


ただここでは逆転。
容量の差も大きいです。

しきい値の計算方法自体に違いがあるということでしょうか。

nanodayo at 09:19コメント(0)トラックバック(0) 
データベース | プログラミング

トラックバックURL

コメントする

名前
 
  絵文字