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.

The following diagrams are provided:

  • Couchbase Server supports multidimensional scaling, whereby services can be distributed and resourced with the greatest flexibility, across the designated nodes of a cluster. This is explained and diagrammatically represented in Setting Up Services.

  • The Couchbase Data Service is the most fundamental of all Couchbase services, providing access to data in memory and on disk. The diagram in Data Service shows its architecture, and the interactions of its inner components.

  • The Couchbase Query Service supports the querying of data by means of the N1QL query language. Its architecture and the query processing-sequence it supports are explained by the diagrams in Query Service.

  • The Couchbase Index Service supports the creation of primary and secondary indexes on items stored within Couchbase Server. 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.

  • The Couchbase Cluster Manager runs on all the nodes of a cluster, maintaining essential per-node processes, and coordinating cluster-wide operations. Its architecture is explained by the diagram in Cluster Manager.

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

  • The replication architecture whereby data within a cluster is kept highly available is illustrated in Intra-Cluster Replication.

  • Cross Data Center Replication (XDCR) is the process whereby data can be replicated to a remote cluster. The topographical options for XDCR set-up are shown by the diagrams in XDCR Direction and Topology.

  • 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. 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. This diagram shows the components and their sizes.

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

  • The mapping of Couchbase buckets, which are used to group data-items logically, to underlying shards on disk, known as vBuckets, is expressed as a detailed diagram, in Understanding vBuckets.

  • Compression is used by Couchbase Server, to maximize resources and heighten performance. The communication-paths that benefit are noted diagrammatically in Where Compression is Used

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

  • 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. This is explained in detail, and the relations of memory quotas represented graphically, in Ejection.