Couchbase Server           Perry Krug        Sr. Solutions Architect                                  1
Couchbase Server                       •   Simple                       •   Fast                   =   •                  ...
Couchbase Server Features        • Built-in clustering – All nodes equal        • Data replication with auto-failover     ...
Auto-sharding: vBuckets                          4
Couchbase Server Basic Operation            APP SERVER 1                                     APP SERVER 2                 ...
Add Nodes                APP SERVER 1                               APP SERVER 2                                          ...
Fail Over Node                                                                                                         Ap...
Couchbase Server Features         • Memcached compatible (built-in caching)         • Monitoring and administration APIs a...
Couchbase Server 1.8 Architecture          11211             11210          Memcapable 1.0    Memcapable 2.0            Mo...
Couchbase Server 1.8 Architecture          11211             11210          Memcapable 1.0    Memcapable 2.0            Mo...
Couchbase Server 1.8 Architecture          11211             11210          Memcapable 1.0    Memcapable 2.0            Mo...
Couchbase SDKsJava SDK             User Code.Net SDK            Java client API                                          C...
DEMO TIME            13
Couchbase Server 2.0• Next major release of Couchbase Server• Currently in Developer PreviewWhat’s new:• Indexing and Quer...
Couchbase Server 2.0 Architecture   8092                 11211             11210   Query API            Memcapable 1.0    ...
Indexing and Querying            APP SERVER 1                               APP SERVER 2            APP SERVER 1          ...
Cross Data Center Replication   US DATA                        EUROPE DATA                 ASIA DATA   CENTER             ...
DEMO TIME            18
Demo: The next big social game  3 Objects (documents) within game:       • Players       • Monsters       • Items  Gamepla...
Player Document  {      "_id": "Keith4540",      "jsonType": "player",      "uuid": "35767d02-a958-4b83-8179-616816692de1"...
Item Document {      "_id": "Katana_e5890c94-11c6-48-65746ce6c560",      "jsonType": "item",      "name": "Katana_e5890c94...
Monster Document {      "_id": "Bauchan9932”,      "jsonType": "monster",      "name": "Bauchan9932",      "uuid": "d10dfc...
GAME ON!           23
QUESTIONS?             24
THANK YOU!      Get Couchbase Server 2.0 athttp://www.couchbase.com/downloads         Give us feedback at: http://www.couc...
Upcoming SlideShare
Loading in...5
×

CouchConf Tokyo Tour of Server and Demo

878

Published on

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
878
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
24
Comments
0
Likes
1
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)
  • CAPI interface – basic Couch API of which some goes through the caching layer (CRUD), some goes directly to Couch (Views)
  • Not yet enabled in current DP, will be available for Beta
  • DEMO is using upcoming version of Couchbase Server 2.0
  • Break out to demo here
  • CouchConf Tokyo Tour of Server and Demo

    1. 1. Couchbase Server Perry Krug Sr. Solutions Architect 1
    2. 2. Couchbase Server • Simple • Fast = • • Elastic NoSQL Database Formerly known as Membase Server 2
    3. 3. Couchbase Server Features • Built-in clustering – All nodes equal • Data replication with auto-failover • Zero--downtime maintenance • Clone to grow and scale horizontally 3
    4. 4. Auto-sharding: vBuckets 4
    5. 5. Couchbase Server Basic Operation APP SERVER 1 APP SERVER 2  Docs distributed evenly across COUCHBASE CLIENT LIBRARY COUCHBASE CLIENT LIBRARY servers in the cluster  Each server stores both active CLUSTER MAP CLUSTER MAP & replica docs  Only one server active at a time  Client library provides app with Read/Write/Update Read/Write/Update simple interface to database  Cluster map provides map to which server doc is on  App never needs to know SERVER 1 SERVER 2 SERVER 3  App reads, writes, updates Active Docs Active Docs Active Docs docs Doc 5 DOC Doc 4 DOC Doc 1 DOC  Multiple App Servers can Doc 2 DOC Doc 7 DOC Doc 3 DOC access same document at Doc 9 DOC Doc 8 DOC Doc 6 DOC same time Replica Docs Replica Docs Replica Docs Doc 4 DOC Doc 6 DOC Doc 7 DOC Doc 1 DOC Doc 3 DOC Doc 9 DOC Doc 8 DOC Doc 2 DOC Doc 5 DOC COUCHBASE SERVER CLUSTER 5
    6. 6. Add Nodes APP SERVER 1 APP SERVER 2  Two servers added to COUCHBASE CLIENT LIBRARY COUCHBASE CLIENT LIBRARY cluster  One-click operation CLUSTER MAP CLUSTER MAP  Docs automatically rebalanced across cluster  Even distribution of docs Read/Write/Update Read/Write/Update  Minimum doc movement  Cluster map updated  App database calls now distributed over larger #SERVER 1 SERVER 2 SERVER 3 SERVER 4 SERVER 5 of serversActive Docs Active Docs Active Docs Active Docs Active Docs Active Docs Doc 5 DOC Doc 4 DOC Doc 1 DOC Doc 3 Doc 2 DOC Doc 7 DOC Doc 3 DOC Doc 6 Doc 9 DOC Doc 8 DOC Doc 6 DOCReplica Docs Replica Docs Replica Docs Replica Docs Replica Docs Replica Docs Doc 4 DOC Doc 6 DOC Doc 7 DOC Doc 7 Doc 1 DOC Doc 3 DOC Doc 9 DOC Doc 9 Doc 8 DOC Doc 2 DOC Doc 5 DOC COUCHBASE SERVER CLUSTER 6
    7. 7. Fail Over Node  App servers happily accessing docs on Server 3 COUCHBASE CLIENT LIBRARY COUCHBASE CLIENT LIBRARY  Server fails  App server requests to server 3 fail CLUSTER MAP CLUSTER MAP  Cluster detects server has failed  Promotes replicas of docs to active  Updates cluster map  App server requests for docs now go to appropriate server  Typically rebalance would followSERVER 1 SERVER 2 SERVER 3 SERVER 4 SERVER 5Active Docs Active Docs Active Docs Active Docs Active Docs Active Docs Doc 5 DOC Doc 4 DOC Doc 1 DOC Doc 9 DOC Doc 6 DOC Doc 3 Doc 2 DOC Doc 7 DOC Doc 3 DOC Doc 8 DOC Doc 6Replica Docs Replica Docs Replica Docs Replica Docs Replica Docs Replica Docs Doc 4 DOC Doc 6 DOC Doc 7 DOC Doc 5 DOC Doc 8 DOC Doc 7 Doc 1 DOC Doc 3 DOC Doc 9 DOC Doc 2 DOC Doc 9 COUCHBASE SERVER CLUSTER 7
    8. 8. Couchbase Server Features • Memcached compatible (built-in caching) • Monitoring and administration APIs and GUI • Reliable storage architecture 8
    9. 9. Couchbase Server 1.8 Architecture 11211 11210 Memcapable 1.0 Memcapable 2.0 Moxi REST management API/Web UI vBucket state and replication manager Memcached Global singleton supervisor Rebalance orchestrator Configuration manager Node health monitor Process monitor Heartbeat Couchbase EP Engine Data Manager Cluster Manager storage interface Persistence Layer http on each node one per cluster Erlang/OTP HTTP Erlang port mapper Distributed Erlang 8091 4369 21100 - 21199 9
    10. 10. Couchbase Server 1.8 Architecture 11211 11210 Memcapable 1.0 Memcapable 2.0 Moxi REST management API/Web UI vBucket state and replication manager Memcached Global singleton supervisor Rebalance orchestrator Configuration manager Node health monitor Process monitor Heartbeat Couchbase EP Engine storage interface Persistence Layer http on each node one per cluster Erlang/OTP HTTP Erlang port mapper Distributed Erlang 8091 4369 21100 - 21199 10
    11. 11. Couchbase Server 1.8 Architecture 11211 11210 Memcapable 1.0 Memcapable 2.0 Moxi REST Management /WebUI vBucket state and replication manager Memcached Global singleton supervisor Configuration Manager Rebalance orchestrator Node health monitor Process monitor Heartbeat Couchbase EP Engine storage interface Persistence Layer http on each node one per cluster Erlang/OTP HTTP Erlang port mapper Distributed Erlang 8091 4369 21100 - 21199 11
    12. 12. Couchbase SDKsJava SDK User Code.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"); Couchbase Java LibraryPHP SDK (spymemcached)Ruby SDK Couchbase Server…and manymore http://www.couchbase.com/develop 12
    13. 13. DEMO TIME 13
    14. 14. Couchbase Server 2.0• Next major release of Couchbase Server• Currently in Developer PreviewWhat’s new:• Indexing and Querying• Incremental Map Reduce• Cross Data Center Replication• Fully backwards compatible with existing Couchbase Server 14
    15. 15. Couchbase Server 2.0 Architecture 8092 11211 11210 Query API Memcapable 1.0 Memcapable 2.0 Moxi Query Engine REST management API/Web UI vBucket state and replication manager Memcached Global singleton supervisor Rebalance orchestrator Configuration manager Node health monitor Process monitor Heartbeat Couchbase EP Engine storage interface New Persistence Layer http on each node one per cluster Erlang/OTP HTTP Erlang port mapper Distributed Erlang 8091 4369 21100 - 21199 15
    16. 16. Indexing and Querying APP SERVER 1 APP SERVER 2 APP SERVER 1 APP SERVER 2 COUCHBASE CLIENT LIBRARY COUCHBASE CLIENT LIBRARY COUCHBASE CLIENT LIBRARY COUCHBASE CLIENT LIBRARY  Indexing work is distributed CLUSTER MAP MAP CLUSTER CLUSTER MAPMAP CLUSTER amongst nodes  Large data set possible  Parallelize the effort  Each node has index for data Query Response stored on it  Queries combine the results from required nodes SERVER 1 SERVER 2 SERVER 3 Active Docs Active Docs Active Docs Doc 5 DOC Doc 4 DOC Doc 1 DOC Doc 2 DOC Doc 7 DOC Doc 3 DOC Doc 9 DOC Doc 8 DOC Doc 6 DOC Replica Docs Replica Docs Replica Docs Doc 4 DOC Doc 6 DOC Doc 7 DOC Doc 1 DOC Doc 3 DOC Doc 9 DOC Doc 8 DOC Doc 2 DOC Doc 5 DOC 16
    17. 17. Cross Data Center Replication US DATA EUROPE DATA ASIA DATA CENTER CENTER CENTER Replication Replication Replication  Want data close to user  Want multiple locations for disaster recovery  Multi-Master: Can write to same document in all different regions & it will sync (eventually consistent, always available) 17
    18. 18. DEMO TIME 18
    19. 19. Demo: The next big social game 3 Objects (documents) within game: • Players • Monsters • Items Gameplay: • Players fight monsters • Monsters drop items • Players own items 19
    20. 20. Player Document { "_id": "Keith4540", "jsonType": "player", "uuid": "35767d02-a958-4b83-8179-616816692de1", "name": "Keith4540", "hitpoints": 75, "experience": 663, "level": 4, "loggedIn": false } 20
    21. 21. Item Document { "_id": "Katana_e5890c94-11c6-48-65746ce6c560", "jsonType": "item", "name": "Katana_e5890c94-11c6-65746ce6c560", "uuid": "e5890c94-11c6-4856-a7a6-65746ce6c560", "ownerId": "Dale9887" } Player “_id” 21
    22. 22. Monster Document { "_id": "Bauchan9932”, "jsonType": "monster", "name": "Bauchan9932", "uuid": "d10dfc1b-0412-4140-b4ec-affdbf2aa5ec", "hitpoints": 370, "experienceWhenKilled": 52, "itemProbability": 0.5050581341872865 } 22
    23. 23. GAME ON! 23
    24. 24. QUESTIONS? 24
    25. 25. THANK YOU! Get Couchbase Server 2.0 athttp://www.couchbase.com/downloads Give us feedback at: http://www.couchbase.com/forums 25
    1. A particular slide catching your eye?

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

    ×