YDB logo

YDB

Scalable, fault-tolerant Distributed SQL with strict ACID guarantees

YDB delivers a distributed SQL engine with horizontal scalability, strong consistency, ACID transactions, and built-in disaster recovery, supporting both row/column tables and PostgreSQL/Kafka compatibility.

YDB banner

Overview

Overview

YDB is a distributed SQL database designed for interactive web services and enterprise applications that require strict consistency and full ACID guarantees. It targets developers and operators who need a single system to handle both transactional (OLTP) and analytical (OLAP) workloads while maintaining high availability.

Capabilities

The platform offers row‑oriented and column‑oriented tables, persistent queues (topics), and a rich SQL dialect (YQL). It provides PostgreSQL‑compatible and Kafka‑compatible modes, enabling seamless integration with existing tools. Fault‑tolerant architecture replicates data across nodes, racks, and datacenters, allowing reads and writes to continue during zone outages. Storage and compute layers scale independently, so you can add capacity where it is needed without disrupting service.

Deployment

YDB runs on x86_64 machines with at least 8 GB RAM, primarily on Ubuntu Linux, and can be deployed manually, with Ansible, or on Kubernetes. Multitenant and serverless configurations let multiple databases share a common pool of resources, simplifying management for SaaS platforms and variable‑load workloads.

Highlights

Horizontal scaling of storage and compute layers
Fault‑tolerant architecture surviving node, rack, or datacenter failures
ACID‑compliant transactions across multiple nodes with strict consistency
PostgreSQL‑compatible and Kafka‑compatible modes for seamless integration

Pros

  • Strong consistency with full ACID guarantees
  • Independent scaling of compute and storage
  • Built‑in automatic disaster recovery
  • Supports both OLTP and analytical workloads via row/column tables

Considerations

  • Requires minimum 8 GB RAM and x86_64 hardware
  • Operational complexity for multi‑zone deployments
  • Primarily supported on Ubuntu Linux in production
  • Learning curve for YQL and custom deployment tooling

Managed products teams compare with

When teams consider YDB, these hosted platforms usually appear on the same shortlist.

Amazon Aurora logo

Amazon Aurora

MySQL- and PostgreSQL-compatible cloud relational database service offering high performance and high availability

CockroachDB logo

CockroachDB

Distributed SQL database designed for horizontal scale and high resilience across regions

PlanetScale logo

PlanetScale

Serverless MySQL platform with Git-like branching

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Enterprises needing globally consistent, high‑throughput transactional databases
  • Developers building multitenant SaaS platforms
  • Applications requiring seamless scaling of compute and storage
  • Workloads that benefit from PostgreSQL or Kafka compatibility

Not ideal when

  • Small projects with minimal resource constraints
  • Teams preferring fully managed cloud databases
  • Environments limited to non‑Linux operating systems in production
  • Use cases that do not require strict ACID consistency

How teams use it

Real‑time bidding platform

Handles millions of distributed transactions per second with strict consistency, ensuring accurate auction results.

Multitenant SaaS analytics

Provides isolated databases sharing storage and compute, scaling resources per tenant while maintaining ACID guarantees.

Event‑driven microservices

Uses Kafka‑compatible topics for reliable message queues, enabling fault‑tolerant data pipelines.

Hybrid OLTP/OLAP workloads

Leverages row‑oriented tables for transactions and column‑oriented tables for fast analytical queries within the same cluster.

Tech snapshot

C++48%
C29%
Python17%
Assembly3%
Go1%
Makefile1%

Tags

distributed-sql-databasecppdistributed-databasecloud-nativedistributeddbmssqldatabasedistributed-sql

Frequently asked questions

What programming languages can I use with YDB?

YDB provides client libraries for C++, Go, Java, Python, and other languages; you can also interact via standard PostgreSQL drivers.

How does YDB achieve high availability?

It replicates data across multiple nodes and availability zones, allowing reads and writes to continue even if an entire zone fails.

Can YDB run in a serverless mode?

Yes, YDB supports serverless databases that share a pool of compute resources, simplifying resource management for variable workloads.

What deployment options are available?

Clusters can be deployed manually, with Ansible for bare‑metal/VMs, or via Kubernetes for containerized environments.

Is YDB compatible with existing PostgreSQL tools?

In PostgreSQL‑compatible mode, YDB accepts standard PostgreSQL wire protocol, enabling use of familiar drivers and tools.

Project at a glance

Active
Stars
4,661
Watchers
4,661
Forks
747
LicenseApache-2.0
Repo age3 years old
Last commit3 hours ago
Primary languageC++

Last synced 3 hours ago