Blazing performance, rich indexing, query and search capabilities plus high availability ingrained to the core. In this session we will demonstrate Couchbase Server 5.0’s industry-leading features and explore behind the scenes to uncover the architecture that underpins it. This is the grand tour of Couchbase Server, so this is the session for you if you are a master architect, developer, or administrator of platforms.
Projector and Router: 1 Projector and Router per node 1 stream of changes per buckets per supervisor
Supervisor 1 Supervisor per node Many indexes per Supervisor
Indexes are created and updated via the REST interface, via the UI, I’ll show you a quick demonstration of this shortly. The user decides which fields of their document they would like indexed and a bunch of advanced operators (word separators, language etc). These REST requests are handled by the Manager which creates an Index Definition, stored in the Config.
a Planner… looks at every IndexDef and then splits or partitions each IndexDef into 1 or more partitions or PIndex’es. The Planner next also assigns PIndexes to nodes. As with the data service, the full text indexes are automatically sharded across the available nodes.
Mutations are streamed via the same high-speed plumbing we saw earlier, DCP.
The indexing work is performed by bleve. Bleve is really cool, it’s a standalone open source Go full test parser created here at Couchbase. This does the text analysis. Querys then come in via the REST interface and the results are returned. Lets take a look at a quick example….
a Janitor... tries to make its local node match its part of the plan. Janitor sees plan changes and starts/stops PIndexes and Feeds
Data Change Protocol (DCP) automatically synchronizes data to shadow sets Shadow is a Query-specific distribution and organization of data, aggregation, index, and query processing Longer term data can be persisted even when operational data is expired/deleted Operational data store experiences minimal impact from even the most complex and long-running queries
Couchbase Server architecture: an overview – Connect Silicon Valley 2017