2011年5月12日木曜日

GNU MediaGoblin

Gitを読んでいたらサイドバーの『フリーのメディア共有ソフト開発プロジェクト「GNU MediaGoblin」』が目に入った。

「ユーザがデータを所有する」という考えは自分と同じだが、「まず写真にフォーカス」というところが違う。

だが自分でデータを所有するということは、様々なデータを物理的に異なるサーバ上に置く、とか、さらにそれがDBシステムを使っていれば、物理的に異なるテーブル上にデータが置かれることになりそうである。これが悩みだ。今のところ、自分はデータ交換時間を諦めることで、星の数ほどあるユーザ毎に細切れになったDBから、任意の組み合わせでデータを取ってきて表示したりする、ことが出来れば良く、次にキャッシュ的な機能をユーザ毎に(ユーザのための)インデックスを作る事で対応できれば良い、と開き直っている。そうしたインデックスはフォローしあうことで再利用されると、より効率的になりそうだ。だが問題はそれより恐らく、ディスカバリのための方法であり、巨大なディレクトリに日々追加されるデータから属性を見抜き、適宜ユーザインデックスを更新するというのは、実際どんなインパクトがあるのか、想像できない。結局、ユーザが所有するとは、どういう状態を指すのかということになってしまうのではないだろうか。そしてこの、今使っているパソコンにあるデータに、誰でもアクセスできるとしても、実質的にアクセスしない人のほうが圧倒的に多くなる気がする。まあ、ただそれは、1人の人間がデータを脳内に送る帯域に限度がある、ということで帳消しになるはずなので、実はあまり意味がないことなのかもしれない。

他には、物理的には共有された同じデータ種類(写真なら写真)を扱う巨大なテーブルを無機的にホストするiaasのようなものがあれば、ユーザからは自分専用のDBに見せることは出来るのかもしれない。つまり、レンタルサーバを借りて、mysqlのコマンドを打ってテーブルを作る代わりに既存のテーブルをテンプレートに、自分専用のインスタンスを作ることができる。レンタルサーバは実際にはその裏にもっと巨大な共有DBと繋がっていて、ユーザの要求に応じて、そこへ仮想的にユーザ専用のレコードを追加したりする。こうしたiaasと直接契約できるなら、自分で立てた物理マシンからも同じ事ができる。

つまりそれにより、ユーザ毎に別々なマシンになるより、巨大な共有DBの中にデータが収まる割合のほうが大きくなる分、アクセス効率(実転送時間)は良い(短い)だろうという漠然とした想像。

ああ、ただ逆に、例えば写真サイトの場合、写真をアップロードする手間が省けるので、実は逆にユーザ毎にマシンが別なほうが効率が良いのか? ある種p2pというか、半p2p。データは自宅のNASに保存、NASが公開、写真サイトがインデックスを管理、クライアントは写真サイトからURIを貰ってダウンロードは直接行う。か。

NASはまあまあ省電力なので、上げっぱなしでも電力事情に反しない範囲で運用できるかもしれない。クラウドの単位当たりの電力がNASと比べてどうかだが、普通に考えてクラウドのほうが効率良くないと可笑しい気はする。ただデータ転送したら余計に電気食いそうだし、そこは全体でどうかをチェックしないと分からないのかも。

0 件のコメント:

コメントを投稿