SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Introduction to
Couchbase Server
Dipti Borkar
Director, Product Management
Anil Kumar
Product Management
Couchbase Server
NoSQL Document Database
Couchbase Open Source Project
• Leading NoSQL database project
focused on distributed database
technology and surrounding
ecosystem
• Supports both key-value and
document-oriented use cases
• All components are available
under the Apache 2.0 Public
License

• Obtained as packaged software in
both enterprise and community
editions.

Couchbase
Open Source Project
Couchbase Server
Easy
Scalability
Grow cluster without
application changes, without
downtime with a single click

Always On
24x365
No downtime for software
upgrades, hardware
maintenance, etc.

PE
RFORM ANCE

Consistent High
Performance

Consistent sub-millisecond
read and write response times
with consistent high throughput

JSON
JSON JSO

JSON
JSON

N

Flexible Data
Model

JSON document model with
no fixed schema.
Core Couchbase Server Features

Built-in clustering – All nodes equal

Append-only storage layer

Data replication with auto-failover

Online compaction

Zero-downtime maintenance

Monitoring and admin API & UI

Built-in managed cached

SDK for a variety of languages
2.0 introduced
JSON support

Indexing and Querying

JSON
JSON JSO

JSON N
JSON

Incremental Map Reduce

Cross data center replication
2.1 introduced

New in 2.2

 Multi-threaded persistence
engine

 New XDCR protocol based
on memcached

 Optimistic XDCR

 Read-only admin user

 CBHealthcheck – Cluster
health check tool

 Automated and optimized
purge management

 Hostname management

 CBRecovery Data recovery
tool from remote clusters

 Rebalance progress
indicators

 Non-root, non-sudo install
Couchbase Server Architecture
11211

11210

Query API

Memcapable 1.0

Memcapable 2.0

New Persistence Layer

vBucket state and replication manager

Node health monitor

Rebalance orchestrator

storage interface

Global singleton supervisor

Data Manager

Configuration manager

Couchbase EP Engine

Process monitor

Memcached

Heartbeat

Moxi
REST management API/Web UI

Query Engine

8092

Cluster Manager

http

on each node

one per cluster

Erlang/OTP

HTTP

Erlang port mapper

Distributed Erlang

8091

4369

21100 - 21199
Couchbase Server Architecture

Query Engine

Query API

11210 / 11211

8091
Admin Console

Data access ports

http

Object-managed
Cache

Erlang /OTP

8092

REST management
API/Web UI
Replication, Rebalance,
Shard State Manager

Multi-threaded
Persistence Engine

Data Manager

Cluster Manager
Couchbase Operations
Single node - Couchbase Write
Operation
Doc 1

App Server

Couchbase Server Node
3
2
Managed Cache
Replication
Queue

Disk

Doc 1

Disk Queue

To other node

3
Single node - Couchbase Update
Operation
Doc 1’

App Server

Couchbase Server Node
3
2
Managed Cache
Replication
Queue

Doc 1
Doc 1’

Disk Queue

To other node

3

Disk
Doc 1
GET
Doc 1

Single node - Couchbase Read
Operation
App Server

Couchbase Server Node
3
2
Managed Cache
Replication
Queue

Doc 1

Disk Queue

To other node

3

Disk
Doc 1
Single node – Couchbase Cache Miss
GET
Doc 1

2
App Server

3
2
Managed Cache
Replication
Queue

Doc 5 4 4
Doc
Doc

Doc 1

Doc
Doc 3 2

Disk Queue

To other node

Disk
Doc 1

Doc 6

Doc 5

Doc 4

Doc 3

3

Doc 2

Couchbase Server Node
Basic Operation
APP SERVER 1

APP SERVER 2

COUCHBASE Client Library

COUCHBASE Client Library

CLUSTER MAP

CLUSTER MAP

READ/WRITE/UPDATE
SERVER 1

SERVER 2

SERVER 3

ACTIVE

ACTIVE

ACTIVE

Doc 5

Doc

Doc 4

Doc

Doc 1

Doc

Doc 2

Doc

Doc 7

Doc

Doc 2

Doc

Doc 9

Doc

Doc 8

Doc

Doc 6

Doc

REPLICA

REPLICA

REPLICA

• Docs distributed evenly across
servers
• Each server stores both active and
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

Doc 4

Doc

Doc 6

Doc

Doc 7

Doc

Doc 1

Doc

Doc 3

Doc

Doc 9

Doc

• App reads, writes, updates docs

Doc 8

Doc

Doc 2

Doc

Doc 5

Doc

• Multiple app servers can access same
document at same time

COUCHBASE SERVER CLUSTER

User Configured Replica Count = 1

App never needs to know
Add Nodes to Cluster
APP SERVER 1

APP SERVER 2

COUCHBASE Client Library

COUCHBASE Client Library

CLUSTER MAP

CLUSTER MAP

READ/WRITE/UPDATE

READ/WRITE/UPDATE

SERVER 1

SERVER 2

SERVER 3

SERVER 4

SERVER 5

ACTIVE

ACTIVE

ACTIVE

ACTIVE

ACTIVE

Doc 5

Doc

Doc 4

Doc

Doc 1

Doc

Doc 7

Doc

Doc 2

Doc

Doc 9

Doc

Doc 8

Doc

Doc 6

• Docs automatically
rebalanced across
cluster

Doc

Doc 2

• Two servers added
One-click operation

Doc

Even distribution of docs
Minimum doc movement

• Cluster map updated
REPLICA

REPLICA

REPLICA

Doc 4

Doc

Doc 6

Doc

Doc 7

Doc

Doc 1

Doc

Doc 3

Doc

Doc 9

Doc

Doc 8

Doc

Doc 2

Doc

Doc 5

Doc

COUCHBASE SERVER CLUSTER

User Configured Replica Count = 1

REPLICA

REPLICA

• App database
calls now distributed
over larger number of
servers
Fail Over Node
APP SERVER 1

APP SERVER 2

COUCHBASE Client Library

COUCHBASE Client Library

CLUSTER MAP

CLUSTER MAP

SERVER 1

SERVER 2

SERVER 3

SERVER 4

SERVER 5

ACTIVE

ACTIVE

ACTIVE

ACTIVE

ACTIVE

Doc 5

Doc

Doc 4

Doc

Doc 1

Doc

Doc 9

Doc

Doc 2

Doc

Doc 7

Doc

Doc 2

Doc

Doc 8

Doc

Doc 1

Doc 6

Doc
Doc

Doc 3

REPLICA

REPLICA

REPLICA

REPLICA

Doc 4

Doc

Doc 6

Doc

Doc 7

Doc

Doc 5

Doc 1

Doc

Doc 3

Doc

Doc 9

Doc

Doc 2

COUCHBASE SERVER CLUSTER

User Configured Replica Count = 1

Doc

REPLICA

Doc 8

Doc

Doc

• App servers accessing docs
• Requests to Server 3 fail

• Cluster detects server failed
Promotes replicas of docs to
active
Updates cluster map

• Requests for docs now go to
appropriate server
• Typically rebalance
would follow
Demo Time
Indexing and Querying – The basics
• Define materialized views on JSON documents and then
query across the data set
• Using views you can define
• Primary indexes

• Simple secondary indexes (most common use case)
• Complex secondary, tertiary and composite indexes
• Aggregations (reduction)

• Indexes are eventually indexed
• Queries are eventually consistent
• Built using Map/Reduce technology
• Map and Reduce functions are written in Javascript
Indexing and Querying
APP SERVER 1

APP SERVER 2

COUCHBASE Client Library

COUCHBASE Client Library

CLUSTER MAP

CLUSTER MAP

Query
SERVER 1

SERVER 2

ACTIVE

ACTIVE

SERVER 3
ACTIVE

• Indexing work is distributed
amongst nodes

Doc 5

Doc

Doc 5

Doc

Doc 5

Doc

• Large data set possible

Doc 2

Doc

Doc 2

Doc

Doc 2

Doc

• Parallelize the effort

Doc 9

Doc

Doc 9

Doc

Doc 9

Doc

REPLICA

REPLICA

REPLICA

Doc 4

Doc

Doc 4

Doc

Doc 4

Doc

Doc 1

Doc

Doc 1

Doc

Doc 1

Doc

Doc 8

Doc

Doc 8

Doc

Doc 8

Doc

COUCHBASE SERVER CLUSTER

User Configured Replica Count = 1

• Each node has index for data stored
on it
• Queries combine the results from
required nodes
Cross Data Center Replication – The basics
• Replicate your Couchbase data across clusters
• Clusters may be spread across geos

• Configured on a per-bucket (per-database) basis
• Supports unidirectional and bidirectional operation
• Application can read and write from both clusters
-

Active – Active replication

• Replication throughput scales out linearly
• Different from intra-cluster replication
Cross data center replication – Data flow
2
Doc 1

App Server

Couchbase Server Node

3
2
Managed Cache
Replication
Queue

Doc 1

Disk Queue

To other node

3

Disk
Doc 1

XDCR Engine
To other cluster
Cross Data Center Replication (XDCR)
Optimistic replication
Couchbase Server – San Francisco
SERVER 1

SERVER 2

SERVER 3

Per replication
Tunable Parameters

Couchbase Server – New York
SERVER 1

SERVER 2

Optimized protocol
based on memcached
Reliability and
performance at scale

SERVER 3
Demo Time
What’s else is New?
Couchbase Query Language

N1QL
Read “Nickel”

Our next generation query
language for JSON
In Dev Preview
Couchbase Server

www.couchbase.com/download
Thank you!
anil@couchbase.com
@anilkumar1129
Download Couchbase Server 2.2
http://www.couchbase.com/download
Introduction to couchbase

Weitere ähnliche Inhalte

Was ist angesagt?

The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022
Kai Wähner
 
Hadoop REST API Security with Apache Knox Gateway
Hadoop REST API Security with Apache Knox GatewayHadoop REST API Security with Apache Knox Gateway
Hadoop REST API Security with Apache Knox Gateway
DataWorks Summit
 
Efficient Data Storage for Analytics with Apache Parquet 2.0
Efficient Data Storage for Analytics with Apache Parquet 2.0Efficient Data Storage for Analytics with Apache Parquet 2.0
Efficient Data Storage for Analytics with Apache Parquet 2.0
Cloudera, Inc.
 

Was ist angesagt? (20)

Zookeeper Tutorial for beginners
Zookeeper Tutorial for beginnersZookeeper Tutorial for beginners
Zookeeper Tutorial for beginners
 
NoSQL databases - An introduction
NoSQL databases - An introductionNoSQL databases - An introduction
NoSQL databases - An introduction
 
The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022
 
From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.
 
Hadoop REST API Security with Apache Knox Gateway
Hadoop REST API Security with Apache Knox GatewayHadoop REST API Security with Apache Knox Gateway
Hadoop REST API Security with Apache Knox Gateway
 
Best practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at RenaultBest practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at Renault
 
ScyllaDB Virtual Workshop
ScyllaDB Virtual WorkshopScyllaDB Virtual Workshop
ScyllaDB Virtual Workshop
 
Netflix Global Cloud Architecture
Netflix Global Cloud ArchitectureNetflix Global Cloud Architecture
Netflix Global Cloud Architecture
 
ksqlDB: A Stream-Relational Database System
ksqlDB: A Stream-Relational Database SystemksqlDB: A Stream-Relational Database System
ksqlDB: A Stream-Relational Database System
 
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
 
Introduction to Cassandra
Introduction to CassandraIntroduction to Cassandra
Introduction to Cassandra
 
Data Lakehouse, Data Mesh, and Data Fabric (r2)
Data Lakehouse, Data Mesh, and Data Fabric (r2)Data Lakehouse, Data Mesh, and Data Fabric (r2)
Data Lakehouse, Data Mesh, and Data Fabric (r2)
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
 
Automated Deployments with Ansible
Automated Deployments with AnsibleAutomated Deployments with Ansible
Automated Deployments with Ansible
 
Introduction to Apache NiFi dws19 DWS - DC 2019
Introduction to Apache NiFi   dws19 DWS - DC 2019Introduction to Apache NiFi   dws19 DWS - DC 2019
Introduction to Apache NiFi dws19 DWS - DC 2019
 
Performance Tuning RocksDB for Kafka Streams' State Stores (Dhruba Borthakur,...
Performance Tuning RocksDB for Kafka Streams' State Stores (Dhruba Borthakur,...Performance Tuning RocksDB for Kafka Streams' State Stores (Dhruba Borthakur,...
Performance Tuning RocksDB for Kafka Streams' State Stores (Dhruba Borthakur,...
 
Efficient Data Storage for Analytics with Apache Parquet 2.0
Efficient Data Storage for Analytics with Apache Parquet 2.0Efficient Data Storage for Analytics with Apache Parquet 2.0
Efficient Data Storage for Analytics with Apache Parquet 2.0
 
Apache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals ExplainedApache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals Explained
 
Spark (Structured) Streaming vs. Kafka Streams
Spark (Structured) Streaming vs. Kafka StreamsSpark (Structured) Streaming vs. Kafka Streams
Spark (Structured) Streaming vs. Kafka Streams
 
Apache Spark Overview
Apache Spark OverviewApache Spark Overview
Apache Spark Overview
 

Andere mochten auch

공생공소 역사
공생공소 역사공생공소 역사
공생공소 역사
연근 배
 
먹을거리와 공동체운동(우양)요약
먹을거리와 공동체운동(우양)요약먹을거리와 공동체운동(우양)요약
먹을거리와 공동체운동(우양)요약
푸드스마일즈 우양
 

Andere mochten auch (16)

Cassandra Introduction & Features
Cassandra Introduction & FeaturesCassandra Introduction & Features
Cassandra Introduction & Features
 
Couchbase at the academic bisilim, Turkey
Couchbase at the academic bisilim, Turkey Couchbase at the academic bisilim, Turkey
Couchbase at the academic bisilim, Turkey
 
See Inside the Middleware Black Box
See Inside the Middleware Black Box See Inside the Middleware Black Box
See Inside the Middleware Black Box
 
Database story by DevOps
Database story by DevOpsDatabase story by DevOps
Database story by DevOps
 
Rolling With Riak
Rolling With RiakRolling With Riak
Rolling With Riak
 
공생공소 역사
공생공소 역사공생공소 역사
공생공소 역사
 
우양직원서로배움_인디음악세계
우양직원서로배움_인디음악세계우양직원서로배움_인디음악세계
우양직원서로배움_인디음악세계
 
먹을거리와 공동체운동(우양)요약
먹을거리와 공동체운동(우양)요약먹을거리와 공동체운동(우양)요약
먹을거리와 공동체운동(우양)요약
 
2015년 푸드스마일즈우양 연차보고서
2015년 푸드스마일즈우양 연차보고서2015년 푸드스마일즈우양 연차보고서
2015년 푸드스마일즈우양 연차보고서
 
2012 생각하는 청개구리 결과보고
2012 생각하는 청개구리 결과보고2012 생각하는 청개구리 결과보고
2012 생각하는 청개구리 결과보고
 
Onomi - MongoDB Introduction
Onomi - MongoDB IntroductionOnomi - MongoDB Introduction
Onomi - MongoDB Introduction
 
Big data
Big dataBig data
Big data
 
Riak: A friendly key/value store for the web.
Riak: A friendly key/value store for the web.Riak: A friendly key/value store for the web.
Riak: A friendly key/value store for the web.
 
Introduction to Couchbase: Onomi
Introduction to Couchbase: OnomiIntroduction to Couchbase: Onomi
Introduction to Couchbase: Onomi
 
Cassandra education material
Cassandra education materialCassandra education material
Cassandra education material
 
Schema Design
Schema DesignSchema Design
Schema Design
 

Ähnlich wie Introduction to couchbase

CouchbasetoHadoop_Matt_Michael_Justin v4
CouchbasetoHadoop_Matt_Michael_Justin v4CouchbasetoHadoop_Matt_Michael_Justin v4
CouchbasetoHadoop_Matt_Michael_Justin v4
Michael Kehoe
 

Ähnlich wie Introduction to couchbase (20)

How companies use NoSQL & Couchbase - NoSQL Now 2014
How companies use NoSQL & Couchbase - NoSQL Now 2014How companies use NoSQL & Couchbase - NoSQL Now 2014
How companies use NoSQL & Couchbase - NoSQL Now 2014
 
From 0 to syncing
From 0 to syncingFrom 0 to syncing
From 0 to syncing
 
Vijfhart thema-avond-oracle-12c-new-features
Vijfhart thema-avond-oracle-12c-new-featuresVijfhart thema-avond-oracle-12c-new-features
Vijfhart thema-avond-oracle-12c-new-features
 
NoSQL_Night
NoSQL_NightNoSQL_Night
NoSQL_Night
 
CBDW2014 - NoSQL Development With Couchbase and ColdFusion (CFML)
CBDW2014 - NoSQL Development With Couchbase and ColdFusion (CFML)CBDW2014 - NoSQL Development With Couchbase and ColdFusion (CFML)
CBDW2014 - NoSQL Development With Couchbase and ColdFusion (CFML)
 
Neo4j 3.2 Launch
Neo4j 3.2 LaunchNeo4j 3.2 Launch
Neo4j 3.2 Launch
 
Mcroservices with docker kubernetes, goang and grpc, overview
Mcroservices with docker kubernetes, goang and grpc, overviewMcroservices with docker kubernetes, goang and grpc, overview
Mcroservices with docker kubernetes, goang and grpc, overview
 
Delivering big content at NBC News with RavenDB
Delivering big content at NBC News with RavenDBDelivering big content at NBC News with RavenDB
Delivering big content at NBC News with RavenDB
 
Azure document db/Cosmos DB
Azure document db/Cosmos DBAzure document db/Cosmos DB
Azure document db/Cosmos DB
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OS
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker ContainersKafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
 
Cool NoSQL on Azure with DocumentDB
Cool NoSQL on Azure with DocumentDBCool NoSQL on Azure with DocumentDB
Cool NoSQL on Azure with DocumentDB
 
CouchbasetoHadoop_Matt_Michael_Justin v4
CouchbasetoHadoop_Matt_Michael_Justin v4CouchbasetoHadoop_Matt_Michael_Justin v4
CouchbasetoHadoop_Matt_Michael_Justin v4
 
Container Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher KubernetesContainer Conf 2017: Rancher Kubernetes
Container Conf 2017: Rancher Kubernetes
 
Kubernetes overview 101
Kubernetes overview 101Kubernetes overview 101
Kubernetes overview 101
 
Elasticsearch + Cascading for Scalable Log Processing
Elasticsearch + Cascading for Scalable Log ProcessingElasticsearch + Cascading for Scalable Log Processing
Elasticsearch + Cascading for Scalable Log Processing
 
Scaling out Driverless AI with IBM Spectrum Conductor - Kevin Doyle - H2O AI ...
Scaling out Driverless AI with IBM Spectrum Conductor - Kevin Doyle - H2O AI ...Scaling out Driverless AI with IBM Spectrum Conductor - Kevin Doyle - H2O AI ...
Scaling out Driverless AI with IBM Spectrum Conductor - Kevin Doyle - H2O AI ...
 
Introduction to SolrCloud
Introduction to SolrCloudIntroduction to SolrCloud
Introduction to SolrCloud
 
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OSPutting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
 

Mehr von Dipti Borkar

How companies-use-no sql-and-couchbase-10152013
How companies-use-no sql-and-couchbase-10152013How companies-use-no sql-and-couchbase-10152013
How companies-use-no sql-and-couchbase-10152013
Dipti Borkar
 
Characteristics of no sql databases
Characteristics of no sql databasesCharacteristics of no sql databases
Characteristics of no sql databases
Dipti Borkar
 
Launch webinar-introducing couchbase server 2.0-01202013
Launch webinar-introducing couchbase server 2.0-01202013Launch webinar-introducing couchbase server 2.0-01202013
Launch webinar-introducing couchbase server 2.0-01202013
Dipti Borkar
 
Part 2 of the webinar - Which freaking database should I use?
Part 2 of the webinar - Which freaking database should I use?Part 2 of the webinar - Which freaking database should I use?
Part 2 of the webinar - Which freaking database should I use?
Dipti Borkar
 
Transition from relational to NoSQL Philly DAMA Day
Transition from relational to NoSQL Philly DAMA DayTransition from relational to NoSQL Philly DAMA Day
Transition from relational to NoSQL Philly DAMA Day
Dipti Borkar
 

Mehr von Dipti Borkar (17)

Presto – Today and Beyond – The Open Source SQL Engine for Querying all Data...
Presto – Today and Beyond – The Open Source SQL Engine for Querying all Data...Presto – Today and Beyond – The Open Source SQL Engine for Querying all Data...
Presto – Today and Beyond – The Open Source SQL Engine for Querying all Data...
 
Revolutionizing the customer experience - Hello Engagement Database
Revolutionizing the customer experience - Hello Engagement DatabaseRevolutionizing the customer experience - Hello Engagement Database
Revolutionizing the customer experience - Hello Engagement Database
 
How companies-use-no sql-and-couchbase-10152013
How companies-use-no sql-and-couchbase-10152013How companies-use-no sql-and-couchbase-10152013
How companies-use-no sql-and-couchbase-10152013
 
Characteristics of no sql databases
Characteristics of no sql databasesCharacteristics of no sql databases
Characteristics of no sql databases
 
How companies use NoSQL and Couchbase - NoSQL Now 2013
How companies use NoSQL and Couchbase - NoSQL Now 2013How companies use NoSQL and Couchbase - NoSQL Now 2013
How companies use NoSQL and Couchbase - NoSQL Now 2013
 
How companies use NoSQL and Couchbase
How companies use NoSQL and CouchbaseHow companies use NoSQL and Couchbase
How companies use NoSQL and Couchbase
 
Launch webinar-introducing couchbase server 2.0-01202013
Launch webinar-introducing couchbase server 2.0-01202013Launch webinar-introducing couchbase server 2.0-01202013
Launch webinar-introducing couchbase server 2.0-01202013
 
Part 2 of the webinar - Which freaking database should I use?
Part 2 of the webinar - Which freaking database should I use?Part 2 of the webinar - Which freaking database should I use?
Part 2 of the webinar - Which freaking database should I use?
 
Couchbase Server 2.0 - XDCR - Deep dive
Couchbase Server 2.0 - XDCR - Deep diveCouchbase Server 2.0 - XDCR - Deep dive
Couchbase Server 2.0 - XDCR - Deep dive
 
Couchbase Server 2.0 - Indexing and Querying - Deep dive
Couchbase Server 2.0 - Indexing and Querying - Deep diveCouchbase Server 2.0 - Indexing and Querying - Deep dive
Couchbase Server 2.0 - Indexing and Querying - Deep dive
 
Introduction to Couchbase Server 2.0
Introduction to Couchbase Server 2.0Introduction to Couchbase Server 2.0
Introduction to Couchbase Server 2.0
 
Transition from relational to NoSQL Philly DAMA Day
Transition from relational to NoSQL Philly DAMA DayTransition from relational to NoSQL Philly DAMA Day
Transition from relational to NoSQL Philly DAMA Day
 
Introduction to NoSQL and Couchbase
Introduction to NoSQL and CouchbaseIntroduction to NoSQL and Couchbase
Introduction to NoSQL and Couchbase
 
Navigating the Transition from relational to NoSQL - CloudCon Expo 2012
Navigating the Transition from relational to NoSQL - CloudCon Expo 2012Navigating the Transition from relational to NoSQL - CloudCon Expo 2012
Navigating the Transition from relational to NoSQL - CloudCon Expo 2012
 
Couchbase Server and IBM BigInsights: One + One = Three
Couchbase Server and IBM BigInsights: One + One = ThreeCouchbase Server and IBM BigInsights: One + One = Three
Couchbase Server and IBM BigInsights: One + One = Three
 
Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo
Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and DemoIntroduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo
Introduction to Couchbase Server 2.0 - CouchConf SF - Tour and Demo
 
Go simple-fast-elastic-with-couchbase-server-borkar
Go simple-fast-elastic-with-couchbase-server-borkarGo simple-fast-elastic-with-couchbase-server-borkar
Go simple-fast-elastic-with-couchbase-server-borkar
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

Introduction to couchbase

  • 1. Introduction to Couchbase Server Dipti Borkar Director, Product Management Anil Kumar Product Management
  • 3. Couchbase Open Source Project • Leading NoSQL database project focused on distributed database technology and surrounding ecosystem • Supports both key-value and document-oriented use cases • All components are available under the Apache 2.0 Public License • Obtained as packaged software in both enterprise and community editions. Couchbase Open Source Project
  • 4. Couchbase Server Easy Scalability Grow cluster without application changes, without downtime with a single click Always On 24x365 No downtime for software upgrades, hardware maintenance, etc. PE RFORM ANCE Consistent High Performance Consistent sub-millisecond read and write response times with consistent high throughput JSON JSON JSO JSON JSON N Flexible Data Model JSON document model with no fixed schema.
  • 5. Core Couchbase Server Features Built-in clustering – All nodes equal Append-only storage layer Data replication with auto-failover Online compaction Zero-downtime maintenance Monitoring and admin API & UI Built-in managed cached SDK for a variety of languages
  • 6. 2.0 introduced JSON support Indexing and Querying JSON JSON JSO JSON N JSON Incremental Map Reduce Cross data center replication
  • 7. 2.1 introduced New in 2.2  Multi-threaded persistence engine  New XDCR protocol based on memcached  Optimistic XDCR  Read-only admin user  CBHealthcheck – Cluster health check tool  Automated and optimized purge management  Hostname management  CBRecovery Data recovery tool from remote clusters  Rebalance progress indicators  Non-root, non-sudo install
  • 8. Couchbase Server Architecture 11211 11210 Query API Memcapable 1.0 Memcapable 2.0 New Persistence Layer vBucket state and replication manager Node health monitor Rebalance orchestrator storage interface Global singleton supervisor Data Manager Configuration manager Couchbase EP Engine Process monitor Memcached Heartbeat Moxi REST management API/Web UI Query Engine 8092 Cluster Manager http on each node one per cluster Erlang/OTP HTTP Erlang port mapper Distributed Erlang 8091 4369 21100 - 21199
  • 9. Couchbase Server Architecture Query Engine Query API 11210 / 11211 8091 Admin Console Data access ports http Object-managed Cache Erlang /OTP 8092 REST management API/Web UI Replication, Rebalance, Shard State Manager Multi-threaded Persistence Engine Data Manager Cluster Manager
  • 11. Single node - Couchbase Write Operation Doc 1 App Server Couchbase Server Node 3 2 Managed Cache Replication Queue Disk Doc 1 Disk Queue To other node 3
  • 12. Single node - Couchbase Update Operation Doc 1’ App Server Couchbase Server Node 3 2 Managed Cache Replication Queue Doc 1 Doc 1’ Disk Queue To other node 3 Disk Doc 1
  • 13. GET Doc 1 Single node - Couchbase Read Operation App Server Couchbase Server Node 3 2 Managed Cache Replication Queue Doc 1 Disk Queue To other node 3 Disk Doc 1
  • 14. Single node – Couchbase Cache Miss GET Doc 1 2 App Server 3 2 Managed Cache Replication Queue Doc 5 4 4 Doc Doc Doc 1 Doc Doc 3 2 Disk Queue To other node Disk Doc 1 Doc 6 Doc 5 Doc 4 Doc 3 3 Doc 2 Couchbase Server Node
  • 15. Basic Operation APP SERVER 1 APP SERVER 2 COUCHBASE Client Library COUCHBASE Client Library CLUSTER MAP CLUSTER MAP READ/WRITE/UPDATE SERVER 1 SERVER 2 SERVER 3 ACTIVE ACTIVE ACTIVE Doc 5 Doc Doc 4 Doc Doc 1 Doc Doc 2 Doc Doc 7 Doc Doc 2 Doc Doc 9 Doc Doc 8 Doc Doc 6 Doc REPLICA REPLICA REPLICA • Docs distributed evenly across servers • Each server stores both active and 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 Doc 4 Doc Doc 6 Doc Doc 7 Doc Doc 1 Doc Doc 3 Doc Doc 9 Doc • App reads, writes, updates docs Doc 8 Doc Doc 2 Doc Doc 5 Doc • Multiple app servers can access same document at same time COUCHBASE SERVER CLUSTER User Configured Replica Count = 1 App never needs to know
  • 16. Add Nodes to Cluster APP SERVER 1 APP SERVER 2 COUCHBASE Client Library COUCHBASE Client Library CLUSTER MAP CLUSTER MAP READ/WRITE/UPDATE READ/WRITE/UPDATE SERVER 1 SERVER 2 SERVER 3 SERVER 4 SERVER 5 ACTIVE ACTIVE ACTIVE ACTIVE ACTIVE Doc 5 Doc Doc 4 Doc Doc 1 Doc Doc 7 Doc Doc 2 Doc Doc 9 Doc Doc 8 Doc Doc 6 • Docs automatically rebalanced across cluster Doc Doc 2 • Two servers added One-click operation Doc Even distribution of docs Minimum doc movement • Cluster map updated REPLICA REPLICA REPLICA Doc 4 Doc Doc 6 Doc Doc 7 Doc Doc 1 Doc Doc 3 Doc Doc 9 Doc Doc 8 Doc Doc 2 Doc Doc 5 Doc COUCHBASE SERVER CLUSTER User Configured Replica Count = 1 REPLICA REPLICA • App database calls now distributed over larger number of servers
  • 17. Fail Over Node APP SERVER 1 APP SERVER 2 COUCHBASE Client Library COUCHBASE Client Library CLUSTER MAP CLUSTER MAP SERVER 1 SERVER 2 SERVER 3 SERVER 4 SERVER 5 ACTIVE ACTIVE ACTIVE ACTIVE ACTIVE Doc 5 Doc Doc 4 Doc Doc 1 Doc Doc 9 Doc Doc 2 Doc Doc 7 Doc Doc 2 Doc Doc 8 Doc Doc 1 Doc 6 Doc Doc Doc 3 REPLICA REPLICA REPLICA REPLICA Doc 4 Doc Doc 6 Doc Doc 7 Doc Doc 5 Doc 1 Doc Doc 3 Doc Doc 9 Doc Doc 2 COUCHBASE SERVER CLUSTER User Configured Replica Count = 1 Doc REPLICA Doc 8 Doc Doc • App servers accessing docs • Requests to Server 3 fail • Cluster detects server failed Promotes replicas of docs to active Updates cluster map • Requests for docs now go to appropriate server • Typically rebalance would follow
  • 19. Indexing and Querying – The basics • Define materialized views on JSON documents and then query across the data set • Using views you can define • Primary indexes • Simple secondary indexes (most common use case) • Complex secondary, tertiary and composite indexes • Aggregations (reduction) • Indexes are eventually indexed • Queries are eventually consistent • Built using Map/Reduce technology • Map and Reduce functions are written in Javascript
  • 20. Indexing and Querying APP SERVER 1 APP SERVER 2 COUCHBASE Client Library COUCHBASE Client Library CLUSTER MAP CLUSTER MAP Query SERVER 1 SERVER 2 ACTIVE ACTIVE SERVER 3 ACTIVE • Indexing work is distributed amongst nodes Doc 5 Doc Doc 5 Doc Doc 5 Doc • Large data set possible Doc 2 Doc Doc 2 Doc Doc 2 Doc • Parallelize the effort Doc 9 Doc Doc 9 Doc Doc 9 Doc REPLICA REPLICA REPLICA Doc 4 Doc Doc 4 Doc Doc 4 Doc Doc 1 Doc Doc 1 Doc Doc 1 Doc Doc 8 Doc Doc 8 Doc Doc 8 Doc COUCHBASE SERVER CLUSTER User Configured Replica Count = 1 • Each node has index for data stored on it • Queries combine the results from required nodes
  • 21. Cross Data Center Replication – The basics • Replicate your Couchbase data across clusters • Clusters may be spread across geos • Configured on a per-bucket (per-database) basis • Supports unidirectional and bidirectional operation • Application can read and write from both clusters - Active – Active replication • Replication throughput scales out linearly • Different from intra-cluster replication
  • 22. Cross data center replication – Data flow 2 Doc 1 App Server Couchbase Server Node 3 2 Managed Cache Replication Queue Doc 1 Disk Queue To other node 3 Disk Doc 1 XDCR Engine To other cluster
  • 23. Cross Data Center Replication (XDCR) Optimistic replication Couchbase Server – San Francisco SERVER 1 SERVER 2 SERVER 3 Per replication Tunable Parameters Couchbase Server – New York SERVER 1 SERVER 2 Optimized protocol based on memcached Reliability and performance at scale SERVER 3
  • 26. Couchbase Query Language N1QL Read “Nickel” Our next generation query language for JSON In Dev Preview
  • 28. Thank you! anil@couchbase.com @anilkumar1129 Download Couchbase Server 2.2 http://www.couchbase.com/download