BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース CouchbaseがCouchbase Server 2.0 GAをリリース

CouchbaseがCouchbase Server 2.0 GAをリリース

ブックマーク

原文(投稿日:2012/12/12)へのリンク

 

Couchbase Server 2.0の主要なフィーチャは、柔軟なJSONデータモデル、分散されたインデックス化とクエリ機能、インクリメンタルな map-reduce、そしてデータセンターを跨いだレプリケーションである。

2011年7月に開発者向けプレビューで始まった長いインキュベーション期間を経て、CouchbaseCouchbase Server 2.0の一般公開をアナウンスしたばかりである。それは、メモリキャッシュするキー-値のストア機能とドキュメント指向データベース機能を組み合わせた、NoSQLソリューションである。

Couchbase Server (CS)はJSONベースのデータモデルを使い、データベーススキーマをオプションで持っている。それは結果的に、キー-値テーブルによってユーザーはそのドキュメントに保存された情報をイテレート、セレクト、クエリすることができる、一貫したビューを提供している。インクリメンタルなmap-reduce操作により生成されたビューによって、開発者は自分のアプリケーションに対する、単純でリアルタイムな分析を提供することができる。ビュークエリは、クラスタの個々のノードに分散され、レスポンスが返される前に、各ノードからの結果はマージされ、照合される。

Couchbase Server 2.0が導入したCross Datacenter Replication (XDCR) によって、データベース管理者はクラスタとデータバケット間でデータを複製できる。このフィーチャは、災難時のリカバリと広く分散したアプリケーションをローカルに改善する手段を提供する。

CSはメモリ内でデータ変更を行ない、後でSQLite を使って各ドキュメントを永続化のために、ディスクにコミットする。改善は、追記のみの永続化エンジンに見られ、ファイルの最後尾に全てのアップデートを追加し、データを破損から守り、書き込み速度が上がった。

Couchbaseは、 Linux (Ubuntu, Red Hat), Windows、Max OS X向けの32と 64ビットのコミュニティとエンタープライズパッケージを提供している。コミュニティ版は無料で熱狂者をターゲットにしており、実運用環境には推奨されていない。なぜならコミュニティ版には、「反復的なテスト、修正、検証用のQAサイクルには従っていない。これはエンタープライズ版のリリースプロセスの一部であり、結果として、最新のエンタープライズ版固有のバグ修正は含んでいない」とエディション仕様は言っている。

Couchbaseはまた、 Java, .NET, PHP, Ruby, C 、Python用のSDKと Node.jsとGo用の実験的なクライアントライブラリを提供している。コミュニティは Clojure, Erlang, Node.js, Perl, PythonとTCL 開発用のクライアントライブラリ をいくつも作成している。

Couchbase Server は、2つの技術、Apache CouchDBと Membaseをマージして作られた。CSは CouchDB機能の多くを継承しているが、プロジェクトは異なる道を歩んできた。GitHub上でそれ自身のオープンソースプロジェクトである。InfoQのインタビューで Couchbaseが説明した。

チームが Couchbaseを作るために、Apache CouchDB と Membaseの統合を始めた時に、 Membaseをベース技術として始めました。Apache CouchDBコードのある面は Membaseのストレージバックエンドを置き換えるためにとCouchbase Serverにおけるインデクッスとクエリの基礎を提供するために 利用されました。しかし本質的な部分は書き換えられて、分散データベースのユースケース必要なパフォーマンスとリソース使用率を達成しています。例えば、全ファイルストレージパスは最適化され、Cで再実装され、 Couchbaseフロントエンドに必要な機能に削減されました。その結果、CouchbaseはApache CouchDB技術に非常に影響されていますが、内容的には違うものです。インデックスやクエリに関する多くのことが Apache CouchDBと上位互換で、例えばドキュメントアクセスと管理APIは、 Membaseと上位互換です。もちろんCouchbaseは100%オープンソース(Apache 2.0ライセンス)なので、誰でも使いたい人は無料で全ソースコードが使えます。

ドキュメント関連のフィーチャで、CS と CouchDB間の大きな違いは、

Couchbase Server は、メモリキャッシュAPIをベースにした、ドキュメント操作API(上で述べた)を使い、異なる操作セットを提供しています(例えばアトミックなインクリメントとデクリメント、ドキュメント改定を公開しないなど)。

インデックス化セマンティクスは変わりました。 Apache CouchDBと違って、デフォルトではCouchbase Server は最終的にインデックス化されたモデルを持ち、項目がストレージ層に達した時に非同期でインデクッスが付きます。クライアント側で操作ごとに違ったセマンティクスを選べる機能があります。

Apache CouchDBに「少数の従業員が非常に積極的」ですが、その創立者である Damien Katz氏の焦点は、 Couchbaseであり、これが恐らく元々のプロジェクトからもっともっと枝分かれするだろう。

 

この記事に星をつける

おすすめ度
スタイル

BT