Indexing and querying in big data scenarios require robust solutions to manage high velocity, variety, and volume of data without compromising on response times. Distributed database systems offer two primary types of indexing: local indexes and global indexes. Local indexes optimize for fast indexing by having each node in a cluster index its local data, but this method can lead to increased latency as the cluster grows because each node must independently determine partial results before a coordinating node compiles them. In contrast, global indexes are independently partitioned and stored separately, reducing latency by having a centralized index that can quickly provide answers without the need for scatter-gather operations. Couchbase Server utilizes both local indexing, through Map/Reduce Views, and global secondary indexes (GSIs), which can be deployed independently to handle queries efficiently. The Couchbase Server offers two storage options for GSIs: standard GSI and the newer memory-optimized GSI, introduced with version 4.5, which is discussed further in a subsequent post.