LonghornやMac OS X 10.4で搭載される「らしい」、新ファイルシステムの本質

新OSには「新しいファイルシステム」が搭載されるとの情報が、静かにではあるが確実に流れてきている。しかし、

「ファイルのフォーマットや保存してある場所にかかわらず,いかに迅速に情報を見つけ出し,利用できるようにするか(Longhorn)」
「メタデータをサポートした新しいファイルシステム(Mac OS X 10.4)」

といった、きわめて抽象的かつ情緒的な言葉によってのみ綴られている。こういう技術を導入した場合に発生するメリットと、それを十分に利用するために必要な技術とは何だろうか?

これらの話は、「メタデータをサポート」「データベースが基盤」という話が入り混じっているため、それぞれを個別に解き明かす必要がある。

メタデータをサポートという話は、つまり各アプリケーションが好き勝手に独自のフォーマットで保存しているデータを、「プレーンなデータ+メタデータ」という形式で保存することによって、アプリケーションを超えて自由にやりとりできるようにする、ということになる。

しごくもっともな話に聞こえるが、アプリケーション側が対応しないと「絵に描いた餅」になってしまう。そういう方面にアプリケーション開発側がメリットを感じないかぎり、対応は進まないだろう。Widowsにおいては、「とりあえずOfficeがそのように対応する」という理解でよいだろう(理解に間違いがあったらご指摘いただきたい)。

一方、現時点でそうした環境を享受できているMac OS X環境においてはどうか。AppleScriptによって各アプリケーションのデータを取り出して処理を行えるのがMac OS Xだ(Classic Mac OSもそうである)。

自由度は高いものの、大量のデータを高速にアプリケーション間でやりとりする、という話になるとAppleScript経由で処理を行わせることには無理を感じる。

アプリケーションのデータを取得するのに、アプリケーションそのものと通信を行う必要があるため、アプリケーションの起動を行わなければならず、ここでオーバーヘッドが発生する。すでに起動していても、データそのものを読み書きしているわけではないため、やはりオーバーヘッドは発生してしまう。大量にデータ通信を行った場合にどうなるかは、やってみないと分らない。そういう処理を行う場合には、事前にテストデータで安全テストや処理時間の計測を行っておくのがセオリーだ。

特定アプリのデータを取り出す、あるいはデータを保存するといった処理だけなら、アプリケーションを介さないほうがオーバーヘッドは小さいだろう。

実は、このような試みはすでに一部で実装され、日々われわれは利用している。実例を示そう。

誰でも知っているApple純正ジュークボックスソフトのiTunesは、数千から場合によっては数万曲もの大量の音楽データを管理している。他のアプリケーションがiTunesに曲のリストを求める場合に、iTunesに直接通信して問い合わせたのでは、通信に時間がかかってしまって、正直なところ使い物にならない。

そこで、iTunesは自分のライブラリデータの情報を、「iTunes Music Library.xml」という外部データに対し、内部ライブラリとは別に情報を保存するようにしている。iPhotoやiMovieなどのアプリケーションは、このデータに対してアクセスを行い、楽曲データを取り出すという仕組みだ。これなら、数万曲のデータも迅速に取り出せる。

100%の確証がある話ではないが、AppleEvent経由による通信では処理し切れない量とスピードであるため、この解釈で間違いない。

AppleのAppleScript製品担当であるSal Soghoianは、海外の雑誌に対して「iアプリ間の連携はAppleScriptによるもの」と説明しているが、実情はやや異なるようだ(高速データ通信を行える専用の隠し命令を持っている、という可能性は低い)。

「メタデータをサポートするファイルシステム」のメリットはよく分った。データの互換性が向上することと、アプリケーション間のデータ通信を高速化できることだ。


では、データベースがファイルシステムの基盤になると何がどのように便利になるのだろう。

現在、ファイルシステム上のある特定のファイルを指し示す場合には、「どのディスク上の」「どのディレクトリ内の」「どのファイルか」を明らかにする必要がある。ファイルを指し示せれば、あとはファイル番号で指し示すもよし、エイリアスマネージャの威力を借りれば、移動しても自動で追尾できるし、なんとかなる。

この「データがどこにあるかを探さなくてはならない」というのは、コンピュータを利用する上で面倒きわまりない作業だ。Aさんの親御さんから来た3年前の夏の旅行のおさそいのメールを探さなくてはならない、といった場合に、その場所をすぐに指し示すことなど不可能である。

データベースの上にファイルが載れば、こうした検索を行えるようになる、というのがメーカー側の言い分のようだ。しかしながら、その場合のキーをどうするのか? 全文検索を行うというのであれば現状と何も変わらない。メタデータをファイルとセットにして、ファイルが保存される際にデータ中からキーワードを抽出しようというのだろうか。

データ保存のたびに手作業でメタデータを付ければ間違いないが、いちいちそれを手で行うのはナンセンスだ。このあたりに、各OSが「使いやすくするための補助機能」を盛り込んでくるはずで、自然言語処理の分野の技術を用いてくることは間違いない。

自然言語処理のテクノロジーはすでに現行の多くの製品で使われているが、それをユーザーに直接意識させるような実装は少ない。しかし、これを積極的にユーザーに感じさせるような「何か」が登場するかもしれない。実例をあげれば、iTunesやiCal、アドレスブックのデータ中から固有名詞を定期的に抽出して「ことえり」の固有名詞辞書に登録しておくといった設定が「システム環境設定」の中に出現するかもしれない、ということだ(夜中に勝手に処理させる設定などが登場)。

また、キーワードを自動で抽出できえたとしても、ユーザーが指示した時点から検索を行ったのでは時間がかかることに変わりはない。事前に先読みして抽出をしておくぐらいの芸当はやってくれるかもしれない。

このあたりでもう少し細かい情報がメーカーから出てくれば、さらに確度の高い予想や理解が行えると思うのだが、現状ではいかんともしがたい。

この時点での理解でも、表に出てきていない重要な「何か」が他に存在していることを感じ取れる。むしろ、そちらの方が大きな存在となるに違いない。

Copyright By Piyomaru Software. All Rights Reserved