Deploy a distributed database cluster that survives a full datacenter outage without losing writes.
Run both transactional and analytical queries on the same YDB cluster without separate systems.
Connect existing PostgreSQL tools and Apache Kafka clients to YDB without rewriting integrations.
Scale storage and compute independently as data volume and query load grow at different rates.
Requires multi-server setup with at least 8 GB RAM per node, full fault tolerance needs three separate datacenters.
YDB is an open-source distributed database written in C++. It is designed for applications that need to store and query large amounts of data across many servers at once, while still guaranteeing that every write is consistent and that groups of related changes either all succeed or all fail together. Those guarantees are what the term ACID transactions refers to. YDB supports two kinds of data tables side by side: row-oriented tables, which are good for transactional workloads where you look up or update individual records, and column-oriented tables, which are better for analytical queries that scan and aggregate large numbers of rows. It also supports persistent message queues called topics, for moving data between systems in a streaming fashion. The queue system is compatible with Apache Kafka's protocol, and the database query language is compatible with PostgreSQL, so existing tools built for those systems can connect to YDB. The database is built to survive failures automatically. It can be spread across three separate datacenters, and if one datacenter goes offline completely, the cluster keeps accepting both reads and writes. After a hardware failure, it restores data redundancy on its own without manual intervention. Storage and compute scale independently, so you can add more storage nodes without adding compute nodes, and vice versa. Real production deployments described in the README include clusters with over ten thousand nodes, petabytes of stored data, and millions of transactions per second. YDB can be deployed on bare metal or virtual machines using Ansible, on containers using Kubernetes, or set up manually. It supports running multiple separate databases on one shared cluster, and also a serverless mode where compute resources are shared. The minimum requirement is an x86 64-bit machine with at least 8 GB of RAM. Development builds are tested on Ubuntu Linux, macOS, and Windows.
← ydb-platform on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.