Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

03 Getting Started

861 views

Published on

2009/9/11に開催されたRelaxCafe@CouchDB break.1 CouchDB Definitive Guide 勉強会 #1の資料の一部です。

Published in: Technology
  • Be the first to comment

  • Be the first to like this

03 Getting Started

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

×