You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+25-31
Original file line number
Diff line number
Diff line change
@@ -22,73 +22,67 @@ YDB is an open source Distributed SQL Database that combines high availability a
22
22
23
23
## Main YDB Advantages
24
24
25
-
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.
26
-
We found that YDB's flexible design allows us to build more services on top of it including persistent queues and virtual block devices.
25
+
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.
27
26
28
27
Basic YDB features:
29
28
30
-
- Fault-tolerant configuration that survive disk, node, rack or even datacenter outage;
31
-
- Horizontal scalability;
32
-
- Automatic disaster recovery with minimum latency disruptions for applications;
33
-
- SQL dialect (YQL) for data manipulation and scheme definition;
34
-
- ACID transactions across multiple nodes and tables with strict consistency.
29
+
- Both row-oriented and column-oriented [tables](https://ydb.tech/docs/en/concepts/datamodel/table) for transactional and analytical workloads. Also, [persistent queues (topics)](https://ydb.tech/docs/en/concepts/topic) for moving data around.
30
+
- Fault-tolerant configuration that survives disk, node, rack, or even datacenter outages.
31
+
- Automatic disaster recovery with minimum latency disruptions for applications.
32
+
- Independent horizontal scalability of storage and compute layers.
33
+
- ACID transactions across multiple nodes and tables with strict consistency.
34
+
- Rich [SQL dialect (YQL)](https://ydb.tech/docs/en/yql/reference/) for data manipulation and schema definition.
35
+
-[PostgreSQL-compatible mode](https://ydb.tech/docs/en/postgresql/intro) for table operations and [Kafka-compatible mode](https://ydb.tech/docs/en/reference/kafka-api/) for topics.
36
+
- YDB clusters can be deployed with [Ansible](https://ydb.tech/docs/en/devops/ansible/), [Kubernetes](https://ydb.tech/docs/en/devops/kubernetes/), or [manually](https://ydb.tech/docs/en/devops/manual/).
35
37
36
38
### Fault-tolerant Configurations
37
39
38
-
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](https://ydb.tech/en/docs/concepts/databases#regions-az).
40
+
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](https://ydb.tech/en/docs/concepts/databases#regions-az).
39
41
40
42
### Horizontal Scalability
41
43
42
-
Unlike traditional relational databases YDB [scales out](https://en.wikipedia.org/wiki/Scalability#Horizontal_or_scale_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.
44
+
Unlike traditional relational databases, YDB [scales out](https://en.wikipedia.org/wiki/Scalability#Horizontal_or_scale_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.
43
45
44
-
Current production installations have more than 10,000 nodes, store petabytes of data and handle millions distributed transactions per second.
46
+
Current production installations have over 10000 nodes, store petabytes of data, and handle millions of distributed transactions per second.
45
47
46
48
### Automatic Disaster Recovery
47
49
48
-
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.
50
+
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.
49
51
50
52
### Multitenant and Serverless Database
51
-
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.
53
+
54
+
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.
52
55
53
56
## Supported Platforms
54
57
55
58
### Minimal system requirements
56
59
57
-
YDB runs on x86 64bit platforms with minimum 8 GB of RAM.
60
+
YDB runs on x86 64-bit platforms with at least 8 GB of RAM.
58
61
59
62
### Operating Systems
60
63
61
-
We have major experience running production systems on 64-bit x86 machines working under Ubuntu Linux.
64
+
In most production environments, YDB runs on 64-bit x86 machines working under Ubuntu Linux.
62
65
63
-
For development purposes we test that YDB could be built and run under latest versions of MacOS and Microsoft Windows on a regular basis.
66
+
For development purposes, it is regularly tested that YDB can be compiled and run under the latest versions of MacOS and Microsoft Windows.
64
67
65
68
## Getting Started
66
69
67
-
1. Install YDB using [pre-built executables](https://ydb.tech/en/docs/getting_started/self_hosted/ydb_local), [build it from source](BUILD.md) or [use Docker container](https://ydb.tech/en/docs/getting_started/self_hosted/ydb_docker).
68
-
1. Install [command line interface](https://ydb.tech/en/docs/getting_started/cli) tool to work with scheme and run queries.
69
-
1. Start [local cluster](https://ydb.tech/en/docs/getting_started/self_hosted/ydb_local) or container and run [YQL query](https://ydb.tech/en/docs/yql/reference/) via [YDB CLI](https://ydb.tech/en/docs/getting_started/cli).
70
-
1. Access [Embedded UI](https://ydb.tech/en/docs/maintenance/embedded_monitoring/) via browser for schema navigation, query execution and other database development related tasks.
71
-
1. Run available [example application](https://ydb.tech/en/docs/reference/ydb-sdk/example/go/).
72
-
1. Develop an application using [YDB SDK](https://ydb.tech/en/docs/reference/ydb-sdk/).
70
+
If you want to experiment with YDB, start with the [Quick Start guide](https://ydb.tech/docs/en/quickstart). It will yield a single-node cluster suitable for functional testing, app development, and similar tasks.
73
71
74
-
## How to Build from Source Code
75
-
* Build server (ydbd) and client (ydb) binaries [from source code](BUILD.md).
72
+
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](https://ydb.tech/docs/en/devops/ansible/initial-deployment) for bare metal or virtual machines or [Kubernetes](https://ydb.tech/docs/en/devops/kubernetes/initial-deployment) for containers.
76
73
77
-
## How to Deploy
74
+
## How to Build from Source Code
78
75
79
-
* Deploy a cluster [using Kubernetes](https://ydb.tech/en/docs/deploy/orchestrated/concepts).
80
-
* Deploy a cluster using [pre-built executables](https://ydb.tech/en/docs/getting_started/self_hosted/ydb_local).
76
+
Instructions on how to build YDB server (ydbd) and client (ydb) binaries are provided in [BUILD.md](BUILD.md). Also, see documentation on [Ya Make build system](https://ydb.tech/docs/en/contributor/build-ya).
81
77
82
78
## How to Contribute
83
79
84
-
We are glad to welcome new contributors!
80
+
We are glad to welcome new contributors! The [contributor's guide](CONTRIBUTING.md) provides more details on how to get started as a contributor.
85
81
86
-
1. Please read the [contributor's guide](CONTRIBUTING.md).
87
-
2. We can accept your work to YDB after you have signed contributor's license agreement (aka CLA).
88
-
3. Please don't forget to add a note to your pull request, that you agree to the terms of the CLA.
82
+
There's also a separate section of [YDB documentation for contributors](https://ydb.tech/docs/en/contributor/), mostly with more technical content.
89
83
90
84
## Success Stories
91
85
92
-
Take a look at YDB [web site](https://ydb.tech/) for the latest success stories and user scenarios.
86
+
Visit YDB [website](https://ydb.tech/) for the latest success stories and user scenarios.
0 commit comments