カウチなやつら couchdb in the room
DESCRIPTION
OSC 2009 Tokyo Fall のCouchDBセッションにて話したときのスライドです。主にCouchDBの基本的な事項をまとめています。TRANSCRIPT
カウチなやつら-CouchDB in the room-
OSC 2009 Tokyo/Fall15:15 - 16:00
本日の打順
1.基本のRelaxation(z.ohnami)2.Social Relaxation(佐々木 さん)3.CMS Relaxation(藤田さん)
まずは、タイムリーな情報を
コンニチハ。
0.8.0 (incubating) 0.8.1 (incubating)0.9.0 0.9.1 0.10.0 Beta
Windows版インストーラー
http://wiki.apache.org/couchdb/Windows_binary_installer
RainDrop
http://mozillalabs.com/raindrop
Ubuntu One
https://one.ubuntu.com/http://damienkatz.net/pics/ubuntu_couchdb.
png
提供
CouchDB JPhttp://groups.google.co.jp/group/couchdb-jp?hl=ja
基本のRelaxation
CouchDBとは? by z.ohnami
そもそもz.ohnamiとは?ゼットオオナミと読みますもとはメインフレームの戦士
DBAz/OS,DB2
現在のお仕事DB設計の標準化 社内指導仮想開発環境の構築
CouchDBが好きな人 @IT「ゆったリラックス!CouchDBのあるところ」
第一回~二回 連載中ですhttp://www.atmarkit.co.jp/fdb/rensai/09_couchdb/01/couchdb01.htmlhttp://www.atmarkit.co.jp/fdb/rensai/09_couchdb/02/couchdb01.html
最近はAndroidにも興味があります。
z.ohnamiz-ohnamiz_ohnami
その1 CouchDBの基本
まずはここから
利用者はHTTPメソッドでアクセスします
GET(参照)POST(追加)PUT(追加/更新)DELETE(削除)
ドキュメント(データ)はURIでマッピング
http://サーバー名:5984/DB名/ドキュメント名 (例) http://z.ohnami.com:5984/my-memo/good-idea
JSON形式でのやり取り
{ "_id":"good-idea", "title":"休日の過ごし方", "date":"2009-10-31", "descripiton":"そうだ、OSCに行こう。", "equipment":["ネットブック","名刺","Poken"], "status":{ "ガッツ":3, "スルー力":40, "緊張":80 } }
基本のまとめ
利用者はHTTPメソッドでアクセス
GETPUTPOSTDELETE
JSON形式のデータが返ってくる。{ name:"z.ohnami", phone:"555", blood:"AA"}
http://サーバー名:5984/DB名/ドキュメント名
CouchDBの構造
DB1 ドキュメント1
ドキュメント2・・・
DB2 ドキュメント3
ドキュメント4・・・
CouchDB
・・・
"HTTP://サーバー名:5984/DB名/ドキュメント名"http://xxx.net:5984/DB1/ドキュメント1http://xxx.net:5984/DB2/ドキュメント3 ・・・
その2 Design Document
(「・ω・)「ガオー
ドキュメントを様々な形に加工する
ドキュメントを様々な形に加工する
viewを使ってみましょう
ドキュメントのKeyを変更し、指定できるドキュメントのデフォルトKeyは_id パラメータを指定できます。
.../_design/d01/_view/gin-by-proof?key=30'
.../_design/d01/_view/gin-by-proof?startkey=20&endkey=60'
.../_design/d01/_view/gin-by-proof?descending=true'
.../_design/d01/_view/gin-by-proof?descending=true&limit=10'Map & Reduce
1ドキュメント → それぞれにMap関数を実行Reduceを入れれば集計処理!!
showとlist
showドキュメントの体裁を整える
JSON形式 → HTML形式 など。お好みで!!list
viewの出力結果を整えるJSON形式 → HTML形式 など。お好みで!!
データ一覧 → 詳細表示(list → show) というパターン
その3 Replication
遠いところへ
Push and Pull !!
DB1 ドキュメント1
ドキュメント2・・・
DB2
ドキュメント4
ドキュメント3
・・・
CouchDB
DB1'
"HTTP://サーバー名:5984/_replicate"
・・・
他のCouchDB
ドキュメント1
ドキュメント2
DB2'
・・・
ドキュメント3
ドキュメント4
その4 アプリケーション開発
どう使えるか?
どういうデータに向いているか?
先生、データを入れたいです・・・
ドキュメント指向
CouchDBの肩書き。
紙一枚にまとめたときに不自然ではないデータはCouchDBだ!
紙一枚に書いて不自然でないものの例
書類(設計書、申請書、履歴書・・・・)名刺、PokenのサイトはCouchDBを使うといいよ本のページ(添付ファイルで写真も大丈夫)ソースコードだって設定ファイル(iniっぽいやつとか)
どういう構成にするか?
座。
よくある構造
これでもOK
これでもOK
さらにこんなのでも
まとめ
sum(基本のRelaxation);
CouchDBを使ってみよう!!
紙一枚に書いて問題ないデータはCouchDBでガンガン電子化しましょう!!HTTPメソッドAPIやReplicationでゆるーくデータを共有してみましょう用途に応じて柔軟に構成を変えてみましょう
Be relaxed !!
続きもごゆるりと。