Yandex opened code of distributed DBMS of YDB supporting SQL

Yandex company Posted Initial texts of distributed DBMS YDB that implements support for SQL and Acid transaction dialect. The DBMS was created from scratch and initially develops with a loaf to ensure fault tolerance, automatic recovery in failures and scalability. It is noted that Yandex has been launched by YDB working clusters, including more than 10 thousand nodes that store hundreds of petabytes and serving millions of distributed transactions per second. YDB is used in such projects of Yandex, as a market, cloud, smart home, Alice, Metric and AUTO.ru. The code is written in C / C ++ languages ​​and extends under the Apache 2.0 license.

Features Project:

  • Using a relational data model with tables. For queries and definitions of data schema used language YQL (YDB Query Language), which is a SQL dialect adapted to work with large distributed databases. When creating a storage scheme, a tree grouping tables that resembles directories in the file system are supported. API is provided to work with data in JSON format.

  • Support for data access using scan requests designed to perform analytical AD-HOC requests over databases performed In read-only mode and return GRPC stream .
  • Interaction with DBMS and sending requests is carried out using Command Line Interface or ydb SDK providing libraries for C ++ languages, C # (.NET), Go, Java, Node.js, PHP and python.
  • the ability to create fault-tolerant configurations that continue to work when the failure of individual disks, nodes, racks, and even data centers. YDB supports deployment and synchronous replication in three accessibility areas with the preservation of the cluster performance in case of failure of one of the zones.
  • Automatic recovery after failures with minimal delays for applications and automatic maintenance of a given redundancy during data storage.
  • Automatic creation of indexes on the primary key and the ability to define secondary indexes To increase the efficiency of access to arbitrary columns.
/Media reports.