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

CouchDB JP Developers Dummit LT

Jul 14, 2015

Download

Documents

Koji Kawamura
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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

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