No Description https://ydb.tech/

Andrey Neporada 0474cb45ab Replace logical ids with 0 in canonized files as it is done in dq_file (#11683) 5 hours ago
.github bd4a911ac9 CI codeowners for yql (#11619) 1 day ago
build ce6c4c6e77 Merge branch 'rightlib' into mergelibs-yurchuk-manual 2 days ago
certs 6d3e410c45 Remove CMakeLists from main (#2032) 9 months ago
contrib 90879d1214 Merge branch 'rightlib' into mergelibs-yurchuk-manual 2 days ago
devtools d0ffb6b83b Revert "Remove devtools folder (#895)" (#922) 10 months ago
library ce6c4c6e77 Merge branch 'rightlib' into mergelibs-yurchuk-manual 2 days ago
scripts e42984e320 Fix exporting CMake for darwin (#10865) 1 day ago
tools 14559389ac Add external autoincludes.json 2 days ago
util 14559389ac Add external autoincludes.json 2 days ago
vendor c3aec4b741 Revert commit rXXXXXX,Extract Go lib version from yo 1 week ago
ydb 0474cb45ab Replace logical ids with 0 in canonized files as it is done in dq_file (#11683) 5 hours ago
yql ce6c4c6e77 Merge branch 'rightlib' into mergelibs-yurchuk-manual 2 days ago
yt 6559ca8141 Fix various issues related to Decimal and Arrow 2 days ago
.arcadia.root bf0f13dd39 add ymake export to ydb 1 year ago
.gitignore e7a7fd1004 golang pg test (#8132) 2 months ago
.mapping.json dc3750a31c Remove hardcoded-cmake generator files 1 month ago
.piglet-meta.json f3ac725422 Intermediate changes 3 weeks ago
AUTHORS fa938ab62c Update email for Andrey Satarin 2 years ago
BUILD.md 9688a7397e Fix typos in BUILD.md and update "Install dependencies" section (#11213) 1 week ago
CODE_OF_CONDUCT.md dec67df320 fix broken link 2 years ago
CONTRIBUTING.md ff661730e2 Update CONTRIBUTING.md and LICENSE (#3119) 7 months ago
LICENSE f7ecaf6b8f Fix LICENSE text to autodetect by GitHub (#4338) 6 months ago
README.md 186c199a18 Update README.md (#4534) 6 months ago
ROADMAP.md b9dc6e7180 Update some records, add a link to Epics board. 2 months ago
SECURITY.md db479c3342 added security.md INFRAMARKETING-233 2 years ago
clang.toolchain 37265ded3a Fix typo in clang.toolchain (#10769) 3 weeks ago
conanfile.py 05531b0ec2 Replace conanfile.txt by conanfile.py (#10066) 1 month ago
generate_cmake 6db581e2a1 Exporting CMake with skip platforms with errors (#10067) 1 month ago
ya 84583be99a Automatic release build for test_tool, os_ya, ya_bin, os_test_tool 2 days ago
ya.bat 334072c735 Add ya.bat to ydb repo to use ya without python prefix 1 month ago
ya.conf ca9d454141 Intermediate changes 8 months ago

README.md


License Release Discord

YDB

Website | Documentation | Official Repository | Blog | YouTube | Discord | Telegram | LinkedIn | X

YDB is an open source Distributed SQL Database that combines high availability and scalability with strict consistency and ACID transactions.

YDB Product Video

Main YDB Advantages

YDB was designed from scratch to respond to the growing demand for scalable interactive web services. Scalability, strict consistency, and effective cross-row transactions were a must for such an OLTP-like workload. YDB was built by people with strong backgrounds in databases and distributed systems who have experience developing a NoSQL database and the MapReduce system for one of the largest search engines in the world.

Basic YDB features:

  • Both row-oriented and column-oriented tables for transactional and analytical workloads. Also, persistent queues (topics) for moving data around.
  • Fault-tolerant configuration that survives disk, node, rack, or even datacenter outages.
  • Automatic disaster recovery with minimum latency disruptions for applications.
  • Independent horizontal scalability of storage and compute layers.
  • ACID transactions across multiple nodes and tables with strict consistency.
  • Rich SQL dialect (YQL) for data manipulation and schema definition.
  • PostgreSQL-compatible mode for table operations and Kafka-compatible mode for topics.
  • YDB clusters can be deployed with Ansible, Kubernetes, or manually.

Fault-tolerant Configurations

YDB can be deployed in three availability zones (datacenters). A cluster remains available for both reads and writes during a 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 the capability to simply extend clusters with computation or storage resources to handle increasing load. YDB has disaggregated storage and compute layers, which allow you to scale storage and compute resources independently.

Current production installations have over 10000 nodes, store petabytes of data, and handle millions of distributed transactions per second.

Automatic Disaster Recovery

YDB's built-in automatic recovery support allows it to seamlessly survive hardware failures. After unpredictable disk, node, rack, or even datacenter failure, YDB remains fully available for reads and writes and automatically restores required data redundancy.

Multitenant and Serverless Database

YDB supports 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.

Supported Platforms

Minimal system requirements

YDB runs on x86 64-bit platforms with at least 8 GB of RAM.

Operating Systems

In most production environments, YDB runs on 64-bit x86 machines working under Ubuntu Linux.

For development purposes, it is regularly tested that YDB can be compiled and run under the latest versions of MacOS and Microsoft Windows.

Getting Started

If you want to experiment with YDB, start with the Quick Start guide. It will yield a single-node cluster suitable for functional testing, app development, and similar tasks.

Suppose you want to jump into more serious scenarios like testing YDB fault tolerance, running performance benchmarks, or even running production or preproduction workloads. In that case, you'll need a full-fledged multi-node YDB cluster that can be deployed with either Ansible for bare metal or virtual machines or Kubernetes for containers.

How to Build from Source Code

Instructions on how to build YDB server (ydbd) and client (ydb) binaries are provided in BUILD.md. Also, see documentation on Ya Make build system.

How to Contribute

We are glad to welcome new contributors! The contributor's guide provides more details on how to get started as a contributor.

There's also a separate section of YDB documentation for contributors, mostly with more technical content.

Success Stories

Visit YDB website for the latest success stories and user scenarios.