| 開発者 | カウチベース株式会社 |
|---|---|
| 初回リリース | 2010年8月 |
| 安定リリース | 7.6.2 / 2024年7月19日 |
| リポジトリ |
|
| 書かれた | C++、Erlang、C、[1] Go、Java |
| タイプ | マルチモデルデータベース、分散キーバリューデータベース、ドキュメント指向データベース、JSONデータベース |
| ライセンス | BSL 1.1、[2] フリーミアム |
| Webサイト | カウチベース |

Couchbase Server は、元々Membaseとして知られており、対話型アプリケーション向けに最適化された、ソースが利用可能な[2]分散型 (シェアードナッシングアーキテクチャ)マルチモデル NoSQL ドキュメント指向データベースソフトウェアパッケージです。これらのアプリケーションは、データの作成、保存、取得、集約、操作、および表示によって、多数の同時ユーザーにサービスを提供します。これらの種類のアプリケーションのニーズをサポートするために、Couchbase Server は、低レイテンシで高い持続性スループットを備えた、拡張しやすいキー値または JSON ドキュメントアクセスを提供するように設計されています。単一のマシンから多数のマシンにまたがる非常に大規模な展開まで、 クラスター化できるように設計されています。
Couchbase Serverはmemcached [3]とのクライアントプロトコル互換性を提供しましたが、ディスクの永続性、データレプリケーション、ライブクラスタ再構成、再バランス、データパーティショニングによるマルチテナント機能を追加しました。
製品履歴
Membase は、 memcachedプロジェクトのリーダー数名によって開発されました。彼らは NorthScale という会社を設立し、 memcached のシンプルさ、スピード、スケーラビリティに加え、データベースのストレージ、永続性、クエリ機能を備えたキーバリューストアを開発しました。オリジナルの membase ソースコードは、NorthScale と、プロジェクトの共同スポンサーであるZyngaおよびNaver Corporation (当時は NHN として知られていました) によって、2010 年 6 月に membase.org の新しいプロジェクトに提供されました。 [4]
2011 年 2 月 8 日、Membase プロジェクトの創設者と Membase, Inc. は、CouchOne ( CouchDB の背後にある主要プレーヤーの多くが所属する企業) との合併と、それに伴うプロジェクトの合併を発表しました。合併後の企業はCouchbase, Inc.と呼ばれました。2012 年 1 月、Couchbase は Couchbase Server 1.8 をリリースしました。2012 年 9 月、Orbitz は、一部のシステムを Couchbase を使用するように変更したと発表しました。[5] 2012 年 12 月、Couchbase Server 2.0 (2011 年 7 月に発表) がリリースされ、新しいJSONドキュメント ストア、インデックス作成とクエリ、増分MapReduce、データ センター間のレプリケーションが含まれていました。[6] [7]
建築
すべての Couchbase ノードは、データ サービス、インデックス サービス、クエリ サービス、およびクラスタ マネージャ コンポーネントで構成されています。4.0 リリース以降、必要に応じて 3 つのサービスを分散してクラスタの別のノードで実行できます。Eric Brewer のCAP 定理の用語で言えば、Couchbase は通常、一貫性とパーティション耐性を提供する CP タイプのシステムですが、複数のクラスタを持つ AP システムとして設定することもできます。
クラスターマネージャー
クラスター マネージャーは、Couchbase クラスター内のすべてのサーバーの構成と動作を監視します。レプリケーション ストリームの管理や再バランス操作などのノード間の動作を構成および監視します。また、クラスターのメトリック集約およびコンセンサス機能、およびRESTfulクラスター管理インターフェイスも提供します。クラスター マネージャーは、 Erlang プログラミング言語とOpen Telecom Platform を使用します。
レプリケーションとフェイルオーバー
クラスターのノード内のデータ複製は、いくつかのパラメータで制御できます。2012年12月には、異なるデータセンター間の複製のサポートが追加されました。[6]
データマネージャー
データ マネージャーは、アプリケーションからのデータ操作に応じてドキュメントを保存および取得します。クライアントに確認応答した後、データを非同期的にディスクに書き込みます。バージョン 1.7 以降では、アプリケーションはオプションで、クライアントに書き込みを確認する前に、データが複数のサーバーまたはディスクに書き込まれるようにすることができます。パラメータは、データが永続化されるタイミングに影響するアイテムの経過時間、および最大メモリとメイン メモリからディスクへの移行の処理方法を定義します。「ノード」または「バケット」あたりのメモリ クォータを超えるワーキング セットをサポートします。外部システムは、フィルターされたデータ ストリームをサブスクライブして、たとえば、フルテキスト検索インデックス、データ分析、アーカイブをサポートできます。[8]
データ形式
ドキュメントは、Couchbase Server におけるデータ操作の最も基本的な単位です。ドキュメントは、定義済みのスキーマのない JSON ドキュメント形式で保存されます。JSON 以外のドキュメントも Couchbase Server に保存できます (バイナリ、シリアル化された値、XML など)。
オブジェクト管理キャッシュ
Couchbase Server には、get、set、delete、append、prepend などの memcached 互換 API を実装する 組み込みのマルチスレッド オブジェクト管理キャッシュが含まれています。
ストレージエンジン
Couchbase Server は、データ破損、 OOM キラー、突然の電源喪失の影響を受けない末尾追加ストレージ設計を採用しています。データは追加のみの方法でデータ ファイルに書き込まれるため、Couchbase は更新のために主に順次書き込みを実行し、ディスク I/O のアクセス パターンを最適化できます。
パフォーマンス
2012年にAltorosが実施したパフォーマンスベンチマークでは、Couchbase Serverと他のテクノロジーを比較しました。[9] Cisco Systemsは、 2012年に混合ワークロードでのCouchbase Serverのレイテンシとスループットを測定したベンチマークを公開しました。[10]
ライセンスとサポート
Couchbase ServerはCouchbaseのオープンソースソフトウェア技術のパッケージ版であり、Apache 2.0ライセンス[11]で最近のバグ修正のないコミュニティ版と商用版[12]が提供されています。Couchbase Serverのビルドは、Ubuntu、Debian、Red Hat、SUSE、Oracle Linux、 Microsoft Windows、macOSの各オペレーティングシステム で利用可能です。
Couchbase は、プログラミング言語.NET、PHP、Ruby、Python、C、Node.js、Java、Go、Scalaのソフトウェア開発キットをサポートしています。
SQL++
SQL++ (旧称 N1QL) と呼ばれるクエリ言語は、 SQL が RDBMS でデータを操作するのと同じように、Couchbase で JSON データを操作するために使用されます。SQL++ には、JSON データを操作する SELECT、INSERT、UPDATE、DELETE、MERGE ステートメントがあります。SQL++ は、2015 年 3 月に「ドキュメント用 SQL」として最初に発表されました。 [13]
SQL++データ モデルは、ネストされた属性とドメイン指向の正規化をサポートする非第 1 正規形(N1NF)です。SQL++ データ モデルは、リレーショナル モデルの適切なスーパーセットであり、一般化でもあります。
例
{
"email" : "testme@example.org" 、"friends" : [ { "name" : "Pavan" }、{ "name" : "Ravi" } ] }
- クエリにいいね
SELECT * FROM `bucket` WHERE email LIKE "%@example.org";
- 配列クエリ
SELECT * FROM `bucket` WHERE ANY x IN friends SATISFIES x.name = "Pavan" END;
カウチベースモバイル
Couchbase Mobile / Couchbase Liteは、データレプリケーションを提供するモバイルデータベースです。[14]
Couchbase Lite (元々はTouchDB)は、ピアツーピアまたはクライアントサーバーレプリケーションメカニズムを内蔵したオフラインファーストNoSQLデータベース用のネイティブライブラリを提供します。 [15] Sync Gatewayは、 Couchbase LiteとCouchbase Server間のデータの安全なアクセスと同期を管理します。[16]
用途
Couchbaseは高速データキャッシュであるMemcachedの進化形として始まり、Memcachedの代替品として使用でき、コードを変更することなくmemcachedアプリケーションに高可用性を提供します。 [17]
Couchbaseは、リアルタイムのユーザーアクティビティの追跡や、ユーザー設定やオンラインアプリケーションの保存など、柔軟なデータモデル、容易なスケーラビリティ、一貫した高いパフォーマンスが求められるアプリケーションをサポートするために使用されます。[18]
Couchbase Mobileは、データをデバイス(通常はモバイルデバイス)にローカルに保存し、デバイスがネットワークに接続されていないときに動作し、ネットワーク接続が再確立されるとCouchbase Serverと同期できる「オフラインファースト」アプリケーションを作成するために使用されます。[19]
ノースウェスタン大学のCatalyst Labは、Couchbase Mobileを使用してEvoアプリケーションをサポートしています。Evoアプリケーションは、参加者の食事の質、身体活動、ストレス、睡眠を改善するためにデータを使用する健康的なライフスタイル研究プログラムです。[20]
アマデウスは、航空会社やその他の旅行パートナーのロイヤルティプログラムに関するデータを消費および統合するための「オープンでシンプル、そしてアジャイル」な戦略をサポートするために、 Apache KafkaとCouchbaseを使用しています。旅行中に混乱が生じると、価値の高い顧客を認識して補償する必要が生じ、高いスケーラビリティが求められます。[21]
2012年から、リクルーターや求人商品のバックエンドキャッシュ、セキュリティ防御メカニズムのカウンター、社内アプリケーションなど、 LinkedInのキャッシュシステムで役割を果たしてきました。 [22]
代替案
キャッシュに関しては、CouchbaseはMemcachedやRedisと競合しています。ドキュメントデータベースに関しては、Couchbaseは他のドキュメント指向データベースシステムと競合しています。一般的にMongoDB、Amazon DynamoDB、Oracle RDBMS、DataStax、Google Bigtable、MariaDB、IBM Cloudant、Redis Enterprise、SingleStore、MarkLogicと比較されます。[23] [24]
文献
- Brown, MC (2012 年 6 月 22 日)。Couchbase Server 入門(第 1 版)。O'Reilly Media。p. 88。ISBN 978-1449331061。
- Ostrovsky, David; Haji, Mohammed; Rodenski, Yaniv (2015 年 11 月 26 日)、Pro Couchbase Server 2nd ed. (第 2 版)、Apress、p. 349、ISBN 978-1484211861
- ポツアンバム、ヘンリー(2015年11月23日)、Learning Couchbase(第1版)、Packt、p. 202、ISBN 978-1785288593
- Vohra, Deepak (2015 年 8 月 3 日)、Pro Couchbase Development: A NoSQL Platform for the Enterprise (第 1 版)、Apress、p. 331、ISBN 978-1484214350
- サングディ、ジェラルド、他 (2017 年 10 月 20 日)、N1QL: 実践ガイド (第 2 版) (第 2 版)、自費出版、p. 423
- Vemulapalli、Sitaram、他 (2018 年 5 月 10 日)、Couchbase 5.5 の N1QL 機能ガイド: 特別版、自費出版、p. 112
- Chamberlin, Don ; (2018 年 10 月 19 日) SQL++ For SQL Users: A Tutorial、Couchbase
参考文献
- ^ Damien Katz (2013年1月8日). 「Cの不当な有効性」 . 2016年9月30日閲覧。
- ^ ab 「Couchbase が BSL ライセンスを採用」。Couchbaseブログ。2021 年 3 月 26 日。
- ^ 「NewProtocols - memcached - Klingon - Memcached - Google Project Hosting」 2011-08-22 . 2013-06-04閲覧。
- ^ Shashank Tiwari (2011 年 8 月 31 日)。プロフェッショナル NoSQL。John Wiley & Sons。pp. 15–16。ISBN 9781118167809。
- ^ 「Orbitz における Oracle とオープンソースのバランス」GigaOM 2012 年 9 月 21 日2016 年9 月 19 日閲覧。
- ^ ab Andrew Brust (2012 年 12 月 12 日)。「Couchbase 2.0 がリリースされました。JSON ドキュメント ストアを実装しています」。ZDNet。
- ^ Derrick Harris (2011年7月29日). 「Couchbase goes 2.0, pushes SQL for NoSQL」. GigaOm . 2016年10月2日時点のオリジナルよりアーカイブ。 2016年9月19日閲覧。
- ^ Trond Norbye (2010 年 3 月 15 日)。「memcached サーバーが何をしているか知りたいですか? タップしてみましょう」。Couchbaseブログ。
- ^ Frank Weigel (2012 年 10 月 30 日)。「Couchbase のベンチマーク」。Couchbase。2016年9 月 30 日閲覧。
- ^ 「Cisco と Solarflare が NoSQL データベースである Couchbase を使用してインタラクティブ Web アプリケーションのレイテンシーを大幅に削減」(PDF)。Cisco Systems。2012年 6 月 18 日。2012 年 8 月 13 日時点のオリジナル(PDF)からアーカイブ。2016 年10 月 7 日に取得。
- ^ 「Couchbase オープンソース プロジェクト」。Couchbase Web サイト。2016年10 月 7 日閲覧。
- ^ 「Couchbase Server Editions」。Couchbase。2012年12月27日時点のオリジナルよりアーカイブ。2012年12月7日閲覧。
- ^ Andy Slater (2015 年 3 月 24 日)。「シーッ! 誰にも言わないで。でも Couchbase は真剣な候補だよ: Couchbase Live Europe 2015」 。2018年2 月 13 日閲覧。
- ^ 「DB-Engines: Couchbase including Mobile」。DB -Engines。2013年7月29日時点のオリジナルよりアーカイブ。2021年6月29日閲覧。
- ^ “Lite | Couchbase”. www.couchbase.com . 2020年5月11日閲覧。
- ^ 「Sync Gateway Couchbase」。DB-Engines。2013年7月29日時点のオリジナルよりアーカイブ。 2021年6月29日閲覧。
- ^ Jaquier, Yannick (2016-09-27). 「Couchbase サーバーを Memcached クラスターとして使用する (パート 2)」。IT World。2022年 2 月 9 日閲覧。
- ^ 「Couchbase 入門 - NoSQL ドキュメント データベース」。Today Software Magazine。2022年 2 月 9 日閲覧。
- ^ 「Couchbase Mobile」。DEV Community。2022年2月6日。 2022年2月9日閲覧。
- ^ 「ノースウェスタン大学のCatalyst LabがCouchbaseで健康行動プログラムを拡大する方法」VentureBeat . 2021年12月31日. 2022年2月9日閲覧。
- ^ 「Amadeus Loyaltyがクラウドコンピューティング部門でCouchbase Community Awardを受賞」。Amadeus IT Group。2022年1月20日。
- ^ Michael Kehoe (2017年12月6日). 「LinkedInのCouchbaseエコシステム」. engineering.linkedin.com . 2022年2月9日閲覧。
- ^ Inc、Gartner。「Couchbase のトップ競合製品と代替製品 - Gartner 2022 - クラウド データベース管理システム」。Gartner。2022年2 月 9 日閲覧。
{{cite web}}:|last=一般的な名前があります (ヘルプ) - ^ 「MongoDBからCouchbaseへ:開発者と専門家への入門 - DZoneデータベース」dzone.com 。 2022年2月9日閲覧。
外部リンク
- 公式サイト
