プロプライエタリDBMSに代わって台頭してきたのは、オープンソースDBMSだけではない。利用条件が異なる「ソースアベイラブル」にライセンスを切り替える動きが、一部のDBMSで生じている。どのようなものなのか。
「プロプライエタリ」は、ソースコード非公開の商用製品を指す。これと対照的な概念が、ソースコードが公開され、コミュニティー主導で開発を進める「オープンソース」だ。ソースコードは閲覧可能だが、オープンソースとは利用条件が異なる「ソースアベイラブル」という考え方もある。近年はプロプライエタリのデータベース管理システム(DBMS)だけではなく、オープンソースまたはソースアベイラブルなDBMSが広く普及している。本稿は主要な12個のオープンソースおよびソースアベイラブルなDBMSのうち、9〜12個のDBMSについて、それぞれの機能、利用例、ライセンス、商用サポートを紹介する。
「Couchbase Server」は、「JSON」形式に加え、キーと値(バリュー)をペアにした「キーバリューストア」形式の両方でデータを保存できるNoSQL(リレーショナルデータ以外のデータモデル)ドキュメントデータベースだ。2011年に2つのオープンソースデータベース企業が合併して生まれたCouchbaseが開発元となっている。一方はオープンソースデータベース「CouchDB」の作者であるダミアン・カッツ氏が設立したCouchOne、もう一方は分散キャッシュ技術「Memcached」の開発者がキーバリューストアを構築するために設立したMembaseだ。
名前が似ており、一部の出自を共有しているにもかかわらず、Couchbase ServerとCouchDBは直接的な関係や互換性はない。これらは独自のソースコードとAPI(アプリケーションプログラミングインタフェース)を持つ、全く異なるデータベース技術だ。Couchbase Serverは複数サーバに対して、データの読み書きにおける整合性を確保でき、トランザクション処理におけるデータの整合性と信頼性を保証する「ACID特性」(原子性、一貫性、独立性、永続性)を備える。JSONデータを操作するためのクエリ言語「SQL++」が利用可能なベクトル検索と全文検索、データベースの役割ごとにスケールアップできる多次元スケーリング機能も搭載する。
複数サーバで稼働させる「分散アプリケーション」、モバイルデバイス向けアプリケーション、データを発生源の近くで処理する「エッジコンピューティング」、IoT(モノのインターネット)アプリケーションといった分野で、Couchbase Serverが活躍している。
Couchbase Serverは当初オープンソースライセンス「Apache License 2.0」で提供されていたが、2021年に「Business Source License 1.1」(BSL 1.1)に切り替わった。BSL 1.1は、他のベンダーによるソフトウェアの商用利用を制限するソースアベイラブルライセンスだ。Couchbase Serverの各バージョンは、公開から4年後にApache License 2.0に切り替わる。
Couchbaseは、クラウドサービスおよびオンプレミスサーバ向けの「Enterprise Edition」、モバイルデバイス向けの「Couchbase Mobile」、フルマネージド版DBaaSの(Database as a Service)「Couchbase Capella」を提供している。
Couchbase Serverと同様に「MongoDB」も、当初はオープンソースソフトウェアとして開発された後、ソースアベイラブルになったNoSQLドキュメントデータベースだ。2009年に誕生したMongoDBは、JSONに似たデータ形式「BSON」(Binary JSONの略)として内部でデータを格納する。BSONはJSONが持つデータ型を拡張し、日付型やバイナリデータなども扱えるよう設計されており、高速なインデックス作成とクエリ処理を実現する。
MongoDBは、データベースの構造の制約を受けずにアプリケーションを作成したい開発者からの支持を得ている。MongoDBはドキュメントデータ、グラフ、地理空間、時系列といったデータを標準で扱うことが可能だ。主要開発元であるMongoDB社が提供するクラウドデータベースサービス「MongoDB Atlas」は、ベクトル検索と全文検索の機能も提供しており、ローカルでの開発やテスト目的であれば無償で利用できる。その他の特徴としては、複数データを同時に更新する際のACID特性確保、スケールアウトのためのシャーディング(1つの表を複数のサーバに分割して記録すること)、自動負荷分散などがある。
MongoDBはAIアプリケーション、エッジコンピューティング、IoTアプリケーション、モバイルアプリケーション、決済、ゲーム、Webサイトのパーソナライズ、コンテンツ管理、製品カタログなど、幅広い用途がある。
2018年10月以降に公開される「MongoDB Community Server」の新バージョンおよびパッチは、MongoDB社が作成したソースアベイラブルライセンス「Server Side Public License」(SSPL)バージョン1に従う。
MongoDB社はMongoDB Atlasに加えて、MongoDB Community Serverにはない追加機能を提供するセルフマネージド版「MongoDB Enterprise Server」も提供している。MongoDBのサポートやマネージドサービスは、DatavailやPerconaなどのベンダーが提供するものもある。「Amazon Web Services」(AWS)の「Amazon DocumentDB (with MongoDB compatibility)」は、MongoDBのバージョン4.0と5.0と互換性のあるフルマネージドDBaaSだ。
Redisは、ソースアベイラブルに移行したNoSQLインメモリデータベースだ。ソフトウェアプログラマーのサルバトーレ・サンフィリッポ氏が、リアルタイムのWebサイトログ分析ツールにおけるデータベースのスケーリング問題を解決するために2009年に立ち上げたことがきっかけとなり誕生した。「Remote Dictionary Server」の略であるRedisは、当初、データベースやアプリケーションの処理を高速化するためのキャッシュ技術として、キーと値の組み合わせを保持する「キーバリューストア」を提供するソフトウェアの位置付けだった。
データベースのキャッシュ機能は今もRedisの根幹であり、レプリケーション機能、データ永続化、複雑なデータ型の取り扱いといった特徴を備えている。機能拡張の結果、JSONデータやベクトルデータ、時系列データも取り扱えるようになった。
Redisはデータベースとしても使えるが、主要な用途はデータベースクエリのキャッシュだ。チャンネルの購読者全員にメッセージを配信するメッセージングモデル「Pub/Sub」を通じたリアルタイム通知、Webアプリケーションとモバイルアプリケーションのユーザーセッションを管理するためのセッションストアとしても利用される。
2024年3月、Redis社はRedisバージョン7.4以降を「Redis Source Available License 2.0」とSSPLバージョン1のデュアルライセンスにすることを発表した。拡張機能群「Redis Stack」も、同月以降同じライセンスが適用されている。
Redis社が商用版として用意しているのが、クローズドソースの「Redis Enterprise」と、フルマネージド版の「Redis Cloud」だ。Microsoftの「Azure Cache for Redis」は、RedisとRedis Enterpriseの両方をそろえるマネージドサービスだ。AivenやInstaclustrといったベンダーもRedisのマネージドサービスを提供する他、AWS社、Google、OracleもRedisと互換性のあるクラウドデータベースサービスを提供している。
Googleのプロプライエタリデータベース「Spanner」に着想を得た、ソースアベイラブルな分散SQLデータベースが「CockroachDB」だ。主にCockroach Labsが開発し、2015年に初公開した。名の由来となったゴキブリ(cockroach)のように、CockroachDBの中核的な設計目標は「停止させることが困難」であることだ。耐障害性、回復力、一貫性を備えたDBMSとして設計されている。
CockroachDBは、スケールアウトによって、システム障害が発生した場合のエンドユーザーに対する影響を抑えるため、データベース管理者による手動で復旧作業がほとんど必要なくなる。主な特徴には、自動修復・回復機能、ACID特性を確保したトランザクション処理、アプリケーションのパフォーマンスを向上させるためのデータの地理的分割(ジオパーティショニング)などがある。エンドユーザーがどのサーバノードからデータの読み書きをしても、変更が競合しない「マルチアクティブアベイラビリティ」モデルを実現している。
大量のオンライントランザクションを処理するアプリケーション、複数のデータセンターや地理的地域にまたがる分散データベースにCockroachDBは適している。
2024年11月公開のバージョン23.4以降、CockroachDBはセルフマネージド版のライセンス体系を変更した。従来の無償版「CockroachDB Core」の提供を中止し、企業向けの「CockroachDB Enterprise」に一本化した。個人や研究機関、中小企業は無償で利用可能だが、それ以外のビジネスユーザーは有償での利用となる。ソースコードは引き続きソースアベイラブルとして公開されている。
Cockroach Labsは、セルフマネージド版のCockroachDB EnterpriseとDBaaS版の「CockroachDB Cloud」の両方で、有償の企業向け機能と技術サポートを提供している。
TechTarget.AI編集部は生成AIなどのサービスを利用し、米国Informa TechTargetの記事を翻訳して国内向けにお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
本記事は制作段階でChatGPT等の生成系AIサービスを利用していますが、文責は編集部に帰属します。
「テレワークでネットが遅い」の帯域幅じゃない“真犯人”はこれだ
ネットワークの問題は「帯域幅を増やせば解決する」と考えてはいないだろうか。こうした誤解をしているIT担当者は珍しくない。ネットワークを快適に利用するために、持つべき視点とは。
「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。
「ECプラットフォーム」売れ筋TOP10(2025年5月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。
「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...