couchdb jp developers dummit lt

19
Developers Summit 2012 ドキュメント指向型データベース CouchDB presented by CouchDBJP 河村康爾 @ijokarumawak “Apache CouchDB” and the Project logo are trademarks of the Apache Software Foundation

Upload: koji-kawamura

Post on 14-Jul-2015

1.589 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: CouchDB JP Developers Dummit LT

Developers Summit 2012

ドキュメント指向型データベース CouchDB 

presented by CouchDB JP

河村康爾 @ijokarumawak

“Apache CouchDB” and the Project logo are trademarks of the Apache Software Foundation

Page 2: CouchDB JP Developers Dummit LT

Developers Summit 2012

10 周年おめでとうございます

Page 3: CouchDB JP Developers Dummit LT

CouchDB JP

• http://couchdb.jp/

• CouchDB 勉強会の開催

• CouchDB The Definitive Guide 翻訳

• http://couchdb-jp.github.com/couchdb-guide/editions/1/ja/index.html

Page 4: CouchDB JP Developers Dummit LT

CouchDB?

Page 5: CouchDB JP Developers Dummit LT

CouchDB の特徴 1

• Apache License 2.0

• ASF Top Level Project

• ドキュメント指向データベース

CouchDB The Definitive Guide より

Page 6: CouchDB JP Developers Dummit LT

CouchDB の特徴 2

• データは JSON 形式、スキーマレス

• バイナリデータも添付可能

• RESTful な API で簡単アクセス

Page 7: CouchDB JP Developers Dummit LT

CouchDB の特徴 3

キーだけじゃなく、

インクリメンタル MapReduce で、

お好きなように検索可能

Page 8: CouchDB JP Developers Dummit LT

CouchDB の特徴 4

• Web サーバ内蔵

• サーバサイド Javascript

• データもアプリもレプリケーション

Page 9: CouchDB JP Developers Dummit LT

Sofa: CouchDB …単体で

ユーザ管理

リスト表示

ページング

タグ

ユーザ管理

リスト表示

ページング

ユーザ管理

リスト表示

タグ

ページング

ユーザ管理

リスト表示

http://github.com/jchris/sofa

Page 10: CouchDB JP Developers Dummit LT

ここまで出来る!

コメント投稿

記事表示

Atom フィード

記事表示

Atom フィード

コメント投稿

記事表示

Atom フィード

記事表示

Atom フィード

コメント投稿

記事表示

Atom フィード

Page 11: CouchDB JP Developers Dummit LT

ブログポストの JSON

Page 12: CouchDB JP Developers Dummit LT

最新記事表示用の View

function(doc) {

if (doc.type = = "post") {

emit(new Date(doc.created_at), doc);

}

} ;

Page 13: CouchDB JP Developers Dummit LT

Viewの実行結果 JSON$ curl -i http://192.168.163.135:5984/myblogdb/_design/sofa/_view/recent-posts

HTTP/1.1 200 OK

Transfer-Encoding: chunked

Server: CouchDB/1.0.1 (Erlang OTP/R13B)

Etag: "EWH1WN1KDW3VMM5RUZNFBQ2U4"

Date: Mon, 31 Oct 2011 05:00:36 GMT

Content-Type: text/plain;charset= utf-8

Cache-Control: must-revalidate

{ "total_rows":3,"offset":0,"rows":[

{ "id":"Welcome-to-CouchDB-JP","key":"2012-02-15T14:42:31.737Z","value":{ "_id":"Welcome-to-CouchDB-

JP","_rev":"4-99b916c04ae378d3e5484c629a2d9745","type":"post","format":"markdown","author":"admin","body":“…","tags":

["couchdb"],"created_at":"2012-02-15T14:42:31.737Z"} } ,

{ "id":"new","key":"2012-02-15T14:48:29.087Z","value":

{ "_id":"new","_rev":"3-2851c9b0d31b6473e5048f1d3a230897","type":"post","format":"markdown","author":"admin","body":“…"} } ,

{ "id":"hotehote","key":"2012-02-15T14:49:35.544Z","value":

{ "_id":"hotehote","_rev":"4-0d4eb54fde2c0bfb6f16254c6158d441","type":"post","format":"markdown","author":"admin","body":“…","tags":

[""],"created_at":"2012-02-15T14:49:35.544Z"} }

]}

Page 14: CouchDB JP Developers Dummit LT

管理 UI でお手軽 MapReduce

Page 15: CouchDB JP Developers Dummit LT

モバイル対応PCはもちろん、

iOS 、Android 上でもCouchDBを利用可能

デバイス上で完結

オフラインでも操作可能

オンラインになったら同期

Images from http://www.icon-king.com/, http://art.gnome.org/themes/icon, http://pierocksmysocks.deviantart.com/ http://www.customicondesign.com/

双方向レプリケーション

Page 16: CouchDB JP Developers Dummit LT

パフォーマンス・スケーラビリティ

BigCouch

Couchbase Server

パフォーマンス

スケーラビリティ

CouchDB

memcached 互換、 CouchDB のView

水平分散を可能にした CouchDB

Page 17: CouchDB JP Developers Dummit LT

ご興味を持っていただけたら…

Page 18: CouchDB JP Developers Dummit LT

是非ご参加ください!• コミュニティ、勉強会へのご参加お待ちしております!

– CouchDB、周辺プロダクト全般– http://couchdb.jp/

– Couchbase Serverの話題はこちらへ– http://www.couchbase.com/wiki/display/couchbase/Couchbase+ Japan+ Community

CouchDB JP

Couchbase JP

Page 19: CouchDB JP Developers Dummit LT

ありがとうございました!