You are viewing the documentation for a prerelease version.

View Latest

List of Architecture Diagrams

A quick reference to architecture diagrams in Couchbase documentation.

Throughout the Couchbase documentation-set, explanations of the architecture of Couchbase Server are supported diagrammatically. Each diagram is co-located with its textual description. This page provides a quick-reference, whereby each diagram can be directly accessed.

Diagrams are provided for the following topics. Click on the thumbnails or other links to access the full-size diagrams and accompanying, detailed descriptions.

Multidimensional Scaling

Couchbase Server supports multidimensional scaling, whereby services can be distributed and resourced with the greatest flexibility, across the designated nodes of a cluster.

cbClusterWithServicesProduction

This is explained in Setting Up Services.

Data Service

The Couchbase Data Service is the most fundamental of all Couchbase services, providing access to data in memory and on disk.

dataServiceArchitecture

See Data Service for a description of the Data Service' architecture, and the interactions of its inner components.

Data-Service Rebalance Stages

Rebalance redistributes data and indexes among individual nodes. Data is moved in stages, the progress through which is observable, allowing rates of progress to be determined.

replicavBucketMove

See Rebalance, for an overview of rebalance and its significance to different services.

Durability

Couchbase Server provides durability, which ensures the greatest likelihood of data-writes surviving unexpected anomalies, such as node-outages.

durabilityDiagram

See Durability for a full description, including the protection guarantees provided.

Query Service

The Couchbase Query Service supports the querying of data by means of the N1QL query language.

queryServiceArchitecture

Its architecture and the query processing-sequence it supports are explained in Query Service.

Index Service

The Couchbase Index Service supports the creation of primary and secondary indexes on items stored within Couchbase Server.

indexServiceArchitecture

Components essential for the Index Service reside not only on each node to which the Index Service is assigned, but also on each node to which the Data Service is assigned, as shown by the illustration in Index Service.

Cluster Manager

The Couchbase Cluster Manager runs on all the nodes of a cluster, maintaining essential per-node processes, and coordinating cluster-wide operations.

clusterManagerArchitecture2

Its architecture is explained in Cluster Manager.

This page also provides a detailed diagram for the most important component of the Cluster Manager, ns-server.

Intra-Cluster Replication

The Couchbase replication architecture keeps cluster-data highly available, by replicating data across the nodes of a cluster, using the Database Change Protocol.

vBucketReplication

This is explained in Intra-Cluster Replication.

Cross Data Center Replication (XDCR)

Cross Data Center Replication (XDCR) is the process whereby data can be replicated to a remote cluster.

unidirectional xdcr

The topographical options for XDCR set-up are shown by the diagrams in XDCR Direction and Topology.

XDCR Advanced Filtering

XDCR Advanced Filtering allows specified subsets of documents to be replicated from the source bucket.

filter replication diagram 2

Information on the available options for document-selection is provided in XDCR Advanced Filtering.

Server Group Awareness

Server Group Awareness allows individual server-nodes to be assigned to specific groups, within a Couchbase Cluster. This allows active vBuckets to be maintained on a different group from that of their corresponding replica vBuckets; so that if a group goes offline, bucket-data remains available on another group.

groups two equal

Possible group layouts, and the effects of failover, are illustrated diagrammatically in Server Group Awareness.

Data Size Limits

A data-item stored by Couchbase Server has multiple inner components, each of which has a fixed size limit.

item maximum sizes

Components and their sizes are described in Data Size Limits.

Data Model

The Couchbase Data Model is based on using JSON documents to store data items.

jsonDataModel

The Relational and JSON data models have fundamental differences, explained here graphically.

vBuckets

Couchbase buckets, which are used to group data-items logically, are mapped to underlying shards on disk, known as vBuckets.

vbucketToNodeMapping

This is explained in Understanding vBuckets.

Compression

Compression is used by Couchbase Server to maximize resources and heighten performance.

compressionDiagram

The communication-paths that benefit are listed and explained in Where Compression is Used.

Saving New Items

When Couchbase Server receives new data from a client, it saves to disk, and also replicates across nodes.

createDocSequence3

A sequence of diagrams is provided to show the memory and storage architecture whereby Couchbase Server handles Saving New Items.

Memory Quotas

Couchbase Server monitors the memory used by buckets with respect to fixed memory quotas. If watermarks are exceeded, automated management action is taken, to ensure that the data items most needed are retained in memory, and those less needed removed.

tunableMemory

This is explained in detail, and the relations of memory quotas represented graphically, in Ejection.