+ All Categories
Home > Education > Portland couchbase server demo & tour

Portland couchbase server demo & tour

Date post: 13-Jul-2015
Category:
Upload: couchbase
View: 476 times
Download: 1 times
Share this document with a friend
Popular Tags:
26
1 Couchbase Server Matt Ingenthron Director, Developer Solutions
Transcript

1

Couchbase Server

Matt IngenthronDirector, Developer Solutions

2

Couchbase Server

=• Simple• Fast• Elastic• NoSQL Database

Formerly known as Membase Server

3

Couchbase Server Features

• Built-in clustering – All nodes equal

• Data replication with auto-failover

• Zero-­downtime maintenance

• Clone to grow and scale horizontally

4

Auto-sharding: vBuckets

5

Couchbase Server Basic Operation

COUCHBASE CLIENT LIBRARY

Docs distributed evenly across servers in the cluster

Each server stores both active& replica docs Only one server active at a time

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

Multiple App Servers can access same document at same time

Doc 4

Doc 2

Doc 5

SERVER 1

Doc 6

Doc 4

SERVER 2

Doc 7

Doc 1

SERVER 3

Doc 3

Read/Write/Update

COUCHBASE CLIENT LIBRARY

Read/Write/Update

Doc 9

Doc 7

Doc 8 Doc 6

Doc 3

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

Doc 9

Doc 5

DOC

DOC

DOC

Doc 1

Doc 8 Doc 2

Replica Docs Replica Docs Replica Docs

Active Docs Active Docs Active Docs

CLUSTER MAP CLUSTER MAP

APP SERVER 1 APP SERVER 2

COUCHBASE SERVER CLUSTER

6

Add Nodes

Two servers added to cluster One-click operation

Docs automatically rebalanced across cluster Even distribution of

docs Minimum doc

movement

Cluster map updated

App database calls now distributed over larger # of servers

Read/Write/Update Read/Write/Update

Doc 7

Doc 9

Doc 3

Active Docs

Replica Docs

Doc 6

COUCHBASE CLIENT LIBRARY

CLUSTER MAP

APP SERVER 1

COUCHBASE CLIENT LIBRARY

CLUSTER MAP

APP SERVER 2

Doc 4

Doc 2

Doc 5

SERVER 1

Doc 6

Doc 4

SERVER 2

Doc 7

Doc 1

SERVER 3

Doc 3

Doc 9

Doc 7

Doc 8 Doc 6

Doc 3

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

Doc 9

Doc 5

DOC

DOC

DOC

Doc 1

Doc 8 Doc 2

Replica Docs Replica Docs Replica Docs

Active Docs Active Docs Active Docs

SERVER 4 SERVER 5

Active Docs Active Docs

Replica Docs Replica Docs

COUCHBASE SERVER CLUSTER

7

Fail Over Node

Doc 7

Doc 9

Doc 3

Active Docs

Replica Docs

Doc 6

COUCHBASE CLIENT LIBRARY

CLUSTER MAP

COUCHBASE CLIENT LIBRARY

CLUSTER MAP

Doc 4

Doc 2

Doc 5

SERVER 1

Doc 6

Doc 4

SERVER 2

Doc 7

Doc 1

SERVER 3

Doc 3

Doc 9

Doc 7 Doc 8

Doc 6

Doc 3

DOC

DOC

DOCDOC

DOC

DOC

DOC

DOC

DOC DOC

DOC

DOC

DOC

Doc 9

Doc 5DOC

DOC

DOC

Doc 1

Doc 8

Doc 2

Replica Docs Replica Docs Replica Docs

Active Docs Active Docs Active Docs

SERVER 4 SERVER 5

Active Docs Active Docs

Replica Docs Replica Docs

COUCHBASE SERVER CLUSTER

DOC

DOC

App servers happily accessing docs on Server 3

Server fails

App server requests to server 3 fail

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 follow

8

Couchbase Server Features

• Memcached compatible (built-in caching)

• Monitoring and administration APIs and GUI

• Reliable storage architecture

9

Couchbase Server 1.8 Architecture

Hea

rtb

eat

Pro

cess

mo

nit

or

Glo

bal

sin

glet

on

su

per

viso

r

Co

nfi

gura

tio

n m

anag

er

on each node

Reb

alan

ce o

rch

estr

ato

r

No

de

hea

lth

mo

nit

or

one per cluster

vBu

cket

sta

te a

nd

rep

licat

ion

man

ager

httpR

EST

man

agem

ent

AP

I/W

eb U

I

HTTP

8091Erlang port mapper

4369Distributed Erlang

21100 - 21199

Erlang/OTP

Cluster Manager

Persistence Layer

storage interface

Memcached

Couchbase EP Engine

11210Memcapable 2.0

Moxi

11211Memcapable 1.0

Data Manager

10

Couchbase Server 1.8 Architecture

Persistence Layer

storage interface

Hea

rtb

eat

Pro

cess

mo

nit

or

Glo

bal

sin

glet

on

su

per

viso

r

Co

nfi

gura

tio

n m

anag

er

on each node

Reb

alan

ce o

rch

estr

ato

r

No

de

hea

lth

mo

nit

or

one per cluster

vBu

cket

sta

te a

nd

rep

licat

ion

man

ager

httpR

EST

man

agem

ent

AP

I/W

eb U

I

Memcached

Couchbase EP Engine

11210Memcapable 2.0

Moxi

11211Memcapable 1.0

HTTP

8091Erlang port mapper

4369Distributed Erlang

21100 - 21199

Erlang/OTP

11

Couchbase Server 1.8 Architecture

Hea

rtb

eat

Pro

cess

mo

nit

or

Co

nfi

gura

tio

n M

anag

er

Glo

bal

sin

glet

on

su

per

viso

r

on each node

Reb

alan

ce o

rch

estr

ato

r

No

de

hea

lth

mo

nit

or

one per cluster

vBu

cket

sta

te a

nd

rep

licat

ion

man

ager

httpR

EST

Man

age

me

nt

/We

bU

I

HTTP

8091Erlang port mapper

4369Distributed Erlang

21100 - 21199

Erlang/OTP

Persistence Layer

storage interface

Memcached

Couchbase EP Engine

11210Memcapable 2.0

Moxi

11211Memcapable 1.0

12

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");// this is all the same as beforecb.set("hello", 0, "world");cb.get("hello");

http://www.couchbase.com/develop

Couchbase Java Library (spymemcached)

13

DEMO TIME

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 Replication

• Fully backwards compatible with existing Couchbase Server

15

Couchbase Server 2.0 Architecture

Hea

rtb

eat

Pro

cess

mo

nit

or

Glo

bal

sin

glet

on

su

per

viso

r

Co

nfi

gura

tio

n m

anag

er

on each node

Reb

alan

ce o

rch

estr

ato

r

No

de

hea

lth

mo

nit

or

one per cluster

vBu

cket

sta

te a

nd

rep

licat

ion

man

ager

httpR

EST

man

age

me

nt

AP

I/W

eb

UI

HTTP

8091Erlang port mapper

4369Distributed Erlang

21100 - 21199

Erlang/OTP

storage interface

Couchbase EP Engine

11210Memcapable 2.0

Moxi

11211Memcapable 1.0

Memcached

New Persistence Layer

8092Query API

Qu

ery

En

gin

e

16

Indexing and Querying

APP SERVER 1

COUCHBASE CLIENT LIBRARY 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

CLUSTER MAP

Doc 4

Doc 2

Doc 5

SERVER 1

Doc 6

Doc 4

SERVER 2

Doc 7

Doc 1

SERVER 3

Doc 3

APP SERVER 2

COUCHBASE CLIENT LIBRARY

CLUSTER MAP

Doc 9

Doc 7

Doc 8 Doc 6

Doc 3

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

DOC

Doc 9

Doc 5

DOC

DOC

DOC

Doc 1

Doc 8 Doc 2

Replica Docs Replica Docs Replica Docs

Active Docs Active Docs Active Docs

COUCHBASE CLIENT LIBRARY COUCHBASE CLIENT LIBRARY

CLUSTER MAP CLUSTER MAP

APP SERVER 1 APP SERVER 2

QueryResponse

17

NEXT DEMO: A SOCIAL GAME

18

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

Player Document

{

"_id": "Keith4540",

"jsonType": "player",

"uuid": "35767d02-a958-4b83-8179-616816692de1",

"name": "Keith4540",

"hitpoints": 75,

"experience": 663,

"level": 4,

"loggedIn": false

}

20

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

Monster Document

{

"_id": "Bauchan9932”,

"jsonType": "monster",

"name": "Bauchan9932",

"uuid": "d10dfc1b-0412-4140-b4ec-affdbf2aa5ec",

"hitpoints": 370,

"experienceWhenKilled": 52,

"itemProbability": 0.5050581341872865

}

22

GAME ON!

23

Cross Data Center 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)

US DATA CENTER

EUROPE DATA CENTER

ASIA DATA CENTERReplication Replication

Replication

24

DEMO TIME

25

QUESTIONS?

26

THANK YOU!

Get Couchbase Server 2.0 at http://www.couchbase.com/downloads

Give us feedback at:

http://www.couchbase.com/forums


Recommended