kanizaのブログ

コンピュータ、ソフトウェア、映画、音楽関連や家族のことなど、思いついたことを書きます。

ZFSすごそう

前に書いたように、最近、データベースやストレージといったデータ関連の技術に興味を持っている。

SunがSolaris向けに開発したZFSというファイルシステムがある。「Z」には、「最後の」「究極の」という意味合いもあるそうで、どんなもんかと思いつつ詳しいところはスルーしていたのだけど、最近、説明スライドを見て「すげーかも」と思っている。

ファイルシステムのあり方をゼロから見直したということで、これまで「仕方ない」と思っていたようなことが多く改善されている。物理的なディスクとファイルシステムの独立(5つのディスクで3つのファイルシステムとかできる)とか、あらゆる変更がアトミックだとか、任意の時点でスナップショットを取れるとか、ファイルシステムとしてバックアップ機能を持っているとか、いろいろ嬉しそう。これまで、巨大なデータを扱う場合でのディスクのクラッシュとかバックアップの不便とかっていう頭痛のタネがだいぶ減りそうだ。

実際に使ってみないと嬉しさはわからんけど、たかが(失礼)ファイルシステムなのに「試してみたい!」と思う要素がたくさんある。Mac OS Xに搭載されるという噂もあるようだ。

いまのファイルシステムってのは、企業にとっても個人にとっても、だいぶ機能が不足している。たとえば、重要度やデータタイプ、作成者や変更履歴、コメント、機密度、関連ファイルやURL、対応するプロジェクトやキーワード、アクセス権などなど、「ファイル」というデータの塊に付与したい情報(データに関するデータ、メタデータ)はたくさんある。でも、いまんところはファイルシステム上で表現できる情報はごく限られている。拡張子のようにファイル名に埋め込んだり、ファイルの中に書き込んだりすることで対応している。

こういう要望にファイルシステムで対応するのか、それより上位のファイルフォーマットやデータベース、アプリケーションなどなどで対応するのか、いろいろあると思うのだけど、いろんなプラットフォームで互換性の高い形で実現できると良いと思う。ファイルシステムがスゴくなれば、それより上位はすべてその恩恵(と弊害)にあずかれる。

Mac OS XのHFS-Xはメタデータジャーナリングにも対応しているし、なかなか良い。でもZFSはさらにスゴそうだな。変更がアトミックならジャーナリングも要らない。大規模ファイルとかエンタープライズな用途に強そうなところがSunらしい感じがする。

ファイルシステムはものすごく基本の部分だけど、ファイル名のエンコードの問題とか、区切り文字(円マークとかバックスラッシュとかスラッシュとかコロンとか)とか互換性の問題が多い(基本の部分だから、でもある)。昔は1台のコンピュータか、せいぜい数台の同機種ネットワークでいかにうまく動作するかが重要だったんだもんなぁ。いまは世界中のありとあらゆるコンピュータとやりとりできなくちゃいけないから、昔のノリで作ったものは邪魔になってしまう。えらいこっちゃ。

とにかく、ZFSは面白そうなので今後の動向をチェックしていきたい。