Download - Couch DB in 15minutes
![Page 1: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/1.jpg)
id: yssk22 (CouchDB-JP)
![Page 2: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/2.jpg)
About Me
Yohei Sasaki (@yssk22)
Twitter, hatena, github, google, …
CouchDB関係のMLにたまに出没
CouchDB-JP からやってきました。
今年はなんかパッチかく(Erlangで…)
developerWorks のCouchDB 連載書きました。
![Page 3: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/3.jpg)
今日の話
CouchDBとはなんですか?を15分で。
いつもと変えます。
さくさくいくので、気になったらあとで捕まえて聞いてください。
To Be Relaxed...
![Page 4: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/4.jpg)
いつものCouchDB紹介
JSONをそのままストアできる
最近普通。
HTTP/RESTでデータベース操作できる!
他のKVSでもできるのあるよね。
MapReduceでクエリ!
Hadoop/HBase使えばいいじゃん。
Erlang で実装。
Mnesiaというのが標準であってだな。。。
![Page 5: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/5.jpg)
CouchDBとは何ですか?
![Page 6: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/6.jpg)
CouchDBとは何ですか?
Web時代のLotus Notes/Domino.
Web時代のLotus Notes/Domino
![Page 7: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/7.jpg)
Oracleさん曰く:
Lotus Notes/Domino は、ノーツレガシーと呼ばれるぐらい、ロックインされてしまうソフトウェア(ほめ言葉)。 ある意味中毒性のある環境
CouchDB も邪魔者と呼ばれるようになる日が来るかもしれません。
![Page 8: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/8.jpg)
CouchDBとは何ですか?
Web時代のLotus Notes/Domino.
というタイトルをつけてたら、怒られるだろうなPVは伸びないだろうな、と思って非リレーショナルデータベースってことにしました。
最近だと非リレーショナルデータベースに対して、KVS/NoSQLという言葉が定着してきましたが...
![Page 9: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/9.jpg)
CouchDB は KVS ですか?
![Page 10: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/10.jpg)
CouchDB は KVS ですか?
Web時代のLotus Notes/Domino.
Yes, that's right.
![Page 11: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/11.jpg)
CouchDB は KVS ですか?
JSONを格納できます。
{"_id" : "yssk22","_rev" : "2-xxxxxxxx","name" : "Yohei Sasaki","profile" : {
"age" : 27,
"single": true,"intereted_in": ["couchdb", "web"]
}
}
![Page 12: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/12.jpg)
他のKVSと何が違うんですか?
![Page 13: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/13.jpg)
他のKVSと何が違うんですか?
レプリケーションとアプリケーションホスティング
![Page 14: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/14.jpg)
他のKVSと何が違うんですか?
レプリケーションとアプリケーションホスティング
Lotus Notes/Domino 的な思想
See also http://bit.ly/5sbcIt
![Page 15: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/15.jpg)
他のKVSのレプリケーション?
key-valueストアの基礎知識より。
たいていは、いくつかのサーバ上に複製(replica)を作ります。これによって耐故障性を高めます。 1台が故障で停止しても他
のサーバから複製を読み出せる、というわけです。
http://www.shudo.net/article/Software-Design-201002-KVS/
![Page 16: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/16.jpg)
CouchDBは世界中で複製されます
http://damienkatz.net/pics/ubuntu_couchdb.png
![Page 17: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/17.jpg)
Ubuntu 9.10 Desktop の台数<= CouchDB のインスタンス数 Ubuntu One Canonical が提供する
MobileMe のようなサービス
2GB までのディスク
スペース、アドレス帳、メモなどを複数のPCで複製・同期可能にする
![Page 18: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/18.jpg)
Nokia N900 にも入る?
http://thomas.apestaart.org/log/?p=1106&cpage=1
gnome-keyring から python-keyring へのポートができれば。
![Page 19: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/19.jpg)
CouchDBが目指すスケーラビリティ
App
App
1台になっても、N台になっても対応できるストレージシステム
![Page 20: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/20.jpg)
他のKVSと何が違うんですか?
レプリケーションとアプリケーションホスティング
![Page 21: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/21.jpg)
ちょっと前のWeb+DB
Web Server Web Server Web Server Web Server
App Server App Server App Server App Server
RDB Server RDB Server
![Page 22: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/22.jpg)
最近の Web+DB
Web Server Web Server Web Server Web Server
App Server App Server App Server App Server
DB Server DB Server DB Server DB Server
![Page 23: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/23.jpg)
CouchDB = 1人で3役
Relax Relax Relax Relax
![Page 24: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/24.jpg)
1人で3役?
Web Server+ JavaScript Application Server
+ JSON Store
![Page 25: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/25.jpg)
サンプルサイト
Pure CouchDB のブログ
http://jchrisa.net
Pure CouchDB のTwitter 複製お試しサービス
http://www.yssk22.info/tstore
○ ドメイン契約更新期限切れ中orz
![Page 26: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/26.jpg)
つまり。
CouchDBが入ると、Webに必要な環境がすべて手に入る。
スケーラブルなKVSが手に入り
Server Side JavaScript のアプリケーションがくっついてきて
画像やCSSなどの静的コンテンツも配信できる
![Page 27: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/27.jpg)
ここは Python Hackathon
OK. Python + CouchDB
![Page 28: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/28.jpg)
Mozilla Raindrop
Twisted + CouchDB + いろいろ
![Page 29: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/29.jpg)
Pythonで実装されたツール
CouchApp
CouchDBアプリケーション開発ツールキット
python-couchdb
管理ツールからバインディングまで。
couchdbkit
ライブラリ
![Page 30: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/30.jpg)
CouchDB-JP
CouchDB Definitive Guide翻訳 http://dl.dropbox.com/u/673631/couchdb/html/index.html
月1回ぐらいで勉強会的な何か。 来月は未定 OSC Tokyo 2010 Spring はやります。
○ CouchDBで作るOpenSocial Container (仮○ Sheeva Plug で動かすポータブルソファ。
今日のHandsOn資料 http://dl.dropbox.com/u/219436/CouchDB/PythonHackathon3
/handson/_build/html/index.html○ Definitive Guide があまり初心者向けじゃないので。。
![Page 31: Couch DB in 15minutes](https://reader034.vdocuments.mx/reader034/viewer/2022052321/556a67ebd8b42ab0468b4a8c/html5/thumbnails/31.jpg)
まとめ
CouchDB は 21世紀のLotus Notes
レプリケーションとアプリケーションホスティングにより、他のKVSとは一線を隠す使い方ができる、というかもはやKVSじゃない! ワークフローを流したり、データ解析をしたり、とか。
いろんな企業、団体が使い始めている。 BBCとか。
Python Tool もたくさんあるよ!