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

Post on 20-Aug-2015

375 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Planet Scale with Couchbase Server 3.0

Cihan BiyikogluProduct Management

Couchbase Inc.

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

Part I - Overview

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

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

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

Part II - Couchbase Server Scalability

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

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

• 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

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.

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

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

Mission Critical Scale with v3.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

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

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

'ns_1@10.0.0.6' in 10 seconds.Bucket "value_eviction_30" loaded on node 'ns_1@10.0.0.7' in 85 seconds

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…

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)

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

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

Recap

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

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

Feedback and Q&A

Cihan BiyikogluProduct Management

Twitter: @cihangirb Email: cihan@couchbase.com

top related