webinar 3.0 beta series - meeting the planet scale challenge with couchbase server 3.0

26
Planet Scale with Couchbase Server 3.0 Cihan Biyikoglu Product Management Couchbase Inc.

Upload: couchbase

Post on 20-Aug-2015

375 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Planet Scale with Couchbase Server 3.0

Cihan BiyikogluProduct Management

Couchbase Inc.

Page 2: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Agenda

• Part I – Couchbase Overview­ Journey so far…­ Couchbase Product Overview

• Part II – Couchbase Server Scalability­ Architecture Overview and Basic Operation­ Core Architectural Tenets for Scalability

• Part III – Planet Scale with Couchbase Server 3.0­ Deep Dive : Look at the new capabilities lighting up in 3.0

• Q&A

Page 3: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Part I - Overview

Page 4: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Journey so far…

Couchbase Server v1.8High Scale Key/Value Database

Couchbase Server v2.0Cross Data Center Replication

Map/Reduce Indexing and Flex Data

Couchbase Server v2.1 Improved XDCR and Storage Layer

Couchbase Server v2.2Improved Security & HA/DR

Couchbase Server v2.5Rack/Zone Awareness and Connection Management

Couchbase Mobile 1.0Offline Data Availability & Auto Synchronization

Couchbase Server v3.0Mission Critical Scale & Perf

Simplified AdministrationImproved HA/DR & Security

N1QL Dev PreviewSQL-like Queries

N1QL BetaSQL=like Queries

2010

Couchbase Server v.NextWith N1QLSQL=like Queries

Future

Page 5: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Easy Scalabili

ty

Consistent High

Performance

Always On

24x365

Grow cluster without application changes, without downtime with a single click

Consistent sub-millisecond read and write response times

with consistent high throughput

No downtime for software upgrades, hardware maintenance, etc.

JSONJSONJSON

JSONJSON

PERFORMANCE

Flexible Data Model

JSON document model with no fixed schema.

Couchbase Server – Key Tenets

Page 6: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Couchbase Mobile Overview

Couchbase LiteOn-device, lightweight, native

embedded JSON database

Sync GatewaySynchronize on-device

Couchbase Lite with Couchbase Server in the cloud

Couchbase ServerHigh performance, scalable, always-on JSON database in

the cloud

Page 7: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Part II - Couchbase Server Scalability

Page 8: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

COUCHBASE SERVER CLUSTER

Couchbase Server ScalabilityCluster-wide Basic Operation

• Docs distributed evenly across servers

• Each server stores both active and replica docsOnly one server active at a time

• Client library provides app with simple interface to database

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

• App reads, writes, updates docs

• Multiple app servers can access same document at same time

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 9: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Couchbase Server ScalabilityAdd Nodes to Cluster

• Two servers addedOne-click operation

• Docs automatically rebalanced across clusterEven distribution of docsMinimum 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 10: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

• Uniform Load Distribution with Auto-Sharding

• High Throughput with Efficient Connection Management and Fine Grained Locking

• Sub-millisecond response times with Built-in Cache powered by Memcached

• Easy Scalability & Capacity Management with Online Elasticity and Single Node Type

• Flexible Global Deployments with XDCR

Couchbase Server ScalabilityCore Architecture Tenets

Page 11: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Part III - Planet Scale withCouchbase Server v3.0

Disclaimer: Couchbase Server v3.0 is still in development. The generally available version of Couchbase Server at release of v3.0 may have differences with what’s presented here.

Page 12: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

12

DEVELOPER­EMPOWERMEN

T

MISSION­CRITICAL­SCALE

ULTRA­HIGH­AVAILABILITY

SECURE­COMMUNICATI

ON

SIMPLIFIED­ADMINISTRATI

ON

• Fully­Integrated­JSON­Programmability

• Native­Async­and­Reactive­Programmability

• New­Integration­with­Popular­Frameworks

• N1QL­Preview­Support­in­SDKs

• Optimized­Massive­Databases­with­Tunable­Memory

• Auto-Tuning­Thread­Pool­for­Extreme­IO­Throughput

• Faster­View­Consistency

• Low­Latency,­In-Memory­XDCR

• New­Incremental­Backup­option

• Optimized­Disaster­Recovery­with­Restore­options

• Encryption­for­Data­Access

• Encryption­for­Administrative­Access

• XDCR­Pause­and­Resume

• Faster,­Resilient­Rebalance

• Delta­Node­Recovery

• Improved­Resource­Governance­

• Graceful­Failover

What’s new in Couchbase Server v3.0

Page 13: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

13

DEVELOPER­EMPOWERMEN

T

MISSION­CRITICAL­SCALE

ULTRA­HIGH­AVAILABILITY

SECURE­COMMUNICATI

ON

SIMPLIFIED­ADMINISTRATI

ON

• Fully­Integrated­JSON­Programmability

• Native­Async­and­Reactive­Programmability

• New­Integration­with­Popular­Frameworks

• N1QL­Preview­Support­in­SDKs

• Optimized­Massive­Databases­with­Tunable­Memory

• Auto-Tuning­Thread­Pool­for­Extreme­IO­Throughput

• Faster­View­Consistency

• Low­Latency,­In-Memory­XDCR

• New­Incremental­Backup­option

• Optimized­Disaster­Recovery­with­Restore­options

• Encryption­for­Data­Access

• Encryption­for­Administrative­Access

• XDCR­Pause­and­Resume

• Faster,­Resilient­Rebalance

• Delta­Node­Recovery

• Improved­Resource­Governance­

• Graceful­Failover

What’s new in Couchbase Server v3.0

Page 14: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Mission Critical Scale with v3.0

Page 15: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Tunable Memory Optimization for Large Data Size

• Optimized Memory Usage with Metadata Ejection Policy­ Reduce memory required for Massive Data Footprints­ Enable efficient management of rarely accessed data set

• Cache only keys and data for the hot working set

• Eject all other keys and values out of memory

Page 16: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Tunable MemoryMetadata In RAM

Note: 50M docs with value size ~0.5KB

3GB0.08GB

3.0 with Metadata Ejection 2.5 with NO Metadata Ejection

Page 17: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Parallel Warm-up Warm-up Times

• More efficient warm-up with better parallelization on cache warm-up phase­ Improved warm-up time ~30% over version 2.5

*beta numbers – results with the final product may have different characteristics

­ Further warm-up time improvements with Tunable memory settings (metadata ejections)

3.0 with Metadata Ejection 3.0 with Value Ejection

Note: 50M docs with value size ~0.5KB

Bucket "full_eviction_30" loaded on node

'[email protected]' in 10 seconds.Bucket "value_eviction_30" loaded on node '[email protected]' in 85 seconds

Page 18: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Auto-Tuning Shared Thread Pool

• Shared Thread Pool­ Shared thread pool across buckets for request processing and IO

operations

• Auto-tuning thread count based on system resources…

• Improved latency across the board: read/write operations, rebalance, node restart with warm-up and more…

Page 19: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Optimized Streaming Replication ProtocolDatabase Change Protocol (DCP)

• DCP ­ High-Performance, Stream-based ­ Streams changes across nodes­ Serialized based on Sequence Numbers­ Snapshot-able­ Restart-able­ In-memory (for clients that can keep up)

Page 20: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Lower Latency with View Consistency

• More up-to-date views­ Mutation show up at the indexes

faster

• Change detection based on the new DCP (database change protocol) protocol. No longer require persisting to disk for change detection

­ Improved stale=false behavior­ Parts of the View engine is re-written

in C

Page 21: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Hundreds of other improvements…

Cluster-wide Diagnostics Tool

Improved Crash Reporting

Better Serviceability

Improved Monitoring for Warmup

Stats Enhancements

Improved Checkpointing with XDCR

Expended Options with Couchbase-cli Parallelized Warm-up

Database Change Protocol (DCP)

Increased-Connection-LimitsExtended-Documentation

Enhanced Event Logging

Extended XDCR Resiliency

Better failover resiliency with DCP

Enhanced SSD Performance

Streamlined Build

Side by side support for DCP and TAP

Improved Error Reporting for Apps

Built-in OS Tuning for Linux Flavors

… and More

Improved Resume-ability with Intra Cluster Replication

View Performance Improvements

Web.Config & App.Config support with .NET

Unified New App Model with 2.0 SDK

Java SDK 2.0 built on top of RxJava

N1QL Beta Support in the 2.0 SDKs

Faster Warmup time under Metadata Ejection

Access log for monitoring port 8091

CRAM & MD5 Support in .Net SDK

Client Side Log4Net Integration in .Net SDK

New Cluster object for Cluster Operations in SDK 2.0

Replica Read in SDK 2.0 with .Net and PHP

Page 22: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Recap

Page 23: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

23

DEVELOPER­EMPOWERMEN

T

MISSION­CRITICAL­SCALE

ULTRA­HIGH­AVAILABILITY

SECURE­COMMUNICATI

ON

SIMPLIFIED­ADMINISTRATI

ON

• Fully­Integrated­JSON­Programmability

• Native­Async­and­Reactive­Programmability

• New­Integration­with­Popular­Frameworks

• N1QL­Preview­Support­in­SDKs

• Optimized­Massive­Databases­with­Tunable­Memory

• Auto-Tuning­Thread­Pool­for­Extreme­IO­Throughput

• Faster­View­Consistency

• Low­Latency,­In-Memory­XDCR

• New­Incremental­Backup­option

• Optimized­Disaster­Recovery­with­Restore­options

• Encryption­for­Data­Access

• Encryption­for­Administrative­Access

• XDCR­Pause­and­Resume

• Faster,­Resilient­Rebalance

• Delta­Node­Recovery

• Improved­Resource­Governance­

• Graceful­Failover

Focus on Scalability and What’s new in Couchbase Server 3.0 for Large Scale Apps

Page 24: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Mission Critical ScaleCouchbase Server

• Couchbase Server provides the best of breed scalability facilities for high throughput and low latency applications

­ Uniform Load Distribution with Auto-Sharding­ High Throughput with Efficient Connection Management and Fine

Grained Locking­ Sub-millisecond response times with Built-in Cache powered by

Memcached­ Best of breed Tunable Caching for

• Lowest latency access to all data with aggressive caching of all keys OR

• Efficient caching of hot working set with massive dataset­ Easy Scalability & Capacity Management with Online Elasticity and Single

Node Type­ Flexible Global Deployments with XDCR

Page 25: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0
Page 26: Webinar 3.0 Beta Series - Meeting the Planet Scale Challenge with Couchbase Server 3.0

Feedback and Q&A

Cihan BiyikogluProduct Management

Twitter: @cihangirb Email: [email protected]