Architecture

    In terms of the CAP theorem, YugabyteDB is a Consistent and Partition-tolerant (CP) database. It ensures High Availability (HA) for most practical situations even while remaining strongly consistent. While this may seem to be a violation of the CAP theorem, that is not the case. CAP treats availability as a binary option whereas YugabyteDB treats availability as a percentage that can be tuned to achieve high write availability (reads are always available as long as a single node is available).

    • The above approach obviates the need for any unpredictable background anti-entropy operations as well as need to establish quorum at read time. As shown in the , YugabyteDB delivers predictable p99 latencies as well as 3x read throughput that is also timeline-consistent (given no quorum is needed at read time).

    On one hand, YugabyteDB’s storage and replication architecture is similar to that of Google Cloud Spanner which is also a CP database with high write availability. While Google Cloud Spanner leverages Google’s proprietary network infrastructure, YugabyteDB is designed work on commodity infrastructure used by most enterprise users. On the other hand, YugabyteDB’s multi-model, multi-API and tunable read latency approach is similar to that of .

    Why is a group of YugabyteDB nodes called a universe instead of the more commonly used term clusters?

    The Yugabyte universe packs a lot more functionality than what people think of when referring to a cluster. In fact, in certain deployment choices, the universe subsumes the equivalent of multiple clusters and some of the operational work needed to run these. Here are just a few concrete differences, which made us feel like giving it a different name would help earmark the differences and avoid confusion.

    • Failover to async replicas as the primary data and failback once the original datacenter is up and running are both natively supported within a universe.