カウチなやつら CouchDB in the room

Post on 22-Jun-2015

1.520 views 2 download

description

OSC 2009 Tokyo Fall のCouchDBセッションにて話したときのスライドです。主にCouchDBの基本的な事項をまとめています。

Transcript of カウチなやつら CouchDB in the room

カウチなやつら-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 !!

続きもごゆるりと。