Introduc+on	  to	  	  Couchbase	  Server	  2.0	                     Dip+	  Borkar 	  	            Director,	  Product	  Ma...
Couchbase	  Server	  	                   NoSQL	  Database	                                           2	  
Couchbase	  Server	  	                                Grow	  cluster	  without	                   Easy	                   ...
Couchbase	  Server	  Features	                 Built-­‐in	  clustering	  –	  All	  nodes	  equal	                 	       ...
Couchbase	  Server	  Features	                       Built-­‐in	  managed	  cached	                       	               ...
Couchbase	  Server	  	        NoSQL	  Document	  Database	            NoSQL	  Database	                      	            ...
Flexible	  Data	  Model	                                  	  {	                                  	  	  	  	  “ID”:	  1,	  ...
New	  in	  Two	              JSON	  support	           Indexing	  and	  Querying	       Incremental	  Map	  Reduce	     Cr...
Couchbase	  Server	  2.0	  Architecture	      8092	                          11211	                       11210	      Quer...
Couchbase	  Server	  2.0	  Architecture	      8092	                          11211	                       11210	      Quer...
COUCHBASE	  OPERATIONS	                                11	  
Single	  node	  -­‐	  Couchbase	  Write	  Opera+on	                                                                       ...
Single	  node	  -­‐	  Couchbase	  Update	  Opera+on	                                                                      ...
Single	  node	  -­‐	  Couchbase	  Read	  Opera+on	                                                                        ...
Basic	  Opera+on	                              APP	  SERVER	  1	                                                APP	  SERV...
Add	  Nodes	  to	  Cluster	                                     APP	  SERVER	  1	                                         ...
Fail	  Over	  Node	                                        APP	  SERVER	  1	                                              ...
DEMO	  TIME	                     18	  
Indexing	  and	  Querying	  	                              APP	  SERVER	  1	                                              ...
Cross	  Data	  Center	  Replica+on	  (XDCR)	        SERVER	  1	  	                           SERVER	  2	   	              ...
Couchbase	  SDKs	  Java	  	  SDK	           User	  Code	  .Net	  SDK	                                             Couchbas...
DEMO	  TIME	                     22	  
Demo:	  The	  next	  big	  social	  game	     3	  Objects	  (documents)	  within	  game:	             • Players	          ...
Player	  Document	    {	            	  "jsonType":	  "player",	            	  "uuid":	  "35767d02-­‐a958-­‐4b83-­‐8179-­‐6...
Item	  Document	    {	                                                            Item	  ID	            	  "jsonType":	  "...
Monster	  Document	    {	            	  "jsonType":	  "monster",	                   Monster	  ID	            	  "name":	  ...
GAME	  ON!	                    27	  
Linear	  Scaling:	  Couchbase	  +	  Cisco	  +	  Solarflare	                                        High	  throughput	  with...
2.0 Beta      is      Here.            JSON Documents         Indexing n QueryingCross Data Center Replication	          ...
THANK	  YOU!	       Get	  Couchbase	  Server	  2.0	  at	  	  hgp://www.couchbase.com/download	                      	     ...
QUESTIONS?	                   31	  
Upcoming SlideShare
Loading in …5
×

Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

552 views
477 views

Published on

My presentation from CouchConf SF 2012.
An introduction to Couchbase Server 2.0

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
552
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

  1. 1. Introduc+on  to    Couchbase  Server  2.0   Dip+  Borkar     Director,  Product  Management   1  
  2. 2. Couchbase  Server     NoSQL  Database   2  
  3. 3. Couchbase  Server     Grow  cluster  without   Easy   applicaEon  changes,  without   Scalability   downEme  with  a  single  click   Consistent  sub-­‐millisecond     Consistent,  High   read  and  write  response  Emes     Performance   with  consistent  high  throughput   Always  On   No  downEme  for  soJware   24x7x365   upgrades,  hardware  maintenance,   etc.   3  
  4. 4. Couchbase  Server  Features   Built-­‐in  clustering  –  All  nodes  equal       Data  replica+on  with  auto-­‐failover       Zero-­‐-­‐down+me  maintenance         Clone  to  grow  and  scale  horizontally   4  
  5. 5. Couchbase  Server  Features   Built-­‐in  managed  cached       Monitoring  and  administra+on  APIs  and   GUI         SDK  for  a  variety  of  languages     5  
  6. 6. Couchbase  Server     NoSQL  Document  Database   NoSQL  Database   2.0 6  
  7. 7. Flexible  Data  Model    {          “ID”:  1,          “FIRST”:  “DipE”,          “LAST”:  “Borkar”,          “ZIP”:  “94040”,          “CITY”:  “MV”,          “STATE”:  “CA”   }   JSON   JSON   JSON   JSON   Schemaless  data  model  allows  painless  data  model   changes  for  rapid  applica+on  development   7  
  8. 8. New  in  Two   JSON  support   Indexing  and  Querying   Incremental  Map  Reduce   Cross  data  center  replicaEon   8  
  9. 9. 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  replica+on  manager   Memcached   Global  singleton  supervisor   Rebalance  orchestrator   Configura+on  manager   Node  health  monitor   Process  monitor   Heartbeat   Couchbase  EP  Engine   Data  Manager   Cluster  Manager   storage  interface   New  Persistence  Layer   hap   on  each  node   one  per  cluster   Erlang/OTP   HTTP   Erlang  port  mapper   Distributed  Erlang   8091   4369   21100  -­‐  21199   9  
  10. 10. 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  replica+on  manager   Memcached   Global  singleton  supervisor   Rebalance  orchestrator   Configura+on  manager   Node  health  monitor   Process  monitor   Heartbeat   Couchbase  EP  Engine   storage  interface   New  Persistence  Layer   hap   on  each  node   one  per  cluster   Erlang/OTP   HTTP   Erlang  port  mapper   Distributed  Erlang   8091   4369   21100  -­‐  21199   10  
  11. 11. COUCHBASE  OPERATIONS   11  
  12. 12. Single  node  -­‐  Couchbase  Write  Opera+on   2   Doc  1   App  Server   3   2   3   Managed  Cache   To  other  node   Replica+on   Queue   Doc  1   Disk  Queue   Disk   Couchbase  Server  Node   12  
  13. 13. Single  node  -­‐  Couchbase  Update  Opera+on   2   Doc  1’   App  Server   3   2   3   Managed  Cache   To  other  node   Replica+on   Doc  1   Doc  1’   Queue   Disk  Queue   Disk   Doc  1   Couchbase  Server  Node   13  
  14. 14. Single  node  -­‐  Couchbase  Read  Opera+on   2   Doc  1   GET   App  Server   3   2   3   Managed  Cache   To  other  node   Replica+on   Queue   Doc  1   Disk  Queue   Disk   Doc  1   Couchbase  Server  Node   14  
  15. 15. Basic  Opera+on   APP  SERVER  1   APP  SERVER  2   COUCHBASE  Client  Library   COUCHBASE  Client  Library       CLUSTER  MAP     CLUSTER  MAP     READ/WRITE/UPDATE   SERVER  1     SERVER  2     SERVER  3     •  Docs  distributed  evenly  across     ACTIVE     ACTIVE     ACTIVE   servers     Doc  5   Doc   Doc  4   Doc   Doc  1   Doc   •  Each  server  stores  both  acEve  and   replica  docs   Doc  2   Doc   Doc  7   Doc   Doc  2   Doc   Only  one  server  ac+ve  at  a  +me   •  Client  library  provides  app  with   Doc  9   Doc   Doc  8   Doc   Doc  6   Doc   simple  interface  to  database   REPLICA   REPLICA   REPLICA   •  Cluster  map  provides  map     to  which  server  doc  is  on   Doc  4   Doc   Doc  6   Doc   Doc  7   Doc   App  never  needs  to  know   Doc  1   Doc   Doc  3   Doc   Doc  9   Doc   •  App  reads,  writes,  updates  docs   Doc  8   Doc   Doc  2   Doc   Doc  5   Doc   •  MulEple  app  servers  can  access  same   document  at  same  Eme   COUCHBASE  SERVER    CLUSTER  User  Configured  Replica  Count  =  1   15  
  16. 16. Add  Nodes  to  Cluster   APP  SERVER  1   APP  SERVER  2   COUCHBASE  Client  Library   COUCHBASE  Client  Library       CLUSTER  MAP     CLUSTER  MAP     READ/WRITE/UPDATE   READ/WRITE/UPDATE   SERVER  1     SERVER  2     SERVER  3     SERVER  4     SERVER  5     •  Two  servers  added     ACTIVE     ACTIVE     ACTIVE     ACTIVE     ACTIVE   One-­‐click  operaEon   Doc  5   Doc   Doc  4   Doc   Doc  1   Doc   •  Docs  automaEcally   rebalanced  across   Doc  2   Doc   Doc  7   Doc   Doc  2   Doc   cluster   Even  distribu+on  of  docs   Minimum  doc  movement   Doc  9   Doc   Doc  8   Doc   Doc  6   Doc   •  Cluster  map  updated   REPLICA   REPLICA   REPLICA   REPLICA   REPLICA   •  App  database     Doc  4   Doc   Doc  6   Doc   Doc  7   Doc   calls  now  distributed     over  larger  number  of   Doc  1   Doc   Doc  3   Doc   Doc  9   Doc   servers     Doc  8   Doc   Doc  2   Doc   Doc  5   Doc   COUCHBASE  SERVER    CLUSTER  User  Configured  Replica  Count  =  1   16  
  17. 17. Fail  Over  Node   APP  SERVER  1   APP  SERVER  2   COUCHBASE  Client  Library   COUCHBASE  Client  Library       CLUSTER  MAP     CLUSTER  MAP     SERVER  1     SERVER  2     SERVER  3     SERVER  4     SERVER  5     •  App  servers  accessing  docs             ACTIVE   ACTIVE   ACTIVE   ACTIVE   ACTIVE   •  Requests  to  Server  3  fail   Doc  5   Doc   Doc  4   Doc   Doc  1   Doc   Doc  9   Doc   Doc  6   Doc   •  Cluster  detects  server  failed   Promotes  replicas  of  docs  to   Doc  2   Doc   Doc  7   Doc   Doc  2   Doc   Doc  8   Doc   Doc   ac+ve   Updates  cluster  map   Doc  1   Doc  3   •  Requests  for  docs  now  go  to   REPLICA   REPLICA   REPLICA   REPLICA   REPLICA   appropriate  server   Doc  4   Doc   Doc  6   Doc   Doc  7   Doc   Doc  5   Doc   Doc  8   Doc   •  Typically  rebalance     would  follow   Doc  1   Doc   Doc  3   Doc   Doc  9   Doc   Doc  2   Doc   COUCHBASE  SERVER    CLUSTER  User  Configured  Replica  Count  =  1   17  
  18. 18. DEMO  TIME   18  
  19. 19. Indexing  and  Querying     APP  SERVER  1   APP  SERVER  2   COUCHBASE  Client  Library   COUCHBASE  Client  Library       CLUSTER  MAP     CLUSTER  MAP     Query   SERVER  1   SERVER  2   SERVER  3     •  Indexing  work  is  distributed   ACTIVE     ACTIVE     ACTIVE     amongst  nodes   Doc  5   Doc   Doc  5   Doc   Doc  5   Doc   •  Large  data  set  possible   Doc  2   Doc   Doc  2   Doc   Doc  2   Doc   •  Parallelize  the  effort   Doc  9   Doc   •  Each  node  has  index  for  data  stored   Doc  9   Doc   Doc  9   Doc   on  it   REPLICA   REPLICA   REPLICA   •  Queries  combine  the  results  from   Doc  4   Doc   required  nodes   Doc  4   Doc   Doc  4   Doc   Doc  1   Doc   Doc  1   Doc   Doc  1   Doc   Doc  8   Doc   Doc  8   Doc   Doc  8   Doc   COUCHBASE  SERVER    CLUSTER  User  Configured  Replica  Count  =  1   19  
  20. 20. Cross  Data  Center  Replica+on  (XDCR)   SERVER  1     SERVER  2     SERVER  3       ACTIVE     ACTIVE     ACTIVE   COUCHBASE  SERVER    CLUSTER   Doc     Doc   Doc     NY  DATA  CENTER   Doc  2   Doc     Doc     Doc  9   Doc     Doc  RAM   RAM   RAM   Doc     Doc     Doc   Doc     Doc   Doc     Doc   Doc   Doc   DISK   DISK   DISK   SERVER  1     SERVER  2     SERVER  3       ACTIVE     ACTIVE     ACTIVE   Doc     Doc   Doc     Doc  2   Doc     Doc     Doc  9   Doc     Doc   RAM   RAM   RAM   COUCHBASE  SERVER    CLUSTER   Doc     Doc     Doc   Doc     Doc   Doc     Doc   Doc   Doc   SF  DATA  CENTER   DISK   DISK   DISK   20  
  21. 21. Couchbase  SDKs  Java    SDK   User  Code  .Net  SDK   CouchbaseClient  cb  =  new  CouchbaseClient(listURIs,   Java  client  API   "aBucket",  "letmein");     cb.set("hello",  0,  "world");   cb.get("hello");   Couchbase  Java  Library  PHP  SDK   (spymemcached)  Ruby  SDK   Couchbase  Server  …and  many  more   hgp://www.couchbase.com/develop   21  
  22. 22. DEMO  TIME   22  
  23. 23. Demo:  The  next  big  social  game   3  Objects  (documents)  within  game:   • Players   • Monsters   • Items     Gameplay:   • Players  fight  monsters   • Monsters  drop  items   • Players  own  items   23  
  24. 24. Player  Document   {    "jsonType":  "player",    "uuid":  "35767d02-­‐a958-­‐4b83-­‐8179-­‐616816692de1",    "name":  "Keith4540",    "hitpoints":  75,   Player  ID    "experience":  663,    "level":  4,    "loggedIn":  false   }     24  
  25. 25. Item  Document   {   Item  ID    "jsonType":  "item",    "name":  "Katana_e5890c94-­‐11c6-­‐65746ce6c560",    "uuid":  "e5890c94-­‐11c6-­‐4856-­‐a7a6-­‐65746ce6c560",    "ownerId":  "Dale9887"   }   Player  ID   25  
  26. 26. Monster  Document   {    "jsonType":  "monster",   Monster  ID    "name":  "Bauchan9932",    "uuid":  "d10dfc1b-­‐0412-­‐4140-­‐b4ec-­‐affdbf2aa5ec",    "hitpoints":  370,    "experienceWhenKilled":  52,    "itemProbability":  0.5050581341872865   }   26  
  27. 27. GAME  ON!   27  
  28. 28. Linear  Scaling:  Couchbase  +  Cisco  +  Solarflare   High  throughput  with  1.4   GB/sec  data  transfer  rate   using  4  servers   Linear  throughput   scalability   28  
  29. 29. 2.0 Beta is Here. JSON Documents Indexing n QueryingCross Data Center Replication   29  
  30. 30. THANK  YOU!   Get  Couchbase  Server  2.0  at    hgp://www.couchbase.com/download     dip+@couchbase.com   @dborkar   30  
  31. 31. QUESTIONS?   31  

×