couch db@nosql+taiwan

58
Couch + DB = CouchDB? @NoSQL Taiwan 1274日星期三

Upload: kenzou-yeh

Post on 11-May-2015

1.589 views

Category:

Technology


9 download

TRANSCRIPT

Page 1: Couch db@nosql+taiwan

Couch + DB = CouchDB?@NoSQL Taiwan

12年7月4日星期三

Page 2: Couch db@nosql+taiwan

Who am I?

12年7月4日星期三

Page 3: Couch db@nosql+taiwan

Kenzou Yeh

12年7月4日星期三

Page 4: Couch db@nosql+taiwan

Founder of

12年7月4日星期三

Page 5: Couch db@nosql+taiwan

What is ?

12年7月4日星期三

Page 6: Couch db@nosql+taiwan

a Real-Time Q&A platform on mobile devices

12年7月4日星期三

Page 7: Couch db@nosql+taiwan

What we used for developing ?

12年7月4日星期三

Page 8: Couch db@nosql+taiwan

CouchDB, Redis, Memcache - Storage & Cache

12年7月4日星期三

Page 9: Couch db@nosql+taiwan

Bottle, Django, RabbitMQ - Server Side

12年7月4日星期三

Page 10: Couch db@nosql+taiwan

12年7月4日星期三

Page 11: Couch db@nosql+taiwan

Why CouchDB?

12年7月4日星期三

Page 12: Couch db@nosql+taiwan

Non-locking insertion and fast replication

12年7月4日星期三

Page 13: Couch db@nosql+taiwan

12年7月4日星期三

Page 14: Couch db@nosql+taiwan

Concurrency, Message Based, Distributed

12年7月4日星期三

Page 15: Couch db@nosql+taiwan

12年7月4日星期三

Page 16: Couch db@nosql+taiwan

Okay, let’s get it start

12年7月4日星期三

Page 17: Couch db@nosql+taiwan

12年7月4日星期三

Page 18: Couch db@nosql+taiwan

Document-Oriented

12年7月4日星期三

Page 19: Couch db@nosql+taiwan

12年7月4日星期三

Page 20: Couch db@nosql+taiwan

Schema-less

12年7月4日星期三

Page 21: Couch db@nosql+taiwan

advantage?

12年7月4日星期三

Page 22: Couch db@nosql+taiwan

MongoDB or Cassandra?

12年7月4日星期三

Page 23: Couch db@nosql+taiwan

RESTful API

12年7月4日星期三

Page 24: Couch db@nosql+taiwan

PUT http://couchdb/users

GET http://couchdb/users/<id>

POST http://couchdb/users/<id>

DELETE http://couchdb/users/<id>

12年7月4日星期三

Page 25: Couch db@nosql+taiwan

12年7月4日星期三

Page 26: Couch db@nosql+taiwan

MVCC?

12年7月4日星期三

Page 27: Couch db@nosql+taiwan

Multi-Version Concurrency Control

12年7月4日星期三

Page 28: Couch db@nosql+taiwan

revision

12年7月4日星期三

Page 29: Couch db@nosql+taiwan

Non-Blocking IO

12年7月4日星期三

Page 30: Couch db@nosql+taiwan

12年7月4日星期三

Page 31: Couch db@nosql+taiwan

Index & Query

12年7月4日星期三

Page 32: Couch db@nosql+taiwan

View

12年7月4日星期三

Page 33: Couch db@nosql+taiwan

Map/Reduce

12年7月4日星期三

Page 34: Couch db@nosql+taiwan

Mapper

index

12年7月4日星期三

Page 35: Couch db@nosql+taiwan

Reducer

12年7月4日星期三

Page 36: Couch db@nosql+taiwan

Query

GET http://couchdb/view?key=28

12年7月4日星期三

Page 37: Couch db@nosql+taiwan

update view once data changed

12年7月4日星期三

Page 38: Couch db@nosql+taiwan

Sort & Slice

GET http://couchdb/view?start_key=28&end_key=30

12年7月4日星期三

Page 39: Couch db@nosql+taiwan

sort data with specific condition?

12年7月4日星期三

Page 40: Couch db@nosql+taiwan

Mapper

12年7月4日星期三

Page 41: Couch db@nosql+taiwan

Query

GET http://couchdb/view?start_key=”Kenzou+Yeh:28”&end_key=”Kenzou+Yeh:30”

12年7月4日星期三

Page 42: Couch db@nosql+taiwan

Replication

12年7月4日星期三

Page 43: Couch db@nosql+taiwan

With Filter!

12年7月4日星期三

Page 44: Couch db@nosql+taiwan

Conflict Resolving

12年7月4日星期三

Page 45: Couch db@nosql+taiwan

12年7月4日星期三

Page 46: Couch db@nosql+taiwan

Change Notification

12年7月4日星期三

Page 47: Couch db@nosql+taiwan

GET http://couchdb/users/_changes?feed=continuous

Keep-Alive Connection

12年7月4日星期三

Page 48: Couch db@nosql+taiwan

Issue?

12年7月4日星期三

Page 49: Couch db@nosql+taiwan

Append-Only = Disk Space is always increasing

12年7月4日星期三

Page 50: Couch db@nosql+taiwan

Compaction

12年7月4日星期三

Page 51: Couch db@nosql+taiwan

Re-design your schema

12年7月4日星期三

Page 52: Couch db@nosql+taiwan

12年7月4日星期三

Page 53: Couch db@nosql+taiwan

new database

view+

12年7月4日星期三

Page 54: Couch db@nosql+taiwan

Sharding?

12年7月4日星期三

Page 55: Couch db@nosql+taiwan

No official support right now...

12年7月4日星期三

Page 56: Couch db@nosql+taiwan

12年7月4日星期三

Page 57: Couch db@nosql+taiwan

12年7月4日星期三

Page 58: Couch db@nosql+taiwan

Thank you

12年7月4日星期三