ancient fj プロジェクト短信 No.10
--- ancient fj プロジェクト短信 No.10 ----
ニューススプールやアーカイブのように、大量のファイルを
扱おうとすると、まだ色々変なことが起こります。現在手元に
あって試験的に扱っている記事ファイル群は 400万ぐらいです。
大量といっても、現在のパーソナルコンピュータ構成バランス
から言えば、さほど大きな数には思えませんよね。ところが...
今動かしている BSD 系の某 OS では、filesystem の dump
はできても、restore ができません。restore が進むうち、
プロセスが肥大していって、仮想記憶空間関係の資源を食い
つぶすらして異常終了してしまいます。(ただし restore
ユーザプロセスの問題なので、ファイルシステムやカーネル
空間は無関係で無事)これには困惑します。
gdbm を使ったのデータベースも、事実上作成できません。数が
数十万になるあたりからファイルのアクセスばかりになって、
insert 処理が進まなくなってしまいます。単純な key value
ペアだけのために、RDB を使うべきかどうなのか。
余談:
データ群を deploy した状態でのファイルシステムの
restore が使えないので、サーバの保守などの際には、
元となるデータからの 'make install' をしなおす
ことにしてました。ところが、make 中には gdbm-
DB の作成作業もあり、それが滞留してしまいます。
先日ディスクが壊れて入れ替える際には、手作業で
手をかけてやる羽目になりました。
以前の短信でも紹介したとおり、WinXP 上の tar のクローンや
NTFS も大量のファイルで致命的な問題を起こしていました。
大量のデータを扱うために数に対して(線形に)scale する
プログラムを書くためには、何かを中間的に記憶していくような
戦略は向かないんだなと感じます。
でも7桁=百万単位程度で色々問題が起きるのは、現在のバランス
からは、何か限界が低いかなあ。
--
渡邊克宏 http://katsu.watanabe.name
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735