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