Couchbase Server

ドキュメント型NoSQLデータベース

柔軟なJSONドキュメントのモデルを使用することにより、Couchbase Serverは固定的なデータベースのスキーマ定義を必要とせず、アプリケーションの修正を簡単なものにします。また、1ミリ秒以下という高スループットの読込み/書込みによって、安定したハイパフォーマンスを実現します。Couchbase Serverは、スケールアウトが容易で、ダウンタイムを伴わないトポロジー変化のサポートに優れています。

容易なスケーラビリティー

クラスタ内、または複数のデータセンタのクラスタ 間においても、Couchbase Serverをご利用頂く 事で、データベース層のスケールがワンクリック するだけで簡単に行えます。ダウンタイムもなく、 アプリケーションの変更もございません。また、ク ラスタの規模をサーバ1台から25台、数百台に 至るまで拡張して、サーバにかかる負荷を平等 に分散することが可能です。 .

365日稼動

Couchbase Serverは24時間365日稼動しています。そのため、データベース、ソフトウェア、またはハードウェアのアップグレード、サーバ障害などのトラブルにもダウンタイム無しで対応が可能です。

安定したハイパフォーマンス

Couchbase Serverは安定して1ミリ秒以下で応答を返す為、アプリケーションユーザは快適に操作することができます。安定したスループットは数台のサーバでもより多くのユーザへサービスの提供を可能とします。また、データとサーバの負荷は、全てのサーバ間で平等に分散されます。

柔軟なデータモデル

アプリケーションを変更する際に、データベースの心配をする必要がありません。スキーマが固定的でないため、異なる構造のレコードを持つことができます。また、データベース中の他のドキュメントを修正することなく、いつでもレコードの構造を変更する事ができます。


View all Features

Couchbase Server Highlights

柔軟なJSONドキュメント

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

  Learn More

インデックス作成とクエリ実行

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

  Learn More

クロスデータセンターレプリケーション (XDCR)

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

  Learn More

増分MapReduce

増加したデータだけを対象としたMapReduceを行う事で、大規模なデータベースの場合でも、強力な集約、集計機能をリアルタイムに提供します。

  Learn More

Couchbase SDKs

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!");

// Connect
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);

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!"

new_beer = {"name" => "Atlantic Amber"}
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

Community

A video webcast about .NET is on YouTube.

Console.WriteLine("Hello Couchbase!");

var newBeer = new Beer { Name = "Atlantic Amber" };
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);
}

Community

If you like hacking evented C, maybe you can help with our node.js driver.

printf("Hello Couchbase!");

lcb_http_request_t req;
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) {
        /* ... */
}

Community

Learn how to use Couchbase Server as a session store in this blog post.

echo "Hello Couchbase!"

$cb = new Couchbase("127.0.0.1:8091", "default", "", "default");
$cb->set("a", 1);
$result = $cb->view("design_doc","my_view");
foreach($result["rows"] as $row) {
  echo $row->key;
}
 

Community

Do you have suggestions about what we should link to here?

print "Hello Couchbase!"

client = Couchbase("localhost:8091", "default", "")
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"]