インタビューAmazon の DocumentDB データベース サービスは、クラウド企業によって「MongoDB と互換性がある」と説明されていますが、MongoDB の CTO である Mark Porter 氏はThe Registerに対して、これは完全には当てはまらないと述べています。
MongoDB CTO マーク・ポーター氏、AWS Re:invent にて
DocumentDB は JSON データの保存、クエリ、インデックス作成を目的としており、AWS での正式名称は「Amazon DocumentDB (MongoDB 互換)」です。
MongoDB と DocumentDB の違いについて詳しく知りたかったので、ラスベガスで開催された Re:invent カンファレンスで Porter 氏と話をしました。
「MongoDBと互換性がありません」とポーター氏は述べた。「それは嘘です…当社のテストでは34%の互換性があります。最も重要なのは、ユーザーと顧客にとって、MongoDBの魔法のような魅力の全てにおいて互換性がないということです。」
集約機能も変更ストリームもなく、言語もそれほど多くありません。いわば「フランケンベース」で、他に適切な言葉はありません。彼らは私たちのApache 2.0ドライバを採用し(それ自体は問題ありません)、PostgreSQL用のプラグインを開発しました。これはAurora PostgreSQLをベースにしています…MongoDBの利点もリレーショナルの利点も得られず、その中間の何かしか得られません。
「リレーショナルデータベースを使いたいならリレーショナルデータベースを使い、ドキュメントデータベースを使いたいならドキュメントデータベースを使うべきだと考えています。この製品の必要性を感じません。」
ポーター氏は2020年7月にMongoDBのCTOとして採用されました。氏は以前、2013年5月から2018年10月までAWSのゼネラルマネージャーを務め、リレーショナルデータベースサービス(RDS)、Amazon Aurora、RDS for PostgreSQLを担当していました。
AWSは2019年1月にDocumentDBをリリースしました。当時、同社の非リレーショナルデータベース担当副社長であるショーン・バイス氏は、AWSがMongoDB APIをサポートした「専用のドキュメントデータベースをゼロから構築する」ことを決定したと述べました。この動きは、MongoDBがサーバーサイドパブリックライセンス(SSPL)を導入したことと関連していると思われます。SSPLは、「クラウドプロバイダーが価値をすべて独占し、コミュニティに何も還元しないことが容易すぎる」という理由で開発されました。
SSPL は、オープン ソース ライセンスとして OSI (Open Source Initiative) によって承認されていません。
MongoDB の互換性と、それが PostgreSQL に基づいているという主張の両方について AWS に問い合わせたところ、この FAQ が紹介されました。そこには、「「MongoDB 互換」とは、Amazon DocumentDB が Apache 2.0 オープンソースの MongoDB 3.6 および 4.0 API と対話することを意味します」と記載されています。
MongoDBの現在のバージョンは5.0です。FAQにはPostgreSQLについては記載されていません。
MongoDBはAWSに対し、DocumentDBをMongoDB互換と表記しないよう要請したのでしょうか?「MongoDB互換ではないことは既に伝えています。ここで注目すべきは、AWSが私たちにとって素晴らしいパートナーであるということです。DocumentDBを開発しているのはAWSの一部ですが、AWSの大部分は緊密で親密な、素晴らしいパートナーです。エメラルドスポンサーシップの展示会で、そのことをご理解いただけると思います。」
確かに、MongoDB は 2 つの展示スタンドを設置し、会場内のレストランを 1 週間占拠するなど、Re:invent で目立っていました。
ポーター氏は、MongoDBは極めて好調だと断言した。「16年前の創業以来、当社のコミュニティソフトウェアは2億回ダウンロードされています。過去12ヶ月間では8000万回を超え、11月には1000万回を超えました」と彼は述べた。
これらは非商用のダウンロードであり、顧客ではないが、ポーター氏は「いつか彼らが当社の商用製品を使い始めるだろう」という希望を表明した。
MongoDBはAWSのARMベースサーバーであるGravitonで動作しますか?「まだGravitonでは動作していません」とポーター氏は言います。「AWSチームと協力して開発を進めています。」
課題は何でしょうか?「アプリケーションレベルでは、コードが再コンパイルされて動作します。これは素晴らしいことです。サーバー製品やオペレーティングシステム製品を実行する場合、チップ、メモリ、キャッシュ、IOサブシステムと密接に連携します。そのため、私たちはその統合を実現しようと取り組んでいます。」
- MongoDBは、選択可能なマルチクラウドDBaaSを展開し、AWS、Google、Microsoftと連携することで参入障壁を勝ち取りたいと考えている。
- HPE、英国公共部門における「クラウドファースト」推進に反対キャンペーン
- AWS史上最悪?クラウド大手がRedis互換のMemoryDBを発表、賛否両論
- Kubernetesにエンタープライズデータベースを導入?ベテランアナリストが警告、慎重に進めるべき
- オープンソース開発者は企業からより制限の少ないライセンスを採用するよう圧力を受けているとペルコナCEOが語る
ポーター氏はサーバーレスの熱狂者でもあり、この話題は Rust の主張を議論する際にも話題になりました。
MongoDBのコードをC++からRustに移行しても持続可能性にはほとんど影響がないと彼は述べた。しかし、「持続可能性に関して私が考えるもう一つの点はサーバーレスです。ユーザーが独自のインスタンスを割り当てる場合、バーストが発生する可能性があるため、余裕を持たせる必要があります。私たちは昨年サーバーレスを導入しましたが、その目標は高い稼働率で稼働させることで効率を高め、プロバイダーへの支払いを減らし、ハードウェアとエネルギーの使用量を削減することです。」
ポーター氏によると、サーバーレスはAWS上で提供されており、現在はベータ版とのことです。顧客にとって、独自インスタンスを運用するよりも実際にコスト削減になるのでしょうか?
「私たちの目標は、規模を拡大してより経済的にすることです」とポーター氏は言う。「しかし、現在はベータ版です。」®