ひとつのディレクトリに数十万個のファイル?
ウロウロしていたら
OSSと聞いてなにを思い浮かべますか?という記事を見かけた。
また、パフォーマンス上も問題があって、実際にLinuxでサーバを組んで、30万個のファイルを置いてみたら爆発的に遅くなった挙句、ハードディスクが焼け死ぬという事態をひきおこしてしまい、以来なるべくWindowsサーバを使っています。30万個のファイルをひとつのディレクトリに格納した結果だとすれば、それはOS(のファイルシステム)が悪いんじゃなくてそういう設計をしたほうが悪いんじゃないかと思うのが技術屋として普通である。なんというか、原付バイクで青森から福岡まで一気に突っ走ろうとしたら途中でエンジンが焼けました、誰のせいでしょう?というのに似ている(あんましうまいたとえじゃないなあ)
たくさんのファイルを扱わなければならないソフトウェアはたいていの場合複数のディレクトリに分散して格納する仕様になっているケースがほとんどだ。簡単に言うとたとえばファイル名が「a」で始まるファイルは「a」ディレクトリ配下に格納する、とか。
これはOSのバグを見越してそうするというよりは、バグやその他の障害を起こしたときに調査しやすくするという意味でもある。Windowsであれlinuxであれなんであれ、ファイルを書き込むだけなら簡単である=>しかし30万個のファイルが入ったディレクトリをエクスプローラーで開こうとしたりlsで表示しようとしたりすれば何かおかしなことになるかもしれない=>バグったら調査も難しくなる=>分散配置しよう、という思考を普通はたどるものだ。 ちなみに、linuxなどで最近使われ始めているxfsファイルシステムだと、30万個程度の数は平気で扱えるらしい。(へぇ)
なお、linuxをはじめとするOSS(オープンソースソフトウェア)とWindowsのようなプロプライエタリなソフトウェアとどっちがいいかという話は結局のところ好みの問題であって掘り下げたところで宗教戦争にしかならないのでどうでもいい。

コメント
> 原付バイクで青森から福岡まで・・・
間違いなく良いたとえです。現に私は笑ってしまいました。オープンソースについては今私はXOOPSと格闘中なので考えさせられることも多いです。
Posted by fabi at 2005年6月19日
コメントする
(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)