No Description https://ydb.tech/

ijon fcd93d3533 Restoring authorship annotation for <ijon@yandex-team.ru>. Commit 2 of 2. 3 years ago
build ff241e1daf Restoring authorship annotation for <iddqd@yandex-team.ru>. Commit 2 of 2. 3 years ago
certs 83a8efcf3a Restoring authorship annotation for <snowball@yandex-team.ru>. Commit 2 of 2. 3 years ago
contrib 85e7b8b43a Restoring authorship annotation for <avnikitenko@yandex-team.ru>. Commit 2 of 2. 3 years ago
library fcd93d3533 Restoring authorship annotation for <ijon@yandex-team.ru>. Commit 2 of 2. 3 years ago
tools 53d07fb9e2 Restoring authorship annotation for <darkk@yandex-team.ru>. Commit 2 of 2. 3 years ago
util 570af55299 Restoring authorship annotation for <uht@yandex-team.ru>. Commit 2 of 2. 3 years ago
ydb 3bf10d3f40 Restoring authorship annotation for <ddoarn@yandex-team.ru>. Commit 2 of 2. 3 years ago
.arcadia.root 1110808a9d intermediate changes 3 years ago
AUTHORS 9d2d09b390 update according to feedback (KIKIMR-14046) 3 years ago
CODE_OF_CONDUCT.md 1110808a9d intermediate changes 3 years ago
CONTRIBUTING 1110808a9d intermediate changes 3 years ago
LICENSE 1110808a9d intermediate changes 3 years ago
README.md 710e1f0188 update README (KIKIMR-14046) 3 years ago
ya 22c3a4d3d1 intermediate changes 3 years ago
ya.bat a61e8c559b Restoring authorship annotation for <arcadia-devtools@yandex-team.ru>. Commit 2 of 2. 3 years ago
ya.conf 1110808a9d intermediate changes 3 years ago
ya.make 1110808a9d intermediate changes 3 years ago

README.md


License PyPI version Telegram

YDB Platform

Website | Documentation | Official Repository | YouTube Channel

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

Main YDB Advantages

YDB was 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 was 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 the one of the largest search engine in the world. We found that YDB's flexibles 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 different availability zones. Cluster remains both read and write available during complete outage of a single zone.

Availability zones and regions are covered in more detail in documentation.

Horizontal scalability

Unlike traditional RDMBS YDB scales out providing developers with capability to simply extends cluster with computation or storage resources to handle increasing load.

Current production installations have more than 10,000 nodes, store petabytes of data and handle more than 100,000 distributed transactions per second.

Automatic disaster recovery

YDB Platform has built-in automatic recovery in case of a hardware failure. After unpredictable disk, node, rack or even datacenter failure YDB platform remains fully available for read and write load. No manual intervention required.

Supported platforms

Minimal system requirements

YDB runs on x86 64bit platforms with minimum 8 GB of RAM.

Operating systems

We have major experience running production systems on 64-bit x86 machines working under Ubuntu Linux.

For development purposes we test that YDB could be built and run under latest versions of MacOS and Microsoft Windows on a regular basis.

Getting started in 5 minutes

  1. Install YDB using pre-built executables, build it from source or use Docker container.
  2. Install command line interace tool to work with scheme and run queries.
  3. Start local cluster or container and run YQL query via YDB CLI.
  4. Access Embedded UI via browser for schema navigation, query execution and other database development related tasks.
  5. Run available example application.
  6. Develop an application using YDB SDK

How to build

Prerequisites

In order to build ydbd you should have following tools installed on your system:

  1. Git command line tool
  2. clang 11 or higher
  3. python
  4. cmake
  5. antlr3
  6. libantlr3c
  7. libantlr3c-dev

Building YDB Embedded UI requires following tools:

  1. NVM – a version manager for node.js
  2. NPM – node package manager

Build process

Build embedded UI

  1. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
  2. nvm install 14
  3. git clone https://github.yandex-team.ru/data-ui/ydb-embedded-ui-opensource
  4. cd ydb-embedded-ui-opensource
  5. npm ci
  6. npm run build:embedded
  7. cd ../

Build ydbd

  1. git clone https://github.com/ydb-platform/ydb.git
  2. cp -r ../ydb-embedded-ui-opensource/build/* ydb/core/viewer/monitoring/
  3. cd ydb/apps/ydbd
  4. cmake ../ && make

How to deploy

How to contribute

We are glad to welcome new contributors to YDB Platform project!

  1. Please read contributor's guide.
  2. We can accept your work to YDB Platform after you have read CLA text.
  3. Please don't forget to add a note to your pull request, that you agree to the terms of the CLA. More information can be found in CONTRIBUTING file.

Success stories

See YDB Platform official web site for the latest success stories and projects using YDB Platform.