Code
YDB – Distributed SQL Database

YDB is an open-source Distributed SQL Database that combines high availability and scalability with strict consistency and ACID transactions.
Main YDB Advantages
YDB is designed from scratch as a response to growing demand for scalable interactive web services. Scalability, strict consistency and effective cross-row transactions were a must for such OLTP-like workload. YDB is built by people with strong background in databases and distributed systems, who had an experience of developing No-SQL database and the Map-Reduce system for one of the largest search engines in the world. We found that YDB’s flexible design allows us to build more services on top of it including persistent queues and virtual block devices.
Basic YDB features:
- Fault-tolerant configuration that survive disk, node, rack or even datacenter outage;
- Horizontal scalability;
- Automatic disaster recovery with minimum latency disruptions for applications;
- SQL dialect (YQL) for data manipulation and scheme definition;
- ACID transactions across multiple nodes and tables with strict consistency.
Fault-tolerant Configurations
YDB could be deployed in three availability zones. Cluster remains available for both reads and writes during complete outage of a single zone. Availability zones and regions are covered in more detail in documentation.
Horizontal Scalability
Unlike traditional relational databases YDB scales out providing developers with capability to simply extend cluster with computation or storage resources to handle increasing load. YDB has desaggregated storage and compute layers which allow you to scale storage and compute resources independently.
Current production installations have more than 10,000 nodes, store petabytes of data and handle millions distributed transactions per second.
Automatic Disaster Recovery
YDB has built-in automatic recovery support to survive a hardware failure. After unpredictable disk, node, rack or even datacenter failure YDB remains fully available for reads and writes and restores required data redundancy automatically.
Multitenant and Serverless Database
YDB has support for multitenant and serverless setups. A user can run a YDB cluster and create several databases that share one pool of storage and have different compute nodes. Alternatively a user can run several serverless databases that share one pool of compute resources to utilize them effectively.
