Welcome to Couchbase Server 2.0   Perry Krug, Sr. Solutions Architect, Couchbase Inc.                                     ...
Couchbase Server 2.0                   =                       Simple. Fast. Elastic.                                     ...
Couch API                                                                                                                M...
Couchbase Server 2.0 Architecture      5984             11211              11210    Couch View     Memcapable 1.0    Memca...
Couchbase Client SDKs Java Client                      User Code    SDK  .Net SDK              Java client API            ...
Partitioning The Data – vbucket map                                      6
Basic Operation                            App Server 1                                       App Server 2                ...
Indexing/Querying                           App Server                                      App Server                    ...
Adding Nodes                            App Server                                     App Server                         ...
Cross Cluster Replication     Couchbase cluster               Couchbase cluster                         CouchSync         ...
Performance Optimizations                            • Much improved bulk                              loading performance...
DEMO TIME            12
Demo: The next big social game  3 Objects (documents) within game:       • Players       • Monsters       • Items  Gamepla...
Player Document {      "_id": "Keith4540",      "_rev": "1-ab354009ce09f198c555b693e057adce",      "jsonType": "player",  ...
Item Document {      "_id": "Katana_e5890c94-11c6-48-65746ce6c560",      "_rev": "1-d6bbd5e814c32c66e22db2918a2efcd9",    ...
Monster Document  {       "_id": "Bauchan9932",       "_rev": "1-5c90be58be58134a0fc5e7db77dab5f2",       "jsonType": "mon...
GAME ON!           17
THANK YOU!      Get Couchbase Server 2.0 athttp://www.couchbase.com/downloads         Give us feedback at:  http://www.cou...
19
Upcoming SlideShare
Loading in...5
×

CouchConf-NYC-Couchbase-2.0-Overview

955

Published on

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
955
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • CAPI interface – basic Couch API of which some goes through the caching layer (CRUD), some goes directly to Couch (Views)
  • Source/Target clustersActive – Active modeOne-to-many, many-to-oneConflict detection & resolutionReplication stats monitoring
  • CouchConf-NYC-Couchbase-2.0-Overview

    1. 1. Welcome to Couchbase Server 2.0 Perry Krug, Sr. Solutions Architect, Couchbase Inc. 1
    2. 2. Couchbase Server 2.0 = Simple. Fast. Elastic. 2
    3. 3. Couch API Moxi Database Operations Data Manager Membase EP Engine storage interface REST management API/Web UI http Heartbeat Couchbase Server 2.0 Architecture Process monitor Configuration manager on each node Global singleton supervisor Erlang/OTP Rebalance orchestratorCluster Management Node health monitor vBucket state and replication manager Cluster Manager one per cluster3
    4. 4. Couchbase Server 2.0 Architecture 5984 11211 11210 Couch View Memcapable 1.0 Memcapable 2.0 Moxi REST management API/Web UI vBucket state and replication manager Couch API Memcached Global singleton supervisor Rebalance orchestrator Configuration manager Node health monitor Process monitor Heartbeat Membase EP Engine Membase storage interface CouchDB http on each node one per cluster Erlang/OTP HTTP Erlang port mapper Distributed Erlang 8091 4369 21100 - 21199 4
    5. 5. Couchbase Client SDKs Java Client User Code SDK .Net SDK Java client API CouchbaseClient cb = new CouchbaseClient(listURIs, "aBucket", "letmein"); // this is all the same as before cb.set("hello", 0, "world"); cb.get("hello"); spymemcached HTTP couchDB Map<String, Object> manyThings = PHP SDK Connection connection cb.getBulk(Collection<String> keys); /* accessing a view View view = cb.getView("design_document", "my_view"); Query query = new Query(); query.getRange("abegin", "theend"); Ruby SDK Couchbase Server Python SDK http://www.couchbase.org/code 5
    6. 6. Partitioning The Data – vbucket map 6
    7. 7. Basic Operation App Server 1 App Server 2 Client Library Client Library Cluster Map Cluster Map Read/Write/Update Read/Write/Update Server 1 Server 2 Server 3 Active Docs Active Docs Active Docs Doc 1 Doc Doc 4 Doc Doc 7 Doc Doc 2 Doc Doc 5 Doc Doc 8 Doc Doc 3 Doc Doc 6 Doc Doc 9 Doc Replica Docs Replica Docs Replica Docs Doc 4 Doc Doc 1 Doc Doc 2 Doc Doc 6 Doc Doc 8 Doc Doc 3 Doc Doc 7 Doc Doc 9 Doc Doc 5 Doc 7
    8. 8. Indexing/Querying App Server App Server Client Library Client Library Cluster Map Cluster Map Query Index Query Results Server 1 Server 2 Server 3 Active Docs Active Docs Active Docs Doc 1 Doc Doc 4 Doc Doc 7 Doc Doc 2 Doc Doc 5 Doc Doc 8 Doc Doc 3 Doc Doc 6 Doc Doc 9 Doc Replica Docs Replica Docs Replica Docs Doc 4 Doc Doc 1 Doc Doc 2 Doc view view view Doc 6 Doc Doc 8 Doc Doc 3 Doc Doc 7 Doc Doc 9 Doc Doc 5 Doc 8
    9. 9. Adding Nodes App Server App Server Client Library Client Library Cluster Map Cluster Map Read/Write/Update Read/Write/Update Server 1 Server 2 Server 3 Server 4 Server 5 Active Docs Active Docs Active Docs Active Docs Active Docs Doc 1 Doc Doc 4 Doc Doc 7 Doc Doc 3 Doc Doc 9 Doc Doc 2 Doc Doc 5 Doc Doc 8 Doc Doc 6 Doc Doc 3 Doc Doc 6 Doc Doc 9 Doc Replica Docs Replica Docs Replica Docs Replica Docs Replica Docs Doc 4 Doc Doc 1 Doc Doc 2 Doc Doc 7 Doc Doc 5 Doc Doc 6 Doc Doc 8 Doc Doc 3 Doc Doc 9 Doc Doc 7 Doc Doc 9 Doc Doc 5 Doc Add Rebalancing… Nodes to cluster… Done! 9
    10. 10. Cross Cluster Replication Couchbase cluster Couchbase cluster CouchSync CouchSync Continuous / periodic replication Couchbase cluster 10
    11. 11. Performance Optimizations • Much improved bulk loading performance • Significantly better indexing performance • Disk Storage Reduction 11
    12. 12. DEMO TIME 12
    13. 13. Demo: The next big social game 3 Objects (documents) within game: • Players • Monsters • Items Gameplay: • Players fight monsters • Monsters drop items • Players own items 13
    14. 14. Player Document { "_id": "Keith4540", "_rev": "1-ab354009ce09f198c555b693e057adce", "jsonType": "player", "uuid": "35767d02-a958-4b83-8179-616816692de1", "name": "Keith4540", "hitpoints": 75, "experience": 663, "level": 4, "loggedIn": false } 14
    15. 15. Item Document { "_id": "Katana_e5890c94-11c6-48-65746ce6c560", "_rev": "1-d6bbd5e814c32c66e22db2918a2efcd9", "jsonType": "item", "name": "Katana_e5890c94-11c6-65746ce6c560", "uuid": "e5890c94-11c6-4856-a7a6-65746ce6c560", "ownerId": "Dale9887" } Player “_id” 15
    16. 16. Monster Document { "_id": "Bauchan9932", "_rev": "1-5c90be58be58134a0fc5e7db77dab5f2", "jsonType": "monster", "name": "Bauchan9932", "uuid": "d10dfc1b-0412-4140-b4ec-affdbf2aa5ec", "hitpoints": 370, "experienceWhenKilled": 52, "itemProbability": 0.5050581341872865 } 16
    17. 17. GAME ON! 17
    18. 18. THANK YOU! Get Couchbase Server 2.0 athttp://www.couchbase.com/downloads Give us feedback at: http://www.couchbase.org/forums 18
    19. 19. 19
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×