Home

Awesome

<img src="https://cloud.yugabyte.com/logo-big.png" align="center" alt="YugabyteDB" width="50%"/>

License Documentation Status Ask in forum Slack chat Analytics

What is YugabyteDB?

YugabyteDB is a high-performance, cloud-native, distributed SQL database that aims to support all PostgreSQL features. It is best suited for cloud-native OLTP (i.e., real-time, business-critical) applications that need absolute data correctness and require at least one of the following: scalability, high tolerance to failures, or globally-distributed deployments.

Core Features

Read more about YugabyteDB in our FAQ.

Get Started

Cannot find what you are looking for? Have a question? Please post your questions or comments on our Community Slack or Forum.

Build Apps

YugabyteDB supports many languages and client drivers, including Java, Go, NodeJS, Python, and more. For a complete list, including examples, see Drivers and ORMs.

What's being worked on?

This section was last updated in July, 2024.

Current roadmap

Here is a list of some of the key features being worked on for the upcoming releases. The YugabyteDB v2024.1 release has been released in June, 2024.

FeatureStatusProgressComments
Upgrade to PostgreSQL v15PROGRESSTrackFor latest features, new PostgreSQL extensions, performance, and community fixes
Support PostgreSQL Publication/Replication slot API in CDCPROGRESSTrackPostgreSQL has a huge community that needs a PG-compatible API to set up and consume database changes.
Bitmap scan supportPROGRESSTrackBitmap Scan support for using Index Scans, remote filter and enhance Cost Model.
YSQL-table statistics and cost based optimizer(CBO)PROGRESSTrackImprove YSQL query performance
YSQL parallel query executionPROGRESSTrackDevise query plans that can leverage multiple CPUs in order to answer queries faster.
YSQL-Feature support - ALTER TABLEPROGRESSTrackSupport for various ALTER TABLE variants
Connection ManagementPROGRESSTrackServer side connection management

Recently released features

FeatureStatusRelease TargetDocs / EnhancementsComments
Support for transactions in async xCluster replicationDONEv2.19DocsPreserve and guarantee transactional atomicity and global ordering when propagating change data from one universe to another
Support wait-on-conflict concurrency controlDONEv2.19Support wait-on-conflict concurrency control
Faster Bulk-Data Loading in YugabyteDBDONEv2.15TrackFaster Bulk-Data Loading in YugabyteDB
Change Data CaptureDONEv2.13Change data capture (CDC) allows multiple downstream apps and services to consume the continuous and never-ending stream(s) of changes to Yugabyte databases
Support for materalized viewsDONEv2.13DocsA materialized view is a pre-computed data set derived from a query specification and stored for later use
Geo-partitioning support for the transaction status tableDONEv2.13DocsInstead of central remote transaction execution metatda, it is now optimized for access from different regions. Since the transaction metadata is also geo partitioned, it eliminates the need for round-trip to remote regions to update transaction statuses.
Transparently restart transactionsDONEv2.13Decrease the incidence of transaction restart errors seen in various scenarios
Row-level geo-partitioningDONEv2.13DocsRow-level geo-partitioning allows fine-grained control over pinning data in a user table (at a per-row level) to geographic locations, thereby allowing the data residency to be managed at the table-row level.
YSQL-Support GIN indexesDONEv2.11DocsSupport for generalized inverted indexes for container data types like jsonb, tsvector, and array
YSQL-Collation SupportDONEv2.11DocsAllows specifying the sort order and character classification behavior of data per-column, or even per-operation according to language and country-specific rules
YSQL-Savepoint SupportDONEv2.11DocsUseful for implementing complex error recovery in multi-statement transaction
xCluster replication management through PlatformDONEv2.11Docs
Spring Data YugabyteDB moduleDONEv2.9TrackBridges the gap for learning the distributed SQL concepts with familiarity and ease of Spring Data APIs
Support Liquibase, Flyway, ORM schema migrationsDONEv2.9Docs
Support ALTER TABLE add primary keyDONEv2.9Track
YCQL-LDAP SupportDONEv2.8Docssupport LDAP authentication in YCQL API
Platform Alerting and NotificationDONEv2.8DocsTo get notified in real time about database alerts, user defined alert policies notify you when a performance metric rises above or falls below a threshold you set.
Platform APIDONEv2.8DocsSecurely Deploy YugabyteDB Clusters Using Infrastructure-as-Code

Architecture

<img src="https://raw.githubusercontent.com/yugabyte/yugabyte-db/master/architecture/images/yb-architecture.jpg" align="center" alt="YugabyteDB Architecture"/>

Review detailed architecture in our Docs.

Need Help?

Contribute

As an open-source project with a strong focus on the user community, we welcome contributions as GitHub pull requests. See our Contributor Guides to get going. Discussions and RFCs for features happen on the design discussions section of our Forum.

License

Source code in this repository is variously licensed under the Apache License 2.0 and the Polyform Free Trial License 1.0.0. A copy of each license can be found in the licenses directory.

The build produces two sets of binaries:

By default, the build options generate only the Apache License 2.0 binaries.

Read More