introduction to couchbase server 2.0 - couchconf sf - tour and demo

31
1 Introduc+on to Couchbase Server 2.0 Dip+ Borkar Director, Product Management

Upload: dipti-borkar

Post on 22-Jun-2015

433 views

Category:

Technology


5 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

1  

Introduc+on  to    Couchbase  Server  2.0  

Dip+  Borkar    Director,  Product  Management  

Page 2: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

2  2  

Couchbase  Server    

NoSQL  Database  

Page 3: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

3  3  

Couchbase  Server    

Easy  Scalability  

Consistent,  High  Performance  

Always  On  24x7x365  

Grow  cluster  without  applicaEon  changes,  without  downEme  with  a  single  click  

Consistent  sub-­‐millisecond    read  and  write  response  Emes    with  consistent  high  throughput  

No  downEme  for  soJware  upgrades,  hardware  maintenance,  etc.  

Page 4: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

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  

Page 5: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

5  

Couchbase  Server  Features  

Built-­‐in  managed  cached      Monitoring  and  administra+on  APIs  and  GUI        SDK  for  a  variety  of  languages  

 

Page 6: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

6  6  

Couchbase  Server    

2.0�

NoSQL  Database  NoSQL  Document  Database  

Page 7: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

7  

Flexible  Data  Model  

Schemaless  data  model  allows  painless  data  model  changes  for  rapid  applica+on  development  

 {          “ID”:  1,          “FIRST”:  “DipE”,          “LAST”:  “Borkar”,          “ZIP”:  “94040”,          “CITY”:  “MV”,          “STATE”:  “CA”  }  

JSON  JSON  

JSON   JSON  

Page 8: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

8  

New  in  Two  

JSON  support   Indexing  and  Querying  

Cross  data  center  replicaEon  Incremental  Map  Reduce  

Page 9: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

9  

Couchbase  Server  2.0  Architecture  

Heartbeat  

Process  m

onito

r  

Glob

al  singleton  supe

rviso

r  

Confi

gura+o

n  manager  

on  each  node  

Rebalance  orchestrator  

Nod

e  he

alth  m

onito

r  

one  per  cluster  

vBucket  state  and

 replica+

on  m

anager  

hap  RE

ST  m

anagem

ent  A

PI/W

eb  UI  

HTTP  8091  

Erlang  port  mapper  4369  

Distributed  Erlang  21100  -­‐  21199  

Erlang/OTP  

storage  interface  

Couchbase  EP  Engine  

11210  Memcapable    2.0  

Moxi  

11211  Memcapable    1.0  

Memcached  

New  Persistence  Layer  

8092  Query  API  

Que

ry  Engine  

Data  Manager   Cluster  Manager  

Page 10: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

10  

Couchbase  Server  2.0  Architecture  

Heartbeat  

Process  m

onito

r  

Glob

al  singleton  supe

rviso

r  

Confi

gura+o

n  manager  

on  each  node  

Rebalance  orchestrator  

Nod

e  he

alth  m

onito

r  

one  per  cluster  

vBucket  state  and

 replica+

on  m

anager  

hap  RE

ST  m

anagem

ent  A

PI/W

eb  UI  

HTTP  8091  

Erlang  port  mapper  4369  

Distributed  Erlang  21100  -­‐  21199  

Erlang/OTP  

storage  interface  

Couchbase  EP  Engine  

11210  Memcapable    2.0  

Moxi  

11211  Memcapable    1.0  

Memcached  

New  Persistence  Layer  

8092  Query  API  

Que

ry  Engine  

Page 11: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

11  

COUCHBASE  OPERATIONS  

Page 12: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

12  

3  3   2  

Single  node  -­‐  Couchbase  Write  Opera+on  2  

Managed  Cache  

Disk  Que

ue  

Disk  

Replica+on  Queue  

App  Server  

Couchbase  Server  Node  

Doc  1  Doc  1  

Doc  1  

To  other  node  

Page 13: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

13  

3  3   2  

Single  node  -­‐  Couchbase  Update  Opera+on  2  

Managed  Cache  

Disk  Que

ue  

Replica+on  Queue  

App  Server  

Couchbase  Server  Node  

Doc  1’  

Doc  1  

Doc  1’  Doc  1  

Doc  1’  

Disk  

To  other  node  

Page 14: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

14  

GET  

Doc  1  

3  3   2  

Single  node  -­‐  Couchbase  Read  Opera+on  2  

Disk  Que

ue  

Replica+on  Queue  

App  Server  

Couchbase  Server  Node  

Doc  1  

Doc  1  Doc  1  

Managed  Cache  

Disk  

To  other  node  

Page 15: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

15  

COUCHBASE  SERVER    CLUSTER  

Basic  Opera+on  

•  Docs  distributed  evenly  across  servers    

•  Each  server  stores  both  acEve  and  replica  docs  Only  one  server  ac+ve  at  a  +me  

•  Client  library  provides  app  with  simple  interface  to  database  

•  Cluster  map  provides  map    to  which  server  doc  is  on  App  never  needs  to  know  

•  App  reads,  writes,  updates  docs  

•  MulEple  app  servers  can  access  same  document  at  same  Eme  

User  Configured  Replica  Count  =  1  

READ/WRITE/UPDATE  

   ACTIVE  

Doc  5  

Doc  2  

Doc  

Doc  

Doc  

SERVER  1      ACTIVE  

Doc  4  

Doc  7  

Doc  

Doc  

Doc  

SERVER  2  

Doc  8  

   ACTIVE  

Doc  1  

Doc  2  

Doc  

Doc  

Doc  

REPLICA  

Doc  4  

Doc  1  

Doc  8  

Doc  

Doc  

Doc  

REPLICA  

Doc  6  

Doc  3  

Doc  2  

Doc  

Doc  

Doc  

REPLICA  

Doc  7  

Doc  9  

Doc  5  

Doc  

Doc  

Doc  

SERVER  3  

Doc  6  

APP  SERVER  1  

COUCHBASE  Client  Library      CLUSTER  MAP  

COUCHBASE  Client  Library      CLUSTER  MAP  

APP  SERVER  2  

Doc  9  

Page 16: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

16  

Add  Nodes  to  Cluster  

•  Two  servers  added  One-­‐click  operaEon  

•  Docs  automaEcally  rebalanced  across  cluster  Even  distribu+on  of  docs  Minimum  doc  movement  

•  Cluster  map  updated  

•  App  database    calls  now  distributed    over  larger  number  of  servers    

   

REPLICA  

ACTIVE  

Doc  5  

Doc  2  

Doc  

Doc  

Doc  4  

Doc  1  

Doc  

Doc  

SERVER  1      

REPLICA  

ACTIVE  

Doc  4  

Doc  7  

Doc  

Doc  

Doc  6  

Doc  3  

Doc  

Doc  

SERVER  2      

REPLICA  

ACTIVE  

Doc  1  

Doc  2  

Doc  

Doc  

Doc  7  

Doc  9  

Doc  

Doc  

SERVER  3      

SERVER  4      

SERVER  5  

REPLICA  

ACTIVE  

REPLICA  

ACTIVE  

Doc  

Doc  8   Doc  

Doc  9   Doc  

Doc  2   Doc  

Doc  8   Doc  

Doc  5   Doc  

Doc  6  

READ/WRITE/UPDATE   READ/WRITE/UPDATE  

APP  SERVER  1  

COUCHBASE  Client  Library      CLUSTER  MAP  

COUCHBASE  Client  Library      CLUSTER  MAP  

APP  SERVER  2  

COUCHBASE  SERVER    CLUSTER  

User  Configured  Replica  Count  =  1  

Page 17: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

17  

Fail  Over  Node  

   

REPLICA  

ACTIVE  

Doc  5  

Doc  2  

Doc  

Doc  

Doc  4  

Doc  1  

Doc  

Doc  

SERVER  1      

REPLICA  

ACTIVE  

Doc  4  

Doc  7  

Doc  

Doc  

Doc  6  

Doc  3  

Doc  

Doc  

SERVER  2      

REPLICA  

ACTIVE  

Doc  1  

Doc  2  

Doc  

Doc  

Doc  7  

Doc  9  

Doc  

Doc  

SERVER  3      

SERVER  4      

SERVER  5  

REPLICA  

ACTIVE  

REPLICA  

ACTIVE  

Doc  9  

Doc  8  

Doc   Doc  6   Doc  

Doc  

Doc  5   Doc  

Doc  2  

Doc  8   Doc  

Doc  

•  App  servers  accessing  docs  

•  Requests  to  Server  3  fail  

•  Cluster  detects  server  failed  Promotes  replicas  of  docs  to  ac+ve  Updates  cluster  map  

•  Requests  for  docs  now  go  to  appropriate  server  

•  Typically  rebalance    would  follow  

Doc  

Doc  1   Doc  3  

APP  SERVER  1  

COUCHBASE  Client  Library      CLUSTER  MAP  

COUCHBASE  Client  Library      CLUSTER  MAP  

APP  SERVER  2  

User  Configured  Replica  Count  =  1  

COUCHBASE  SERVER    CLUSTER  

Page 18: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

18  

DEMO  TIME  

Page 19: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

19  

COUCHBASE  SERVER    CLUSTER  

Indexing  and  Querying    

User  Configured  Replica  Count  =  1  

   ACTIVE  

Doc  5  

Doc  2  

Doc  

Doc  

Doc  

SERVER  1  

REPLICA  

Doc  4  

Doc  1  

Doc  8  

Doc  

Doc  

Doc  

APP  SERVER  1  

COUCHBASE  Client  Library      CLUSTER  MAP  

COUCHBASE  Client  Library      CLUSTER  MAP  

APP  SERVER  2  

Doc  9  

•  Indexing  work  is  distributed  amongst  nodes  

•  Large  data  set  possible  

•  Parallelize  the  effort  

•  Each  node  has  index  for  data  stored  on  it  

•  Queries  combine  the  results  from  required  nodes  

   ACTIVE  

Doc  5  

Doc  2  

Doc  

Doc  

Doc  

SERVER  2  

REPLICA  

Doc  4  

Doc  1  

Doc  8  

Doc  

Doc  

Doc  

Doc  9  

   ACTIVE  

Doc  5  

Doc  2  

Doc  

Doc  

Doc  

SERVER  3  

REPLICA  

Doc  4  

Doc  1  

Doc  8  

Doc  

Doc  

Doc  

Doc  9  

Query  

Page 20: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

20  

Cross  Data  Center  Replica+on  (XDCR)  

COUCHBASE  SERVER    CLUSTER  NY  DATA  CENTER  

    ACTIVE  

Doc    

Doc  2  

SERVER  1  

Doc  9  

   

SERVER  2      

SERVER  3  

RAM  

Doc     Doc     Doc  

ACTIVE  

Doc  

Doc    

Doc    RAM  

ACTIVE  

Doc    

Doc    

Doc  RAM  

DISK  

Doc     Doc   Doc    

DISK  

Doc   Doc   Doc  

DISK  

COUCHBASE  SERVER    CLUSTER  SF  DATA  CENTER  

    ACTIVE  

Doc    

Doc  2  

SERVER  1  

Doc  9  

   

SERVER  2      

SERVER  3  

RAM  

Doc     Doc     Doc  

ACTIVE  

Doc  

Doc    

Doc    RAM  

ACTIVE  

Doc    

Doc    

Doc  RAM  

DISK  

Doc     Doc   Doc    

DISK  

Doc   Doc   Doc  

DISK  

Page 21: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

21  

Couchbase  SDKs  

Java    SDK  

.Net  SDK  

PHP  SDK  

Ruby  SDK  

…and  many  more  

Java  client  API  

User  Code  

Couchbase  Server  

CouchbaseClient  cb  =  new  CouchbaseClient(listURIs,  "aBucket",  "letmein");    cb.set("hello",  0,  "world");  cb.get("hello");  

hgp://www.couchbase.com/develop  

Couchbase  Java  Library  (spymemcached)  

Page 22: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

22  

DEMO  TIME  

Page 23: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

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  

Page 24: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

24  

Player  Document  

{    "jsonType":  "player",    "uuid":  "35767d02-­‐a958-­‐4b83-­‐8179-­‐616816692de1",    "name":  "Keith4540",    "hitpoints":  75,    "experience":  663,    "level":  4,    "loggedIn":  false  

}    

Player  ID  

Page 25: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

25  

Item  Document  

{    "jsonType":  "item",    "name":  "Katana_e5890c94-­‐11c6-­‐65746ce6c560",    "uuid":  "e5890c94-­‐11c6-­‐4856-­‐a7a6-­‐65746ce6c560",    "ownerId":  "Dale9887"  

}  

Item  ID  

Player  ID  

Page 26: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

26  

Monster  Document  

{    "jsonType":  "monster",    "name":  "Bauchan9932",    "uuid":  "d10dfc1b-­‐0412-­‐4140-­‐b4ec-­‐affdbf2aa5ec",    "hitpoints":  370,    "experienceWhenKilled":  52,    "itemProbability":  0.5050581341872865  

}  

Monster  ID  

Page 27: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

27  

GAME  ON!  

Page 28: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

28  

Linear  Scaling:  Couchbase  +  Cisco  +  Solarflare  

Linear  throughput  scalability  

High  throughput  with  1.4  GB/sec  data  transfer  rate  

using  4  servers  

Page 29: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

29  

2.0 Beta is Here.

JSON Documents Indexing n Querying

Cross Data Center Replication  

Page 30: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

30  

THANK  YOU!  

Get  Couchbase  Server  2.0  at    hgp://www.couchbase.com/download  

 

[email protected]  @dborkar  

Page 31: Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo

31  

QUESTIONS?