サンフランシスコのAttic Labsが今日(米国時間8/2)立ち上げたNomsは、新しい分散データベースで、その‘新しさ’はGit, Camlistore, ipfs, bupなどからヒントを得ている。同社の今日の発表では、GreylockがリードするシリーズAで810万ドルを調達し、Nomsなどのプロジェクトの継続が可能になった。Harrison Metalなどのエンジェル投資家たちも、このラウンドに参加した。
Attic Labsが初耳の人でも、ほとんどの人が、ここのチームが関わったプロジェクトのどれかを、使ったことがあるはずだ。たとえば協同ファウンダーのAaron BoodmanはGreasemonkeyの作者だし、Google Chromeの開発リーダーでもあった。もう一人の協同ファウンダーRafael WeinsteinもChromeの開発(等々)に関わり、チームのほかのメンバーたちも、Chrome、Chrome OS、ECMAScript(JavaScriptのスタンダード)などで仕事をしている。
では、Nomsは、これまでのデータベースとどこが違うのか? チームが主張するのは、今日のデータベースはその多くが、“データを単一時点の存在”と捉えている。たとえばある欄がアップデートされると、アップデートされた時点の値がその欄の値に(次にアップデートされるまで)なり、前の値を知ることは困難である。今のデータベースを分散化することは可能でも、利用する側にとってそれは単なる単一のデータ集合であり、分散にユーザーレベル、アプリケーションレベルの意味は何もない。
そこでBoodmanが今日の発表声明で書いているのは、Nomsはたぶん、Gitと比較すると分かりやすいだろう、ということだ。GitのようにNomsでもユーザーはデータをレプリケート(複製)でき、複数のマシンの上でオフラインでエディットし、それらのエディットを再びシンクする(BoodmanとWeinsteinはAvantGoなどのシンクサービスの仕事をしたこともある)。Nomsでは、ヴァージョニングとエディットが破壊的でない〔前のバージョン、前のエディットが消えない〕。ただしGitと違うのは、保存するのが定型データだけで、テキストファイルは保存しない。主に、非常に大きなデータ集合をサポートすることが目的だ。
そのため、Nomsはとくに、大量のデータをインポートする業務に向いている(自動的に重複エントリを一つにする)。また、複数のソースからのデータを組み合わせ結びつけるタスクにも合う(データの変形が簡単にできる)。そしていちばん得意なのは、そんなユースケースで必ず必要になる、大きなデータセットのシンクだ。
Boodmanは次のように書いている: “Gitがソフトウェアの世界をほとんど一晩で席巻してしまったのは、分散が本質であるためにソースコードが複数のコンピューターや組織、そして人びとのあいだを、とてもなめらかに移動し、それによって、すごく充実したコラボレーションが可能だからだ。世界は、データをなめらかに共有し、密なコラボレーションのできる方法を必要としている、と思う。それを実現する自然で必然的な方法は、コンテンツでアドレシングできる(content-addressed)〔日本語Wiki〕、非集中型で、シンク能力のあるデータベースだ”。
今日の投資の結果として、GreylockのJerry ChenがAttic Labsの取締役会に加わる。