No Description https://ydb.tech/

Andrey Fomichev 9d2d09b390 update according to feedback (KIKIMR-14046) 3 years ago
build 8e1413fed7 intermediate changes 3 years ago
certs 1110808a9d intermediate changes 3 years ago
contrib 8e1413fed7 intermediate changes 3 years ago
library 3bc7755707 add sensor label KIKIMR-12474 3 years ago
tools 1110808a9d intermediate changes 3 years ago
util 6b813c17d5 SpinLockPause for arm64 3 years ago
ydb 3bc7755707 add sensor label KIKIMR-12474 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 03edfd7d46 looks final to me KIKIMR-14046 3 years ago
ya 1110808a9d intermediate changes 3 years ago
ya.bat 1110808a9d intermediate changes 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 a fault-tolerant Distributed SQL DBMS that combines high availability and scalability and supports ACID transactions with strict consistency.

Main YDB advantages

YDB is not based on any existent database management software that's why YDB development team has less boundaries in implementing DistributedSQL database for modern applications.

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
  • Standard SQL for data manipulation and scheme definition
  • ACID transactions across multiple nodes and tables with strict consistency

Fault-tolerant configurations

YDB Platform could be deployed in three different zones. Cluster remains both read and write available during complete outage of a single zone (datacenter).

Clusters. 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.