MongoDBは世界で成長著しいNoSQLデータベースのマーケットリーダー
「MongoDBは、NoSQLの中では先陣を切っているマーケットリーダーです」と語るのは、MongoDB Inc.の日本およびアジアパシフィック地域担当 バイスプレジデント kamal Brar氏。MongoDBの開発は、2007年に10gen社によって始まり、2009年に最初のバージョンが登場した。その10gen社は、2013年8月に社名をMongoDB Inc.に変えた。
「市場が米国内だけであれば、10genのままでもよかったかもしれません。しかしグローバルを考えると、社名をMongoDB Inc.とすることで、企業としてMongoDBに注力することをメッセージする必要がありました。もう1つは、MongoDBという実績のあるコミュニティーとの名称の統一です。ビジネスとコミュニティーを統一し、グローバルに展開していきます」(Brar氏)
MongoDBは、GNU Affero General Public License v3.0(ドライバーなどはApache License)ライセンスで提供されている。導入のためのコンサルティングサービス、有償のサポートサービスの提供が、MongoDB Inc.のビジネス部分となる。同社は、このオープンソース製品を開発し、世界市場でビジネスを行うために、81ミリオンドルを超える規模の投資を著名なベンチャーキャピタル、Red Hat社などから得ている。
現在従業員は300名、有償サポートサービスを受けている顧客数も600社を超え、ビジネスは急激に拡大している。金額的にもっとも大きな市場は北米で、次がEMEA(Europe, the Middle East and Africa)。「現在、ヨーロッパ地域での成長は著しいものがあります。さらに成長が期待されているのが、日本を含むアジア地域です」とBrar氏。この成長の期待を受け、今後は東京にもオフィスを開設する予定だ。
リレーショナルとKey-Value型のギャップを埋める
NoSQLデータベースと言うと、まずはKey-Value型のHadoopが思い浮かぶ。これに対しMongoDBの「ドキュメント指向型」は、あまり馴染みがない。このことが、MongoDBの認知度を今ひとつとしている原因では、と訊ねると「ドキュメント指向型データベースを作ろうとしたのではなく、新しいタイプのデータベースを作ろうと考えました。それは、リレーショナルとKey-Value型のギャップを埋めるものです。結果的に、JSONを使うことでフレキシブルなデータ構造を扱えるものになりました」とのこと。
これは、汎用的ではあるが大量データに向かないリレーショナル型と、大量データの処理には向くが特定用途向けのKey-Value型のギャップを埋めようと考えた結果だ。選択したのが、JSONライクなフレキシブルなデータ構造であり、そのデータ構造でKey-Value型が分散処理で実現しているビッグデータ処理ができるよう設計された。
Key-Value型は、大量データを格納するのには向いている。しかし、蓄積されたデータに対しては、Keyをベースにしか基本的にアクセス方法はない。リレーショナル・データベースのSQLのような、複雑な検索は難しい。これに対しMongoDBは、SQLと同様な複雑な検索処理も可能だ。その上で、データ格納形式は極めてフレキシビリティが高い。このことが、SNSやモバイル、センサーなどマシンから生まれる大量データを効率的に格納し処理するのに向いているのだ。
MongoDBがNoSQLの1つと捉えられると、どうしても特定用途向けというイメージになりがちだ。しかし、Brar氏によれば、「極めて汎用性の高いデータベースである」とのこと。実際、金融、EC、医療分野など、さまざまな用途ですでに利用されているという。
たとえば、世界中でさまざまな「仲介」を行うためのオンラインサービス「craiglist」の例では、1日あたり150万の新規投稿があるシステムをMySQLで運用していた。しかし性能的に逼迫し、アプリケーションの変更にも柔軟に対応できない問題が発生し、MongoDBへの移行を行った。結果的には、50億のドキュメント、10TBのデータベースを高速に処理できるようになり、アプリケーションの変更に伴う変更にも柔軟かつ迅速に対応できるようになった。さらに、自動フェイルオーバー構成もとれるようになり、高可用性も実現している。
また、オンラインの写真サービス「shutterfly」では、60億のイメージデータで、20TB超える規模のデータベースをOracle Databaseで運用していた。これを将来的な拡張性能の問題などから、MongoDBに移行、コスト面で80%削減、性能面では900%の向上を図ったのだ。これらのように、リレーショナル・データベースでは不得意、コスト高となる領域において、MongoDBへの移行で大きなメリットが得た事例が多数ある。
とはいえ、もちろんすべてのデータベース用途を、MongoDBが担えるわけではない。会計処理などのOLTPの処理はMongoDBではきない。なので、それらの領域は従来通りリレーショナル・データベースを利用する。現実的には、それら既存システムと適宜連携させる構成となるだろう。