03.Getting Started
- for RelaxCafe@CouchDB break.1 - 2009/9/11(Fri)
z.ohnami
z.ohnami( ゼットオオナミ ) といいます• 本名 → 大波 誠 • DB に縁がある人生
o DB2( メインフレーム )o DB 設計の標準化o CouchDB
• @IT にて最近記事を書きました • いくつか勉強会を開催しています
o 社内勉強会 o 天下イヒ仮想化技術大会 9 月 29 日 19:30 よりo
CouchDB といえばリラックスですよね。と、いうことで、話の途中でリラックスできるかもしれない内容を随所に盛り込みました。こちらも一緒にみてみましょう。
この章の構成• All systems are go !!• Welcome to Futon • Your First database and document• Running a Query Using Map & Reduce• Triggering Replication
All systems are go !!
Raw API
All systems are go !!
Everything is done using GET, PUT, POST and DELETE with a URI
こんな DB だよHTTP メソッドでアクセス• GET• PUT• POST• DELETE
JSON 形式のデータが返ってくる。{ name:"z.ohnami", phone:"555", blood:"AA"}
http:// サーバー名 :5984/DB 名 / ドキュメント名
All systems are go !!
• curl コマンドは -v オプションを付けると、詳細が表示されてデバッグに便利です。
Beer bar TALO http://www.toritoku.com/talo/index.html
Welcome to Futon
Welcome to Futon
• ひととおり、なんでもできるo ビュー作成 o CRUDo レプリケーション、コンパクション
• テストスイートまで用意されている
o 稼動確認としてo ベンチマークとして
Your First database and document
• Hello world 的なものを促す • _id と _rev についてo_id → uuid を使えるよ
プログラムする場合は uuid を使おう!!
o_rev → ドキュメントを変更すると自動的に変わるよ
Running a Query Using Map & Reduce
• View を使ってドキュメントの出力を変更o Map & Reduceo View で key を指定
ドキュメント群に複数の Key を指定できるo 最初は Index の構築をするから時間がかかる o temp_view もあるよ
あるドキュメント{ "_id" : "bc2a41170621c326ec68382f846d5764", "_rev" : "2612672603", "item" : "orange", "prices" : { "Fresh Mart" : 1.99, "Price Max" : 3.19, "Citrus Circus" : 1.09 }}
そのドキュメントをさばくビュー (map)function(doc) { var store, price, value; if (doc.item && doc.prices) { for (store in doc.prices) { price = doc.prices[store]; value = [doc.item, store]; emit(price, value); } }}
rit barhttp://rit-bar.net/main.html ピアノ演奏 渾身のカクテル
Bar ICEhttp://orange.zero.jp/zab32985.sky/index.html すこしカジュアル 3~4 人も OK
Triggering Replication
• Futon から実行できますo Push,Pull の両方が可能
• localhost だとたまに失敗するらしい。o 127.0.0.1 のほうがいいらしい。
• 大量データをレプリケーションする場合o 時間がかかる
Futon はブラウザをそのままにしてねcurl でバッチ処理にしたほうがいい 途中でコネクションが切れたら、再実行
再実行時は残っているものだけが対象!!ハラショー!!
おしまい