Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement...

86
Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com

Transcript of Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement...

Page 1: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Couchbase - The Engagement DatabaseAbbas Ahmed - Principal Database Engineer @ Rentalcars.com

Page 2: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Today’s Agenda

• Introduction • What is an engagement database? • Couchbase Architecture Overview & essential theory

• Couchbase Lab setup • Lab Exercises

2

Page 3: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Who am I

3

Page 4: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Who am I• One of six DB Engineers @ Rentalcars.com

3

Page 5: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Who am I• One of six DB Engineers @ Rentalcars.com• Have been a MySQL user/admin since 1999 (version 3.1)

3

Page 6: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Who am I• One of six DB Engineers @ Rentalcars.com• Have been a MySQL user/admin since 1999 (version 3.1)• Have worked with Oracle, SQL Server & Foxpro :)

3

Page 7: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Who am I• One of six DB Engineers @ Rentalcars.com• Have been a MySQL user/admin since 1999 (version 3.1)• Have worked with Oracle, SQL Server & Foxpro :)• Like doing solution designs

3

Page 8: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Who am I• One of six DB Engineers @ Rentalcars.com• Have been a MySQL user/admin since 1999 (version 3.1)• Have worked with Oracle, SQL Server & Foxpro :)• Like doing solution designs• Started using Couchbase in 2013

3

Page 9: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Who am I• One of six DB Engineers @ Rentalcars.com• Have been a MySQL user/admin since 1999 (version 3.1)• Have worked with Oracle, SQL Server & Foxpro :)• Like doing solution designs• Started using Couchbase in 2013• Was honoured as a Couchbase Champion in early 2017

3

Page 10: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

More Introductions

4

Page 11: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

More Introductions• Let’s introduce ourselves one at a time.

4

Page 12: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

More Introductions• Let’s introduce ourselves one at a time.• Please highlight your experience with NoSQL or SQL

4

Page 13: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

A Useful Quote

5

• “Different databases are designed to solve different problems. Using a single database engine for all of the requirements usually leads to non- performant solutions; storing transactional data, caching session information, traversing graph of customers and the products their friends bought are essentially different problems.”

― Pramod J. Sadalage

― Pramod J. Sadalage

Page 14: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

To which general NoSQL category does Couchbase belong?

6

Page 15: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

To which general NoSQL category does Couchbase belong?

6

• Key Value Store (Binary Values)

Page 16: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

To which general NoSQL category does Couchbase belong?

6

• Key Value Store (Binary Values)• Yes

Page 17: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

To which general NoSQL category does Couchbase belong?

6

• Key Value Store (Binary Values)• Yes

• Document Store (JSON Values)

Page 18: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

To which general NoSQL category does Couchbase belong?

6

• Key Value Store (Binary Values)• Yes

• Document Store (JSON Values)• Yes

Page 19: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

To which general NoSQL category does Couchbase belong?

6

• Key Value Store (Binary Values)• Yes

• Document Store (JSON Values)• Yes

• Column Family

Page 20: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

To which general NoSQL category does Couchbase belong?

6

• Key Value Store (Binary Values)• Yes

• Document Store (JSON Values)• Yes

• Column Family• No

Page 21: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

To which general NoSQL category does Couchbase belong?

6

• Key Value Store (Binary Values)• Yes

• Document Store (JSON Values)• Yes

• Column Family• No

• Graph

Page 22: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

To which general NoSQL category does Couchbase belong?

6

• Key Value Store (Binary Values)• Yes

• Document Store (JSON Values)• Yes

• Column Family• No

• Graph• No

Page 23: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Core Couchbase PrinciplesThe core database engine provides the fundamental capabilities for document management and indexing. Based on a memory-first, async everywhere architecture, this includes core capabilities of the database engine, like caching, data persistence, and inter-node replication.

7

Page 24: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Where did Couchbase come from?

8

Page 25: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Where did Couchbase come from?

8

• Memcached -> Membase -> Couchbase

Page 26: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Where did Couchbase come from?

8

• Memcached -> Membase -> Couchbase• Storage Engine written in C++

Page 27: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Where did Couchbase come from?

8

• Memcached -> Membase -> Couchbase• Storage Engine written in C++

• ForestDB, Plasma

Page 28: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Where did Couchbase come from?

8

• Memcached -> Membase -> Couchbase• Storage Engine written in C++

• ForestDB, Plasma• Cluster Manager & XDCR Originally written in

Erlang

Page 29: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Where did Couchbase come from?

8

• Memcached -> Membase -> Couchbase• Storage Engine written in C++

• ForestDB, Plasma• Cluster Manager & XDCR Originally written in

Erlang• Being ported to Go lang

Page 30: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Where did Couchbase come from?

8

• Memcached -> Membase -> Couchbase• Storage Engine written in C++

• ForestDB, Plasma• Cluster Manager & XDCR Originally written in

Erlang• Being ported to Go lang

• Lots of performance and reliability improvements seen

Page 31: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Where did Couchbase come from?

8

• Memcached -> Membase -> Couchbase• Storage Engine written in C++

• ForestDB, Plasma• Cluster Manager & XDCR Originally written in

Erlang• Being ported to Go lang

• Lots of performance and reliability improvements seen

••

Page 32: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

The Couchbase Data Platform

9

• An end to end data management & delivery system • Supports the emerging “Engagement” use cases very well • What is Engagement?

Page 33: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Couchbase Server architecture

Mobile & IoT Analytics

Preview

KV Query Search

Elastic Scale Architecture Memory-first Architecture

Unified Programming Interface

Core Database Engine

Any hardware | Any Cloud | Any Container

Cro

ss S

tack

Sec

urity

SQL & Big D

ata Integrations

Page 34: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

How does the CAP theorem see it?

11

Page 35: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

How does the CAP theorem see it?• A single Couchbase cluster is a ‘CP’ system

11

Page 36: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

How does the CAP theorem see it?• A single Couchbase cluster is a ‘CP’ system

• All changes to any documents are immediately visible to other nodes in the same cluster, hence providing a consistent view.

11

Page 37: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

How does the CAP theorem see it?• A single Couchbase cluster is a ‘CP’ system

• All changes to any documents are immediately visible to other nodes in the same cluster, hence providing a consistent view.

• It tolerates network partitions, but never at the cost of consistency

11

Page 38: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

How does the CAP theorem see it?• A single Couchbase cluster is a ‘CP’ system

• All changes to any documents are immediately visible to other nodes in the same cluster, hence providing a consistent view.

• It tolerates network partitions, but never at the cost of consistency• Intra-cluster replication is from Memory to Memory using DCP protocol.

11

Page 39: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

How does the CAP theorem see it?• A single Couchbase cluster is a ‘CP’ system

• All changes to any documents are immediately visible to other nodes in the same cluster, hence providing a consistent view.

• It tolerates network partitions, but never at the cost of consistency• Intra-cluster replication is from Memory to Memory using DCP protocol.

• When you think in terms of XDCR replicated clusters, however it is an AP system across clusters.

11

Page 40: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

How does the CAP theorem see it?• A single Couchbase cluster is a ‘CP’ system

• All changes to any documents are immediately visible to other nodes in the same cluster, hence providing a consistent view.

• It tolerates network partitions, but never at the cost of consistency• Intra-cluster replication is from Memory to Memory using DCP protocol.

• When you think in terms of XDCR replicated clusters, however it is an AP system across clusters.• Because XDCR is eventually consistent

11

Page 41: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

How does the CAP theorem see it?• A single Couchbase cluster is a ‘CP’ system

• All changes to any documents are immediately visible to other nodes in the same cluster, hence providing a consistent view.

• It tolerates network partitions, but never at the cost of consistency• Intra-cluster replication is from Memory to Memory using DCP protocol.

• When you think in terms of XDCR replicated clusters, however it is an AP system across clusters.• Because XDCR is eventually consistent• XDCR has to hit the disk before before data is pushed to remote. (Not

true for upcoming Ephemeral Buckets)

11

Page 42: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

What services does a node run?

12

Page 43: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

What services does a node run?

12

• memcached (The main storage)

Page 44: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

What services does a node run?

12

• memcached (The main storage)• goxdcr (XDCR process)

Page 45: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

What services does a node run?

12

• memcached (The main storage)• goxdcr (XDCR process)• indexer (The Indexer)

Page 46: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

What services does a node run?

12

• memcached (The main storage)• goxdcr (XDCR process)• indexer (The Indexer)• cbq-engine (N1QL Query Engine)

Page 47: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

What services does a node run?

12

• memcached (The main storage)• goxdcr (XDCR process)• indexer (The Indexer)• cbq-engine (N1QL Query Engine)• And other auxiliary ones

Page 48: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Scaling Choices for Couchbase

13

Page 49: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Multi-dimensional Scaling (MDS)

14

Page 50: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Data Organization in Couchbase

15

Page 51: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Data Organization in Couchbase

• What do you call a database or schema?

15

Page 52: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Data Organization in Couchbase

• What do you call a database or schema?• Bucket

15

Page 53: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Data Organization in Couchbase

• What do you call a database or schema?• Bucket

• How does a Bucket get distributed over multiple nodes?

15

Page 54: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Data Organization in Couchbase

• What do you call a database or schema?• Bucket

• How does a Bucket get distributed over multiple nodes?• Automatic Shards called vBuckets (1-1024)

15

Page 55: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Data Organization in Couchbase

• What do you call a database or schema?• Bucket

• How does a Bucket get distributed over multiple nodes?• Automatic Shards called vBuckets (1-1024)

• Clients maintain two connections to the cluster

15

Page 56: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Data Organization in Couchbase

• What do you call a database or schema?• Bucket

• How does a Bucket get distributed over multiple nodes?• Automatic Shards called vBuckets (1-1024)

• Clients maintain two connections to the cluster• One for Data

15

Page 57: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Data Organization in Couchbase

• What do you call a database or schema?• Bucket

• How does a Bucket get distributed over multiple nodes?• Automatic Shards called vBuckets (1-1024)

• Clients maintain two connections to the cluster• One for Data• One for Management (Cluster Map Updates, Topology

change updates)15

Page 58: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

The Couchbase cluster map

16

Page 59: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Inter-node replication

17

Page 60: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Tunable Durability for Clients

18

Page 61: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Sizing a Couchbase cluster

19

Page 62: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Sizing a Couchbase cluster

19

• Outcomes: Number and Size of nodes (RAM, CPU & Disk Space)

Page 63: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Sizing a Couchbase cluster

19

• Outcomes: Number and Size of nodes (RAM, CPU & Disk Space)

• Inputs: Number of items, average size of items and number of replicas required.

Page 64: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Sizing a Couchbase cluster

19

• Outcomes: Number and Size of nodes (RAM, CPU & Disk Space)

• Inputs: Number of items, average size of items and number of replicas required.

• Max document size = 20MBytes

Page 65: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Time for Lab Exercises

20

Page 66: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Time for Lab Exercises

20

• How to plan a cluster

Page 67: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Time for Lab Exercises

20

• How to plan a cluster• How to start a new cluster

Page 68: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Time for Lab Exercises

20

• How to plan a cluster• How to start a new cluster• How to expand an existing cluster

Page 69: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Time for Lab Exercises

20

• How to plan a cluster• How to start a new cluster• How to expand an existing cluster• How to perform node failover

Page 70: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Time for Lab Exercises

20

• How to plan a cluster• How to start a new cluster• How to expand an existing cluster• How to perform node failover• Learn how to monitor a Couchbase cluster

Page 71: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Time for Lab Exercises

20

• How to plan a cluster• How to start a new cluster• How to expand an existing cluster• How to perform node failover• Learn how to monitor a Couchbase cluster

Page 72: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Time for Lab Exercises

20

• How to plan a cluster• How to start a new cluster• How to expand an existing cluster• How to perform node failover• Learn how to monitor a Couchbase cluster

• Come back before XDCR Lab

Page 73: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

XDCR in Couchbase

21

Page 74: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

XDCR in Couchbase

21

• Uses data Push instead of Pull (unlike MySQL)

Page 75: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

XDCR in Couchbase

21

• Uses data Push instead of Pull (unlike MySQL)• Supports many topologies, linear, star or mesh, even you

can replicate to the same cluster in a different bucket

Page 76: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

XDCR in Couchbase

21

• Uses data Push instead of Pull (unlike MySQL)• Supports many topologies, linear, star or mesh, even you

can replicate to the same cluster in a different bucket• Sends data over an encrypted channel, keys created

when you setup XDCR

Page 77: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

XDCR in Couchbase

21

• Uses data Push instead of Pull (unlike MySQL)• Supports many topologies, linear, star or mesh, even you

can replicate to the same cluster in a different bucket• Sends data over an encrypted channel, keys created

when you setup XDCR• Big Data & Elasticsearch connectivity uses XDCR as well.

Page 78: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

XDCR in Couchbase

21

• Uses data Push instead of Pull (unlike MySQL)• Supports many topologies, linear, star or mesh, even you

can replicate to the same cluster in a different bucket• Sends data over an encrypted channel, keys created

when you setup XDCR• Big Data & Elasticsearch connectivity uses XDCR as well.

Page 79: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

XDCR in Couchbase

22

Page 80: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Backup & Recovery

23

Page 81: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Backup & Recovery

23

• Two methods available.

Page 82: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Backup & Recovery

23

• Two methods available.• cbbackup with/without cbbackupwrapper

Page 83: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Backup & Recovery

23

• Two methods available.• cbbackup with/without cbbackupwrapper• cbbackupmgr (recommended)

Page 84: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Backup & Recovery

23

• Two methods available.• cbbackup with/without cbbackupwrapper• cbbackupmgr (recommended)

• Both full and Incremental backups available.

Page 85: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Backup & Recovery

23

• Two methods available.• cbbackup with/without cbbackupwrapper• cbbackupmgr (recommended)

• Both full and Incremental backups available.• cbbackupmgr offers an enterprise grade solution.

Page 86: Percona Live Dublin 2017 - Couchbase - The Engagement Database · Couchbase - The Engagement Database Abbas Ahmed - Principal Database Engineer @ Rentalcars.com. Today’s Agenda

Backup & Recovery

23

• Two methods available.• cbbackup with/without cbbackupwrapper• cbbackupmgr (recommended)

• Both full and Incremental backups available.• cbbackupmgr offers an enterprise grade solution.