yugabyte-db  by yugabyte

Cloud-native distributed SQL database for mission-critical applications

Created 8 years ago
9,834 stars

Top 5.1% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

YugabyteDB is a cloud-native, distributed SQL database designed for mission-critical applications demanding high performance, transactional consistency, and horizontal scalability. It bridges the gap between traditional relational databases and NoSQL systems, targeting OLTP workloads that require absolute data correctness, fault tolerance, and global distribution. Its core benefit lies in offering the familiarity and power of PostgreSQL with the scalability and resilience of distributed systems.

How It Works

YugabyteDB employs a PostgreSQL-compatible SQL layer (YSQL) that reuses PostgreSQL's query layer, ensuring broad feature support. Its distributed transaction design is inspired by Google Spanner, utilizing Raft consensus for replication and cluster-wide ACID transactions managed via hybrid logical clocks. The database achieves continuous availability through native failover and repair mechanisms, designed to tolerate various infrastructure failures (node, zone, region, cloud). Scalability is achieved horizontally by adding nodes, and it supports geo-distributed, multi-cloud deployments. It also offers a secondary YCQL API, rooted in Apache Cassandra, providing a multi-API design.

Quick Start & Requirements

The project offers demo applications for e-commerce and IoT streaming via Kafka/Spark Streaming as quick-start examples. Detailed installation, deployment (including Kubernetes), client driver information, and configuration guides are available in the official documentation. Specific prerequisites like GPU, CUDA, or Python versions are not detailed in the README but are typically found within the documentation for specific deployment scenarios.

Highlighted Details

  • PostgreSQL Compatibility: YSQL supports most PostgreSQL features, data types, functions, and extensions, with recent releases (v2025.1) rebasing the PostgreSQL fork to version 15.0.
  • Distributed ACID Transactions: Implements Spanner-like distributed ACID transactions with strong consistency guarantees, supporting multiple isolation levels.
  • High Availability & Scalability: Designed for continuous availability, tolerating multiple failure domains (zone, region, cloud) with RPO=0 and RTO ≈ 3 seconds. Scales horizontally by adding nodes.
  • Geo-Distribution & Multi-Cloud: Supports deployments spanning multiple fault domains and clouds, including xCluster asynchronous replication.
  • Advanced Features: Includes support for HNSW indexing for pgvector, automatic transactional xCluster DDL replication, parallel query execution, a Cost-Based Optimizer (CBO), and bitmap scan support.

Maintenance & Community

YugabyteDB fosters an active community through Slack, a Forum, Stack Overflow, and Twitter (@Yugabyte). Contributions are welcomed via GitHub pull requests, with contributor guides available. Feature discussions and RFCs occur on the project's Forum.

Licensing & Compatibility

The core YugabyteDB database and its features are licensed under the Apache License 2.0. Binaries intended for running managed services contain the -managed suffix and are licensed under the Polyform Free Trial License 1.0.0. Default builds generate only Apache License 2.0 binaries, making the core database suitable for most open-source and commercial use cases.

Limitations & Caveats

The project offers "Preview" releases (e.g., v2.25) for development and testing, which may not be suitable for production. Users should be aware of the dual licensing model, particularly concerning the Polyform Free Trial License for managed service components, which may impose restrictions depending on usage.

Health Check
Last Commit

4 hours ago

Responsiveness

Inactive

Pull Requests (30d)
61
Issues (30d)
376
Star History
84 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.