• Share
  • Email
  • Embed
  • Like
  • Private Content
CouchConf London: Couchbase Server Demo & Tour
 

CouchConf London: Couchbase Server Demo & Tour

on

  • 611 views

 

Statistics

Views

Total Views
611
Views on SlideShare
611
Embed Views
0

Actions

Likes
0
Downloads
8
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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 London: Couchbase Server Demo & Tour CouchConf London: Couchbase Server Demo & Tour Presentation Transcript

  • Couchbase Server Perry Krug Sr. Solutions Architect 1
  • Couchbase Server • Simple • Fast = • • Elastic NoSQL Database Formerly known as Membase Server 2
  • Couchbase Server Features • Built-in clustering – All nodes equal • Data replication with auto-failover • Zero--downtime maintenance • Clone to grow and scale horizontally 3
  • 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 4
  • 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 5
  • 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 6
  • Couchbase Server Features • Memcached compatible (built-in caching) • Monitoring and administration APIs and GUI • Reliable storage architecture 7
  • 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 8
  • 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 9
  • 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 10
  • Couchbase SDKsJava SDK User Code.Net SDK Java client API CouchbaseClient cb = new CouchbaseClient(listURIs, "aBucket", "letmein"); cb.set("hello", 0, "world"); cb.get("hello"); Couchbase Java LibraryPHP SDK (spymemcached)Ruby SDK Couchbase Server…and manymore http://www.couchbase.com/develop 11
  • DEMO TIME 12
  • 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 13
  • 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 14
  • 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 15
  • Cross Data Center Replication US DATA EUROPE DATA ASIA DATA CENTER CENTER CENTER Replication Replication Replication  Data close to users  Multiple locations for disaster recovery  Independently managed clusters serving local data 16
  • DEMO TIME 17
  • Demo: The next big social game 3 Objects (documents) within game: • Players • Monsters • Items Gameplay: • Players fight monsters • Monsters drop items • Players own items 18
  • Player Document { "_id": "Keith4540", "jsonType": "player", "uuid": "35767d02-a958-4b83-8179-616816692de1", "name": "Keith4540", "hitpoints": 75, "experience": 663, "level": 4, "loggedIn": false } 19
  • 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” 20
  • Monster Document { "_id": "Bauchan9932”, "jsonType": "monster", "name": "Bauchan9932", "uuid": "d10dfc1b-0412-4140-b4ec-affdbf2aa5ec", "hitpoints": 370, "experienceWhenKilled": 52, "itemProbability": 0.5050581341872865 } 21
  • GAME ON! 22
  • THANK YOU! Get Couchbase Server 2.0 athttp://www.couchbase.com/downloads Give us feedback at: http://www.couchbase.com/forums 23
  • QUESTIONS? 24
  • HousekeepingLONDONMarch 22, 2012 25
  • Tweeting #CouchConf 26
  • Internet AccessNAME: CouchbasePASSWORD: 12345abcde 27
  • Tell us what you think! Fill in the conference eval form in your conference bag. Turn it in after the closing session for your World Tour t-shirt! 28
  • Submit your questions! Submit your questions for the CouchbaseQ&A Panel at the end of the conference to: couchconflondon@couchbase.com 29