MongoDB:オープンソースの隠れた巨人

次世代のOracleか、あるいはクラウド過渡期のスキマ商売か?
らんぶる 2022.02.14
読者限定

先週はどうやら喉をやられてしまったようで(PCR検査の結果は陰性)コッカラSaaSはお休みさせていただいた。お陰様で完全回復したので、今週も元気にSaaS企業の分析を続けたい。

今週のテーマのMongoDB社は、日本のSaaS業界人の間では、前回のVeeva、前々回のPalantirよりもさらに馴染みが薄いかもしれない。一方、この10年くらいプログラマーをしてきた人なら最も有名なNoSQLデータベースとしてその名前くらいは知っているだろうし、VCオタクの人ならNEAのB2B大ヒット作、Fintech業界の人ならStripeの主幹データベースとしてその名を聞いたことがあるかもしれない。そんなMongoDB社、ビジネスの方も順調で、IPO以降着実に株価を伸ばし、2022年2月初旬時点では時価3兆円である。随分と長い間、もっとも成功したオープンソースソフトウェア(OSS)企業は、2019年7月にIBMに買収されたRedHat社だとされてきたが、時価総額と今後の成長率を考えると、その座はMongoDBに譲ったと言っても良い。

今回はそのMongoDBの歴史を軽くおさらいした後で、最近の成長を支えている彼らのクラウド製品とパートナーエコシステムについて解説する。

「MongoDBはウェブスケール」

MongoDBは2007年元Doubleclick社のDwight Merriman・Kevin Ryan・Eliot Horowitzの三名によって創業された。正確には彼らが創業したのは10genという会社で、当社10genはdotCloud(後のDocker)やHeroku(2010年にSalesforceが買収)のようなPaaSを作ろうとしていたのだが、ビジネスが思うように伸びなかったのか、途中からPaaS要素技術として作っていたデータベースを切り出して商用化する方向に舵をきる。このデータベースは巨大な規模をデータを扱えるようにということで(hu)Mongo(us)DBと名付けられ、2009年2月にリリースされた。ちょうど12年前のことだ。

MongoDBの最大の特徴はスキーマを強制しない点にある。スキーマというのはデータベース技術の核となる概念で、大半のデータベースはスキーマを定義することにより、格納された情報の処理の正確性を上げ、処理速度や格納効率を向上できるようになっている。Excel使いの人は入力規則のさらに賢いものをイメージしてくれればよい。

スキーマ設計はデータベースデザインにおいて極めて大事な作業であり、スキーマの設定ひとつで、できあがるアプリケーションの速度や品質が何倍も、何十倍も変わってしまうことも稀ではない。なので、きちんとしたスキーマを設計するのには経験と知識が必要だし、一旦設定してしまうと、後から変えるのは面倒であったり、運用の観点からリスクが高く実質無理だったりする。

そんなわけで、アプリケーションを開発するプログラマの多くにとって、データベース設計は鬼門中の鬼門であり、一部の優秀なエンジニアを除き、後を引くミスを犯しやすい、できることならばやりたくない作業の代表格であった。この問題をあっさりと「解決」したのがMongoDBである。「ドキュメント型データベース」のMongoDBにはスキーマの概念がないので、どんどんデータを放り込める。例えばユーザー情報を格納するデータベースがあったとして、最初はメアドや名前といった基本情報のみを集めていたが、途中から課金情報も格納する、みたいな柔軟な使い方が可能というわけだ(一方、これを「ふつうの」データベースでやろうとすると、課金情報を入れた別のテーブルを用意し、そのテーブルをユーザーテーブルから参照するというやり方を取るのが定石となる)。

先ほど「解決」と鉤括弧でくくった理由は、本質的にはスキーマを気にせず開発することは、性能や堅牢性の観点からは正しいエンジニアリングとは言えないからだ。他にも当初は複数オペレーションのトランザクションがサポートされていなかったりと、割と本質的な問題から目を背けがちだったMongoDBは、保守的なプログラマたちの間で散々揶揄された。アンチMongoDBの最たるものがMongoDB Is Web ScaleというYouTubeビデオだ。

https://www.youtube.com/watch?v=b2F-DItXtZs

https://www.youtube.com/watch?v=b2F-DItXtZs

何がなんでもMongoDBを推すプログラマと、より枯れた技術(具体的にはMySQL)を勧めるプログラマのやりとりを茶化したものだが、当時のMongoDBを含めたNoSQL熱と、そこに向けられたベテランの冷ややかな視線をうまく捉えている。その一方、Node.jsの出現も相まって一気にフロントエンドもバックエンドもJavaScript言語で書けるようになったことで、JSONを基本的なデータ構造として持つMongoDBはウェブプログラマの間で着実に市民権を獲得し続け、その用途はジワジワと拡がっていき、2017年の秋、MongoDBはついに上場することとなる。

この記事は無料で続きを読めます

続きは、4888文字あります。
  • 上場後にエンジンがかかったクラウド戦略
  • Atlas成功のカギ
  • コミュニティとパートナーの両輪
  • まとめ:OSSデカコーンの軌跡と奇跡

すでに登録された方はこちら