When I reviewed YugaByteDB 1.0 in 2018, it combined distributed ACID transactions, multi-region deployment, and support for Cassandra and Redis APIs. At the time, PostgreSQL support was “on the way,” meaning incomplete and barely tested. Fast forward to May 2022, and the Postgres train has pulled into the station.
YugaByteDB 1.0 was built on top of an enhanced fork of the RocksDB key-value store. It used a log-structured, key-to-document storage engine, had a pluggable API layer, used Raft for cluster consensus, and used hybrid logical clock (HLC) timestamps and Network Time Protocol (NTP) clock synchronization for node time synchronization. Only the core functionality of YugaByteDB 1.0 was open source; I reviewed an enterprise version that included proprietary pieces, such as the YugaWare orchestration layer.
Currently, in YugabyteDB 2.13, the PostgreSQL support is quite advanced (but not completely done). The product is now entirely open source (Apache 2.0), although enterprises can (and do) buy a support contract for the Kubernetes-based Yugabyte Platform, and anyone can create paid clusters on the Yugabyte Cloud that run on Amazon Web Services (AWS) or Google Cloud Platform (GCP). Anyone can also create a free two-CPU one-node “cluster” on the Yugabyte Cloud for exploration purposes. At this point more than a million YugabyteDB clusters have been deployed.
YugabyteDB directly competes with other distributed SQL transactional databases, such as Google Cloud Spanner, Amazon Aurora, and CockroachDB. To a lesser extent, it also competes with traditional transactional databases, such as Oracle Database, SQL Server, and IBM DB2, as people move their database loads to the cloud and shift their application architectures to microservices.