matt ingenthron couchbase, inc

26
Matt Ingenthron Couchbase, Inc.

Upload: others

Post on 08-May-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Matt Ingenthron Couchbase, Inc

Matt Ingenthron

Couchbase, Inc.

Page 2: Matt Ingenthron Couchbase, Inc

2

Page 3: Matt Ingenthron Couchbase, Inc

What is Membase?

Page 4: Matt Ingenthron Couchbase, Inc

Before: Application scales linearly, data hits wall

Application Scales OutJust add more commodity web servers

Database Scales UpGet a bigger, more complex server

4

Page 5: Matt Ingenthron Couchbase, Inc

Membase is a distributed database

5

Membase Servers

In the data center

Web application server

Application user

On the administrator console

Web application serverWeb application server

Page 6: Matt Ingenthron Couchbase, Inc

Five minutes or less to a working cluster• Downloads for Linux and Windows• Start with a single node• One button press joins nodes to a clusterEasy to develop against• Just SET and GET – no schema required• Drop it in. 10,000+ existing applications

already “speak membase” (via memcached)• Practically every language and application

framework is supported, out of the boxEasy to manage• One-click failover and cluster rebalancing• Graphical and programmatic interfaces• Configurable alerting

Membase is Simple, Fast, Elastic

6

Page 7: Matt Ingenthron Couchbase, Inc

Membase is Simple, Fast, Elastic

7

Predictable• “Never keep an application waiting”• Quasi-deterministic latency and throughputLow latency• Built-in Memcached technology

High throughput• Multi-threaded• Low lock contention• Asynchronous wherever possible• Automatic write de-duplication

Page 8: Matt Ingenthron Couchbase, Inc

Membase is Simple, Fast, Elastic

8

Zero-downtime elasticity• Spread I/O and data across commodity

servers (or VMs) • Consistent performance with linear cost• Dynamic rebalancing of a live clusterAll nodes are created equal• No special case nodes• Any node can replace any other node, online• Clone to growExtensible• Filtered TAP interface provides hook points

for external systems (e.g. full-text search, backup, warehouse)

• Data bucket – engine API for specialized container types

Page 9: Matt Ingenthron Couchbase, Inc

Built-in Memcached Caching Layer

9

Memcached

Membase Database

Membase Cache

Membase Database

Memcached Mode Membase Mode

Fact: Membase development team has also contributed over half of the code to the Memcached project.

Page 10: Matt Ingenthron Couchbase, Inc

Use Cases

Page 11: Matt Ingenthron Couchbase, Inc

Ad targeting

11

eventsprofiles, campaigns

profiles, real time campaign statistics

40 milliseconds to come up with an answer.

2

3

1

Page 12: Matt Ingenthron Couchbase, Inc

Search and Gaming Portal

12

Database

Page 13: Matt Ingenthron Couchbase, Inc

Membase Architecture

Page 14: Matt Ingenthron Couchbase, Inc

Clustering

• Underlying cluster functionality based on erlang OTP

• Have a custom, vector clock based way of storing and propagating...– Cluster topology– vBucket mapping

• Collect statistics from many nodes of the cluster– Identify hot keys, resource

utilization

14

Page 15: Matt Ingenthron Couchbase, Inc

A Membase Node

15

Membase Node

REST Interfacememcached operations(any client)

memcached smart client operations

Page 16: Matt Ingenthron Couchbase, Inc

16

ns_servermembase(memcached + membase engine)

moxi ns_server

vbucketmigrator

TAP

A Membase Node: Component View

Page 17: Matt Ingenthron Couchbase, Inc

ns_servermembase(memcached + membase engine)

moxi ns_server

vbucketmigratorTAP

memcached operationswith tap commands

memcached operations

Client

port 11211 memcached operations

moxi + Client

port 11210 memcached operations REST/comet

cluster topology and vbucket map

Clients, nodes and other nodes

17

Page 18: Matt Ingenthron Couchbase, Inc

Data buckets are secure Membase “slices”

18

Membase data servers

In the data center

Web application server

Application user

On the administrator console

Bucket 1Bucket 2

Aggregate Cluster Memory and Disk Capacity

Page 19: Matt Ingenthron Couchbase, Inc

Disk > Memory

Buc

ket C

onfig

urat

ion

mem_high_wat

mem_low_wat

memory quota

19

Dataset may have many items infrequently accessed. However, memcached has different behavior (LRU) than wanted with membase.

Still, traditional (most) RDBMS implementations are not 100% correct for us either. The speed of a miss is very, very important.

Page 20: Matt Ingenthron Couchbase, Inc

Membase Demo

Page 21: Matt Ingenthron Couchbase, Inc

The Future

Page 22: Matt Ingenthron Couchbase, Inc

But first, an intro...

22

Page 23: Matt Ingenthron Couchbase, Inc

What is Couchbase?

23

1+1 really does equal 3

Page 24: Matt Ingenthron Couchbase, Inc

Where will the merger take us

24

mobile elastic

• Sub-document manipulation• New approaches to indexing• Simplified development

Page 26: Matt Ingenthron Couchbase, Inc

26