
Couchbase Server
ドキュメント型NoSQLデータベース
柔軟なJSONドキュメントのモデルを使用することにより、Couchbase Serverは固定的なデータベースのスキーマ定義を必要とせず、アプリケーションの修正を簡単なものにします。また、1ミリ秒以下という高スループットの読込み/書込みによって、安定したハイパフォーマンスを実現します。Couchbase Serverは、スケールアウトが容易で、ダウンタイムを伴わないトポロジー変化のサポートに優れています。
容易なスケーラビリティー
クラスタ内、または複数のデータセンタのクラスタ 間においても、Couchbase Serverをご利用頂く 事で、データベース層のスケールがワンクリック するだけで簡単に行えます。ダウンタイムもなく、 アプリケーションの変更もございません。また、ク ラスタの規模をサーバ1台から25台、数百台に 至るまで拡張して、サーバにかかる負荷を平等 に分散することが可能です。 .
365日稼動
Couchbase Serverは24時間365日稼動しています。そのため、データベース、ソフトウェア、またはハードウェアのアップグレード、サーバ障害などのトラブルにもダウンタイム無しで対応が可能です。
安定したハイパフォーマンス
Couchbase Serverは安定して1ミリ秒以下で応答を返す為、アプリケーションユーザは快適に操作することができます。安定したスループットは数台のサーバでもより多くのユーザへサービスの提供を可能とします。また、データとサーバの負荷は、全てのサーバ間で平等に分散されます。
柔軟なデータモデル
アプリケーションを変更する際に、データベースの心配をする必要がありません。スキーマが固定的でないため、異なる構造のレコードを持つことができます。また、データベース中の他のドキュメントを修正することなく、いつでもレコードの構造を変更する事ができます。
What’s New in Couchbase Server 2.0

柔軟なJSONドキュメント
TJSONドキュメントのモデルは、開発における障害を減少します。ドキュメント型のデータベースには、堅固なスキーマや、別の環境やバージョンへの移行に伴うリスクがありません。変更が必要なフィールドだけが追加されます。

インデックス作成とクエリ実行
セカンダリインデックスを用いて、データを検索することが可能です。Couchbase Serverはインデックスをメンテナンスし、クラスタ間へデータとクエリを分散させます。

クロスデータセンターレプリケーション (XDCR)
データセンター間でデータを複製する事で、世界中のユーザにハイパフォーマンスなサービスを提供することが可能です。サーバ障害などのトラブルが生じた場合でも、レプリカにて復旧が可能です。

Couchbase SDKs
Java Resources
Community
Learn how to use Couchbase Server with Java in this recorded webinar. There’s also a community Clojure driver that is worth checking out. Also, there’s a Couchbase Labs JRuby driver. Please fork!
System.out.println("Hello Couchbase!");
CouchbaseClient client = new CouchbaseClient(
Arrays.asList(URI.create("http://<your-ip>:8091/pools")),
"beer-sample",""
)
// Set and print a nice greeting
client.set("greeting", 0, "Hello Couchbase!");
System.out.println(client.get("greeting"));
// Run a view query (first 10 beers/breweries)
View view = client.getView("beer", "brewery_beers");
Query query = new Query();
query.setIncludeDocs(true).setLimit(10);
ViewResponse response = client.query(view, query);
for(ViewRow row : response) {
System.out.printf("Id:%s Name:%s Doc:%s\n",
row.getId(), row.getKey(), row.getDocument());
}
// Disconnect
client.shutdown(3, TimeUnit.SECONDS);
Ruby Resources
Community
Learn how to use Couchbase Server with Rails in this tutorial.
If you’re deploying to Heroku you might need this build pack. Here’s a blog post showing Hello World in Ruby.
puts "Hello Couchbase!"
client.add("beer_Atlantic_Amber", new_beer)
view = client.design_docs["beers"].by_name(:limit => 1)
view.each(:key => "Atlantic Amber") do |beer|
puts beer["name"]
end
.NET C# Resources
Community
A video webcast about .NET is on YouTube.
Console.WriteLine("Hello Couchbase!");
client.StoreJson(StoreMode.Add, "beer_Atlantic_Amber", newBeer);
var view = client.GetView<Beer>("beers", "by_name")
foreach(var beer in view.Key("Atlantic Amber").Limit(1))
{
Console.WriteLine(beer.Name);
}
libcouchbase C Resources
Community
If you like hacking evented C, maybe you can help with our node.js driver.
printf("Hello Couchbase!");
lcb_http_cmd_t *cmd = calloc(1, sizeof(lcb_http_cmd_t));
lcb_error_t err;
cmd->version = 0;
cmd->v.v0.path = "_design/beers/_view/by_name?key=Atlantic%20Amber";
cmd->v.v0.npath = strlen(item->v.v0.path);
cmd->v.v0.method = LCB_HTTP_METHOD_GET;
cmd->v.v0.content_type = "application/json";
err = lcb_make_http_request(instance, NULL,
LCB_HTTP_TYPE_VIEW, &cmd, &req);
if (err == LCB_SUCCESS) {
/* ... */
}
PHP Resources
Community
Learn how to use Couchbase Server as a session store in this blog post.
echo "Hello Couchbase!"
$cb->set("a", 1);
$result = $cb->view("design_doc","my_view");
foreach($result["rows"] as $row) {
echo $row->key;
}
Python Resources
Community
Do you have suggestions about what we should link to here?
print "Hello Couchbase!"
bucket = client["default"]
beer = { "name" : "Atlantic Amber" }
bucket.set("beer_Atlantic_Amber", 0, 0, json.dumps(beer))
view = bucket.view("_design/beer/_view/by_name", \
key="Atlantic Amber", limit=1)
for row in view:
id = row["id"].__str__()
beer = json.loads(bucket.get(id))
print beer["name"]
Couchbase Server Resources