Cc boston couchbase server demo & tour
 

Like this? Share it with your network

Share

Cc boston couchbase server demo & tour

on

  • 670 views

 

Statistics

Views

Total Views
670
Views on SlideShare
668
Embed Views
2

Actions

Likes
0
Downloads
3
Comments
0

1 Embed 2

https://si0.twimg.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

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

Cc boston couchbase server demo & tour Presentation Transcript

  • 1. Couchbase  Server   Raghavan  “Rags”  N.  Srinivas   Developer  Advocate   1  
  • 2. Speaker  IntroducMon  •  Architect  and  Evangelist  working  with  developers  •  Speaker  at  JavaOne,  RSA  conferences,  Sun  Tech  Days,   JUGs  and  other  developer  conferences  •  Taught  undergrad  and  grad  courses  •  Technology  Evangelist  at  Sun  Microsystems  for  10+   years  •  SMll  trying  to  understand  and  work  more  effecMvely  on   Java  and  distributed  systems  •  Couchbase  Developer  Advocate  working  with  Java  and   Ruby  developers  •  Philosophy:  “Be#er  to  have  an  unanswered  ques1on   than  a  unques1oned  answer”   2  
  • 3. Couchbase  Server   •  Simple   •  Fast   =   •  •  ElasMc   NoSQL  Database   Formerly  known  as  Membase  Server   3  
  • 4. Couchbase  Server  Features   •  Built-­‐in  clustering  –  All  nodes  equal   •  Data  replicaMon  with  auto-­‐failover   •  Zero-­‐-­‐downMme  maintenance       •  Clone  to  grow  and  scale  horizontally   4  
  • 5. Couchbase  Server  Basic  OperaMon   APP  SERVER  1   APP  SERVER  2       § Docs  distributed  evenly  across       COUCHBASE  CLIENT  LIBRARY   servers  in  the  cluster   COUCHBASE  CLIENT  LIBRARY               § Each  server  stores  both  ac1ve   CLUSTER  MAP     CLUSTER  MAP             &  replica  docs       §  Only  one  server  acMve  at  a  Mme   § 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   AcMve  Docs   AcMve  Docs   AcMve  Docs         docs     Doc  5   DOC     Doc  4   DOC     Doc  1   DOC         §  MulMple  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  Mme             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. Add  Nodes   APP  SERVER  1   APP  SERVER  2           §  Two  servers  added  to   COUCHBASE  CLIENT  LIBRARY   COUCHBASE  CLIENT  LIBRARY   cluster           §  One-­‐click  operaMon     CLUSTER  MAP     CLUSTER  MAP       §  Docs  automaMcally               rebalanced  across   cluster   §  Even  distribuMon  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  servers  AcMve  Docs       AcMve  Docs    AcMve  Docs  ocs   AcMve  Docs     AcMve  Docs     AcMve  D   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   DOC                  Replica  Docs     Replica  Docs    Replica  Docs     Replica  Docs     Replica  Docs         Replica  Docs         Doc  4   DOC     Doc  6   DOC     Doc  7   7   DOC   Doc                   Doc  1   DOC     Doc  3   DOC     Doc  9   9   DOC   Doc                   Doc  8   DOC     Doc  2   DOC     Doc  5   DOC       COUCHBASE  SERVER  CLUSTER   6  
  • 7. Fail  Over  Node   §  App  servers  happily  accessing  docs       on  Server  3       COUCHBASE  CLIENT  LIBRARY   §  Server  fails   COUCHBASE  CLIENT  LIBRARY         §  App  server  requests  to  server  3  fail       CLUSTER  MAP     CLUSTER  MAP     §  Cluster  detects  server  has  failed             §  Promotes  replicas  of  docs  to  ac1ve       §  Updates  cluster  map   §  App  server  requests  for  docs  now   go  to  appropriate  server   §  Typically  rebalance  would  follow    SERVER  1   SERVER  2   SERVER  3   SERVER  4   SERVER  5  AcMve  Docs       AcMve  Docs    AcMve  Docs  ocs   AcMve  Docs     AcMve  Docs     AcMve  D   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  6                            Replica  Docs     Replica  Docs    Replica  Docs     Replica  Docs     Replica  Docs         Replica  Docs         Doc  4   DOC     Doc  6   DOC     Doc  7   7   DOC   Doc     Doc  5   DOC     Doc  8   DOC               Doc  1   DOC     Doc  3   DOC     Doc  9   9   DOC   Doc     Doc  2     DOC                       COUCHBASE  SERVER  CLUSTER   7  
  • 8. Couchbase  Server  Features   •  Memcached  compaMble  (built-­‐in  caching)   •  Monitoring  and  administraMon  APIs  and   GUI     •  Reliable  storage  architecture       8  
  • 9. Couchbase  Server  1.8  Architecture   11211   11210   Memcapable    1.0   Memcapable    2.0   Moxi   REST  management  API/Web  UI   vBucket  state  and  replicaMon  manager   Memcached   Global  singleton  supervisor   Rebalance  orchestrator   ConfiguraMon  manager   Node  health  monitor   Process  monitor   Heartbeat   Couchbase  EP  Engine   Data  Manager   Cluster  Manager   storage  interface   Persistence  Layer   hkp   on  each  node   one  per  cluster   Erlang/OTP   HTTP   Erlang  port  mapper   Distributed  Erlang   8091   4369   21100  -­‐  21199   9  
  • 10. Couchbase  Server  1.8  Architecture   11211   11210   Memcapable    1.0   Memcapable    2.0   Moxi   REST  management  API/Web  UI   vBucket  state  and  replicaMon  manager   Memcached   Global  singleton  supervisor   Rebalance  orchestrator   ConfiguraMon  manager   Node  health  monitor   Process  monitor   Heartbeat   Couchbase  EP  Engine   storage  interface   Persistence  Layer   hkp   on  each  node   one  per  cluster   Erlang/OTP   HTTP   Erlang  port  mapper   Distributed  Erlang   8091   4369   21100  -­‐  21199   10  
  • 11. Couchbase  Server  1.8  Architecture   11211   11210   Memcapable    1.0   Memcapable    2.0   Moxi   REST  Management  /WebUI   vBucket  state  and  replicaMon  manager   Memcached   Global  singleton  supervisor   ConfiguraMon  Manager   Rebalance  orchestrator   Node  health  monitor   Process  monitor   Heartbeat   Couchbase  EP  Engine   storage  interface   Persistence  Layer   hNp   on  each  node   one  per  cluster   Erlang/OTP   HTTP   Erlang  port  mapper   Distributed  Erlang   8091   4369   21100  -­‐  21199   11  
  • 12. 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   hkp://www.couchbase.com/develop   12  
  • 13. DEMO  TIME   13  
  • 14. Couchbase  Server  2.0  •  Next  major  release  of  Couchbase  Server  •  Currently  in  Developer  Preview  What’s  new:  •  Indexing  and  Querying  •  Incremental  Map  Reduce  •  Cross  Data  Center  ReplicaMon  •  Fully  backwards  compaMble  with  exisMng   Couchbase  Server   14  
  • 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  replicaMon  manager   Memcached   Global  singleton  supervisor   Rebalance  orchestrator   ConfiguraMon  manager   Node  health  monitor   Process  monitor   Heartbeat   Couchbase  EP  Engine   storage  interface   New  Persistence  Layer   hNp   on  each  node   one  per  cluster   Erlang/OTP   HTTP   Erlang  port  mapper   Distributed  Erlang   8091   4369   21100  -­‐  21199   15  
  • 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  MAP   AP   CLUSTER  M     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   AcMve  Docs     AcMve  Docs     AcMve  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. Cross  Data  Center  ReplicaMon   US  DATA   EUROPE  DATA   ASIA  DATA   CENTER   CENTER   CENTER     Replica]on     Replica]on     Replica]on   § Data  close  to  users   § MulMple  locaMons  for  disaster  recovery   § Independently  managed  clusters  serving  local  data   17  
  • 18. DEMO  TIME   18  
  • 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. Player  Document   {    "_id":  "Keith4540",    "jsonType":  "player",    "uuid":  "35767d02-­‐a958-­‐4b83-­‐8179-­‐616816692de1",    "name":  "Keith4540",    "hitpoints":  75,    "experience":  663,    "level":  4,    "loggedIn":  false   }     20  
  • 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. Monster  Document   {    "_id":  "Bauchan9932”,    "jsonType":  "monster",    "name":  "Bauchan9932",    "uuid":  "d10dfc1b-­‐0412-­‐4140-­‐b4ec-­‐affdbf2aa5ec",    "hitpoints":  370,    "experienceWhenKilled":  52,    "itemProbability":  0.5050581341872865   }   22  
  • 23. GAME  ON!   23  
  • 24. THANK  YOU!   Get  Couchbase  Server  2.0  at    hkp://www.couchbase.com/downloads     Give  us  feedback  at:   hkp://www.couchbase.com/forums   24  
  • 25. QUESTIONS?   25  
  • 26. Boston  May  15,  2012   26  
  • 27. TweeMng   #CouchConf   27  
  • 28. Tell  us  what  you  think!   Fill  in  the   conference  eval   form  in  your   conference  bag.       Turn  it  in  axer  the   closing  session  for   your  World  Tour     t-­‐shirt!   28  
  • 29. Submit  your  quesMons!   Submit  your  quesMons  for  the  Couchbase  Q&A  Panel  at  the  end  of  the  conference  to:     couchconyoston@couchbase.com   29