aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkungasc <kungasc@yandex-team.com>2023-09-22 13:06:03 +0300
committerkungasc <kungasc@yandex-team.com>2023-09-22 13:56:22 +0300
commit900ddf3894e2e8f244c25a2ba38d414a410f7961 (patch)
tree501d2387a1a090f5688ef6e1ec328eecb4ac8e83
parent324cb5794148d2294025c9a5ca40a0166bb293c1 (diff)
downloadydb-900ddf3894e2e8f244c25a2ba38d414a410f7961.tar.gz
Add kv workload mixed documentation
-rw-r--r--ydb/docs/en/core/reference/ydb-cli/workload-kv.md181
-rw-r--r--ydb/docs/ru/core/reference/ydb-cli/workload-kv.md137
2 files changed, 190 insertions, 128 deletions
diff --git a/ydb/docs/en/core/reference/ydb-cli/workload-kv.md b/ydb/docs/en/core/reference/ydb-cli/workload-kv.md
index c83ed5e705b..8f529f4d683 100644
--- a/ydb/docs/en/core/reference/ydb-cli/workload-kv.md
+++ b/ydb/docs/en/core/reference/ydb-cli/workload-kv.md
@@ -4,10 +4,12 @@ A simple load type using a YDB database as a Key-Value storage.
## Types of load {#workload-types}
-This load test runs 3 types of load:
-* [upsert](#upsert-kv): Using the UPSERT operation, inserts rows that are tuples (key, value1, value2, ... valueN) into the table created previously with the init command, the N number is specified in the settings.
+This load test runs several types of load:
+* [upsert](#upsert-kv): Using the UPSERT operation, inserts rows that are tuples (key1, key2, ... keyK, value1, value2, ... valueN) into the table created previously with the init command, the K and N numbers are specified in the settings.
* [insert](#insert-kv): The function is the same as the upsert load, only the INSERT operation is used for insertion.
* [select](#select-kv): Reads data using the SELECT * WHERE key = $key operation. A query always affects all table columns, but isn't always a point query, and the number of primary key variations can be controlled using parameters.
+* [read-rows](#read-rows-kv): Reads data using the ReadRows operation, which performs faster key reading than select operation. A query always affects all table columns, but isn't always a point query, and the number of primary key variations can be controlled using parameters.
+* [mixed](#mixed-kv): Simultaneously writes and reads data, additionally checking that all written data is successfully read.
## Load test initialization {#init}
@@ -27,29 +29,35 @@ View a description of the command to initialize the table:
### Available parameters {#init-options}
-| Parameter name | Parameter description |
+Parameter name | Parameter description
---|---
-| `--init-upserts <value>` | Number of insertion operations to be performed during initialization. Default: 1000. |
-| `--min-partitions` | Minimum number of shards for tables. Default: 40. |
-| `--auto-partition` | Enabling/disabling auto-sharding. Possible values: 0 or 1. Default: 1. |
-| `--max-first-key` | Maximum value of the primary key of the table. Default: $2^{64} — 1$. |
-| `--len` | The size of the rows in bytes that are inserted into the table as values. Default: 8. |
-| `--cols` | Number of columns in the table. Default: 2 counting Key. |
-| `--rows` | Number of affected rows in one query. Default: 1. |
+`--init-upserts <value>` | Number of insertion operations to be performed during initialization. Default: 1000.
+`--min-partitions` | Minimum number of shards for tables. Default: 40.
+`--partition-size` | Maximum size of one shard (the `AUTO_PARTITIONING_PARTITION_SIZE_MB` setting). Default: 2000.
+`--auto-partition` | Enabling/disabling auto-sharding. Possible values: 0 or 1. Default: 1.
+`--max-first-key` | Maximum value of the primary key of the table. Default: $2^{64} — 1$.
+`--len` | The size of the rows in bytes that are inserted into the table as values. Default: 8.
+`--cols` | Number of columns in the table. Default: 2 counting Key.
+`--int-cols` | Number of first columns in the table that will have the `Uint64` type; subsequent columns will have the `String` type. Default: 1.
+`--key-cols` | Number of first columns in the table included in the key. Default: 1.
+`--rows` | Number of affected rows in one query. Default: 1.
The following command is used to create a table:
```yql
CREATE TABLE `kv_test`(
- c0 Uint64,
- c1 String,
- c2 String,
+ c0 Uint64 NOT NULL,
+ c1 Uint64 NOT NULL,
...
- cN String,
- PRIMARY KEY(c0)) WITH (
+ cI Uint64 NOT NULL,
+ cI+1 String NOT NULL,
+ ...
+ cN String NOT NULL,
+ PRIMARY KEY(c0, c1, ... cK)) WITH (
AUTO_PARTITIONING_BY_LOAD = ENABLED,
AUTO_PARTITIONING_MIN_PARTITIONS_COUNT = partsNum,
UNIFORM_PARTITIONS = partsNum,
+ AUTO_PARTITIONING_PARTITION_SIZE_MB = partSize,
AUTO_PARTITIONING_MAX_PARTITIONS_COUNT = 1000
)
)
@@ -105,40 +113,26 @@ See the description of the command to run the data load:
### Global parameters for all types of load {#global-workload-options}
-| Parameter name | Short name | Parameter description |
+Parameter name | Short name | Parameter description
---|---|---
-| `--seconds <value>` | `-s <value>` | Duration of the test, in seconds. Default: 10. |
-| `--threads <value>` | `-t <value>` | The number of parallel threads creating the load. Default: 10. |
-| `--quiet` | - | Outputs only the total result. |
-| `--print-timestamp` | - | Print the time together with the statistics of each time window. |
-| `--client-timeout` | - | [Transport timeout in milliseconds](../../best_practices/timeouts.md). |
-| `--operation-timeout` | - | [Operation timeout in milliseconds](../../best_practices/timeouts.md). |
-| `--cancel-after` | - | [Timeout for canceling an operation in milliseconds](../../best_practices/timeouts.md). |
-| `--window` | - | Statistics collection window in seconds. Default: 1. |
-| `--max-first-key` | - | Maximum value of the primary key of the table. Default: $2^{64} - 1$. |
-| `--cols` | - | Number of columns in the table. Default: 2 counting Key. |
-| `--rows` | - | Number of affected rows in one query. Default: 1. |
+`--seconds <value>` | `-s <value>` | Duration of the test, in seconds. Default: 10.
+`--threads <value>` | `-t <value>` | The number of parallel threads creating the load. Default: 10.
+`--quiet` | - | Outputs only the total result.
+`--print-timestamp` | - | Print the time together with the statistics of each time window.
+`--client-timeout` | - | [Transport timeout in milliseconds](../../best_practices/timeouts.md).
+`--operation-timeout` | - | [Operation timeout in milliseconds](../../best_practices/timeouts.md).
+`--cancel-after` | - | [Timeout for canceling an operation in milliseconds](../../best_practices/timeouts.md).
+`--window` | - | Statistics collection window in seconds. Default: 1.
+`--max-first-key` | - | Maximum value of the primary key of the table. Default: $2^{64} - 1$.
+`--cols` | - | Number of columns in the table. Default: 2 counting Key.
+`--int-cols` | - | Number of first columns in the table that will have the `Uint64` type; subsequent columns will have the `String` type. Default: 1.
+`--key-cols` | - | Number of first columns in the table included in the key. Default: 1.
+`--rows` | - | Number of affected rows in one query. Default: 1.
## Upsert load {#upsert-kv}
This load type inserts tuples (key, value1, value2, ..., valueN)
-YQL query:
-
-```yql
-DECLARE r0 AS Uint64
-DECLARE c00 AS String;
-DECLARE c01 AS String;
-...
-DECLARE c0{N - 1} AS String;
-DECLARE r1 AS Uint64
-DECLARE c10 AS String;
-DECLARE c11 AS String;
-...
-DECLARE c1{N - 1} AS String;
-UPSERT INTO `kv_test`(c0, c1, ... cN) VALUES ( (r0, c00, ... c0{N - 1}), (r1, c10, ... c1{N - 1}), ... )
-```
-
To run this type of load, execute the command:
```bash
@@ -148,32 +142,28 @@ To run this type of load, execute the command:
* `global workload options`: [The global options for all types of load](#global-workload-options).
* `specific workload options`: [Options of a specific load type](#upsert-options).
+For example, for the parameters `--rows 2 --cols 3 --int-cols 2`, the YQL query will look like this:
+
+```yql
+DECLARE $c0_0 AS Uint64;
+DECLARE $c0_1 AS Uint64;
+DECLARE $c0_2 AS String;
+DECLARE $c1_0 AS Uint64;
+DECLARE $c1_1 AS Uint64;
+DECLARE $c1_2 AS String;
+UPSERT INTO `kv_test` (c0, c1, c2) VALUES ($c0_0, $c0_1, $c0_2), ($c1_0, $c1_1, $c1_2)
+```
+
### Parameters for upsert {#upsert-options}
-| Parameter name | Parameter description |
+Parameter name | Parameter description
---|---
-| `--len` | The size of the rows in bytes that are inserted into the table as values. Default: 8. |
+`--len` | The size of the rows in bytes that are inserted into the table as values. Default: 8.
## Insert load {#insert-kv}
This load type inserts tuples (key, value1, value2, ..., valueN)
-YQL query:
-
-```yql
-DECLARE r0 AS Uint64
-DECLARE c00 AS String;
-DECLARE c01 AS String;
-...
-DECLARE c0{N - 1} AS String;
-DECLARE r1 AS Uint64
-DECLARE c10 AS String;
-DECLARE c11 AS String;
-...
-DECLARE c1{N - 1} AS String;
-INSERT INTO `kv_test`(c0, c1, ... cN) VALUES ( (r0, c00, ... c0{N - 1}), (r1, c10, ... c1{N - 1}), ... )
-```
-
To run this type of load, execute the command:
```bash
@@ -183,35 +173,76 @@ To run this type of load, execute the command:
* `global workload options`: [The global options for all types of load](#global-workload-options).
* `specific workload options`: [Options of a specific load type](#insert-options).
+For example, for the parameters `--rows 2 --cols 3 --int-cols 2`, the YQL query will look like this:
+
+```yql
+DECLARE $c0_0 AS Uint64;
+DECLARE $c0_1 AS Uint64;
+DECLARE $c0_2 AS String;
+DECLARE $c1_0 AS Uint64;
+DECLARE $c1_1 AS Uint64;
+DECLARE $c1_2 AS String;
+INSERT INTO `kv_test` (c0, c1, c2) VALUES ($c0_0, $c0_1, $c0_2), ($c1_0, $c1_1, $c1_2)
+```
+
### Parameters for insert {#insert-options}
-| Parameter name | Parameter description |
+Parameter name | Parameter description
---|---
-| `--len` | The size of the rows in bytes that are inserted into the table as values. Default: 8. |
+`--len` | The size of the rows in bytes that are inserted into the table as values. Default: 8.
## Select load {#select-kv}
This type of load creates SELECT queries that return rows based on an exact match of the primary key.
-YQL query:
+To run this type of load, execute the command:
+
+```bash
+{{ ydb-cli }} workload kv run select [global workload options...]
+```
+
+* `global workload options`: [The global options for all types of load](#global-workload-options).
+
+For example, for the parameters `--rows 2 --cols 3 --int-cols 2`, the YQL query will look like this:
```yql
-DECLARE r0 AS Uint64
-DECLARE r1 AS Uint64
-...
-DECLARE rM AS Uint64
-SELECT * FROM `kv_test`(c0, c1, ..., cN) WHERE (
- c0 == r0 OR
- c0 == r1 OR
- ...
- c0 == rM
-)
+DECLARE $r0_0 AS Uint64;
+DECLARE $r0_1 AS Uint64;
+DECLARE $r1_0 AS Uint64;
+DECLARE $r1_1 AS Uint64;
+SELECT c0, c1, c2 FROM `kv_test` WHERE c0 = $r0_0 AND c1 = $r0_1 OR c0 = $r1_0 AND c1 = $r1_1
```
+## Read-rows load {#read-rows-kv}
+
+This type of load creates ReadRows queries that return rows based on an exact match of the primary key.
+
To run this type of load, execute the command:
```bash
-{{ ydb-cli }} workload kv run select [global workload options...]
+{{ ydb-cli }} workload kv run read-rows [global workload options...]
```
* `global workload options`: [The global options for all types of load](#global-workload-options).
+
+## Mixed load {#mixed-kv}
+
+This type of load simultaneously writes and reads tuples (key, value1, value2, ..., valueN), additionally checking that all written data is successfully read.
+
+To run this type of load, execute the command:
+
+```bash
+{{ ydb-cli }} workload kv run mixed [global workload options...] [specific workload options...]
+```
+
+* `global workload options`: [The global options for all types of load](#global-workload-options).
+* `specific workload options` - [Options of a specific load type](#mixed-options).
+
+### Parameters for mixed {#mixed-options}
+
+Parameter name | Parameter description
+---|---
+`--len` | The size of the rows in bytes that are inserted into the table as values. Default: 8.
+`--change-partitions-size` | Enabling/disabling random modification of the `AUTO_PARTITIONING_PARTITION_SIZE_MB` setting. Possible values: 0 or 1. Default: 0.
+`--do-select` | Enabling/disabling reads using the [select](#select-kv) query. Possible values: 0 or 1. Default: 1.
+`--do-read-rows` | Enabling/disabling reads using the [read-rows](#read-rows-kv) query. Possible values: 0 or 1. Default: 1. \ No newline at end of file
diff --git a/ydb/docs/ru/core/reference/ydb-cli/workload-kv.md b/ydb/docs/ru/core/reference/ydb-cli/workload-kv.md
index f794fe3b693..67282d41a5b 100644
--- a/ydb/docs/ru/core/reference/ydb-cli/workload-kv.md
+++ b/ydb/docs/ru/core/reference/ydb-cli/workload-kv.md
@@ -4,10 +4,12 @@
## Виды нагрузки {#workload-types}
-Данный нагрузочный тест содержит 3 вида нагрузки:
-* [upsert](#upsert-kv) — при помощи операции UPSERT вставляет в заранее созданную командой init таблицу строки, которые представляют из себя кортежи (key, value1, value2, ... valueN), число N задается в параметрах.
+Данный нагрузочный тест содержит несколько видов нагрузки:
+* [upsert](#upsert-kv) — при помощи операции UPSERT вставляет в заранее созданную командой init таблицу строки, которые представляют из себя кортежи (key1, key2, ... keyK, value1, value2, ... valueN), числа K и N задаются в параметрах.
* [insert](#insert-kv) — функционал такой же, как у нагрузки upsert, но для вставки используется операция INSERT.
* [select](#select-kv) — читает данные при помощи операции SELECT * WHERE key = $key. Запрос всегда затрагивает все колонки таблицы, но не всегда является точечным, количеством вариаций primary ключа можно управлять с помощью параметров.
+* [read-rows](#read-rows-kv) - читает данные при помощи операции ReadRows, выполняющей более быстрые чтения по ключу, чем select. Запрос всегда затрагивает все колонки таблицы, но не всегда является точечным, количеством вариаций primary ключа можно управлять с помощью параметров.
+* [mixed](#mixed-kv) - одновременно пишет и читает данные, дополнительно проверяя что все записанные данные успешно читаются.
## Инициализация нагрузочного теста {#init}
@@ -31,25 +33,31 @@
---|---
`--init-upserts <значение>` | Количество операций вставки, которые нужно сделать при инициализации. Значение по умолчанию: 1000.
`--min-partitions` | Минимальное количество шардов для таблиц. Значение по умолчанию: 40.
+`--partition-size` | Максимальный размер одной партиции (настройка `AUTO_PARTITIONING_PARTITION_SIZE_MB`). Значение по умолчанию 2000.
`--auto-partition` | Включение/выключение автошардирования. Возможные значения: 0 или 1. Значение по умолчанию: 1.
`--max-first-key` | Максимальное значение primary ключа таблицы. Значение по умолчанию: $2^{64} — 1$.
`--len` | Размер строк в байтах, которые вставляются в таблицу, как values. Значение по умолчанию: 8.
`--cols` | Количество колонок в таблице. Значение по умолчанию: 2, считая Key.
+`--int-cols` | Количество первых колонок в таблице которые будут иметь тип `Uint64`, последующие колонки будут иметь тип `String`. Значение по умолчанию 1.
+`--key-cols` | Количество первых колонок в таблице входящих в ключ. Значение по умолчанию 1.
`--rows` | Количество затрагиваемых строк в одном запросе. Значение по умолчанию: 1.
Для создания таблицы используется следующая команда:
```yql
CREATE TABLE `kv_test`(
- c0 Uint64,
- c1 String,
- c2 String,
+ c0 Uint64 NOT NULL,
+ c1 Uint64 NOT NULL,
...
- cN String,
- PRIMARY KEY(c0)) WITH (
+ cI Uint64 NOT NULL,
+ cI+1 String NOT NULL,
+ ...
+ cN String NOT NULL,
+ PRIMARY KEY(c0, c1, ... cK)) WITH (
AUTO_PARTITIONING_BY_LOAD = ENABLED,
AUTO_PARTITIONING_MIN_PARTITIONS_COUNT = partsNum,
UNIFORM_PARTITIONS = partsNum,
+ AUTO_PARTITIONING_PARTITION_SIZE_MB = partSize,
AUTO_PARTITIONING_MAX_PARTITIONS_COUNT = 1000
)
)
@@ -117,27 +125,13 @@ DROP TABLE `kv_test`
`--window` | - | Длительность окна сбора статистики в секундах. Значение по умолчанию: 1.
`--max-first-key` | - | Максимальное значение primary ключа таблицы. Значение по умолчанию: $2^{64} - 1$.
`--cols` | - | Количество колонок в таблице. Значение по умолчанию: 2, считая Key.
+`--int-cols` | - | Количество первых колонок в таблице которые будут иметь тип `Uint64`, последующие колонки будут иметь тип `String`. Значение по умолчанию 1.
+`--key-cols` | - | Количество первых колонок в таблице входящих в ключ. Значение по умолчанию 1.
`--rows` | - |Количество затрагиваемых строк в одном запросе. Значение по умолчанию: 1.
## Нагрузка upsert {#upsert-kv}
-Данный вид нагрузки вставляет кортежи (key, value1, value2, ..., valueN)
-
-YQL Запрос:
-
-```yql
-DECLARE r0 AS Uint64
-DECLARE c00 AS String;
-DECLARE c01 AS String;
-...
-DECLARE c0{N - 1} AS String;
-DECLARE r1 AS Uint64
-DECLARE c10 AS String;
-DECLARE c11 AS String;
-...
-DECLARE c1{N - 1} AS String;
-UPSERT INTO `kv_test`(c0, c1, ... cN) VALUES ( (r0, c00, ... c0{N - 1}), (r1, c10, ... c1{N - 1}), ... )
-```
+Данный вид нагрузки вставляет кортежи (key1, key2, ... keyK, value1, value2, ... valueN)
Для запуска данного вида нагрузки необходимо выполнить команду:
@@ -148,6 +142,18 @@ UPSERT INTO `kv_test`(c0, c1, ... cN) VALUES ( (r0, c00, ... c0{N - 1}), (r1, c1
* `global workload options` - [общие параметры для всех видов нагрузки](#global-workload-options).
* `specific workload options` - [параметры конкретного вида нагрузки](#upsert-options).
+Например для параметров `--rows 2 --cols 3 --int-cols 2` YQL Запрос будет выглядеть так:
+
+```yql
+DECLARE $c0_0 AS Uint64;
+DECLARE $c0_1 AS Uint64;
+DECLARE $c0_2 AS String;
+DECLARE $c1_0 AS Uint64;
+DECLARE $c1_1 AS Uint64;
+DECLARE $c1_2 AS String;
+UPSERT INTO `kv_test` (c0, c1, c2) VALUES ($c0_0, $c0_1, $c0_2), ($c1_0, $c1_1, $c1_2)
+```
+
### Параметры для upsert {#upsert-options}
Имя параметра | Описание параметра
@@ -156,23 +162,7 @@ UPSERT INTO `kv_test`(c0, c1, ... cN) VALUES ( (r0, c00, ... c0{N - 1}), (r1, c1
## Нагрузка insert {#insert-kv}
-Данный вид нагрузки вставляет кортежи (key, value1, value2, ..., valueN)
-
-YQL Запрос:
-
-```yql
-DECLARE r0 AS Uint64
-DECLARE c00 AS String;
-DECLARE c01 AS String;
-...
-DECLARE c0{N - 1} AS String;
-DECLARE r1 AS Uint64
-DECLARE c10 AS String;
-DECLARE c11 AS String;
-...
-DECLARE c1{N - 1} AS String;
-INSERT INTO `kv_test`(c0, c1, ... cN) VALUES ( (r0, c00, ... c0{N - 1}), (r1, c10, ... c1{N - 1}), ... )
-```
+Данный вид нагрузки вставляет кортежи (key1, key2, ... keyK, value1, value2, ... valueN)
Для запуска данного вида нагрузки необходимо выполнить команду:
@@ -183,6 +173,18 @@ INSERT INTO `kv_test`(c0, c1, ... cN) VALUES ( (r0, c00, ... c0{N - 1}), (r1, c1
* `global workload options` - [общие параметры для всех видов нагрузки](#global-workload-options).
* `specific workload options` - [параметры конкретного вида нагрузки](#insert-options).
+Например для параметров `--rows 2 --cols 3 --int-cols 2` YQL Запрос будет выглядеть так:
+
+```yql
+DECLARE $c0_0 AS Uint64;
+DECLARE $c0_1 AS Uint64;
+DECLARE $c0_2 AS String;
+DECLARE $c1_0 AS Uint64;
+DECLARE $c1_1 AS Uint64;
+DECLARE $c1_2 AS String;
+INSERT INTO `kv_test` (c0, c1, c2) VALUES ($c0_0, $c0_1, $c0_2), ($c1_0, $c1_1, $c1_2)
+```
+
### Параметры для insert {#insert-options}
Имя параметра | Описание параметра
@@ -193,25 +195,54 @@ INSERT INTO `kv_test`(c0, c1, ... cN) VALUES ( (r0, c00, ... c0{N - 1}), (r1, c1
Данный вид нагрузки создает SELECT запросы, возвращающие строки по точному совпадению primary ключа.
-YQL Запрос:
+Для запуска данного вида нагрузки необходимо выполнить команду:
+
+```bash
+{{ ydb-cli }} workload kv run select [global workload options...]
+```
+
+* `global workload options` - [общие параметры для всех видов нагрузки](#global-workload-options).
+
+Например для параметров `--rows 2 --cols 3 --int-cols 2 --key-cols 2` YQL Запрос будет выглядеть так:
```yql
-DECLARE r0 AS Uint64
-DECLARE r1 AS Uint64
-...
-DECLARE rM AS Uint64
-SELECT * FROM `kv_test`(c0, c1, ..., cN) WHERE (
- c0 == r0 OR
- c0 == r1 OR
- ...
- c0 == rM
-)
+DECLARE $r0_0 AS Uint64;
+DECLARE $r0_1 AS Uint64;
+DECLARE $r1_0 AS Uint64;
+DECLARE $r1_1 AS Uint64;
+SELECT c0, c1, c2 FROM `kv_test` WHERE c0 = $r0_0 AND c1 = $r0_1 OR c0 = $r1_0 AND c1 = $r1_1
```
+## Нагрузка read-rows {#read-rows-kv}
+
+Данный вид нагрузки создает ReadRows запросы, возвращающие строки по точному совпадению primary ключа.
+
Для запуска данного вида нагрузки необходимо выполнить команду:
```bash
-{{ ydb-cli }} workload kv run select [global workload options...]
+{{ ydb-cli }} workload kv run read-rows [global workload options...]
+```
+
+* `global workload options` - [общие параметры для всех видов нагрузки](#global-workload-options).
+
+## Нагрузка mixed {#mixed-kv}
+
+Данный вид нагрузки одновременно вставляет и читает кортежи (key1, key2, ... keyK, value1, value2, ... valueN), дополнительно проверяя что все записанные данные успешно читаются.
+
+Для запуска данного вида нагрузки необходимо выполнить команду:
+
+```bash
+{{ ydb-cli }} workload kv run mixed [global workload options...] [specific workload options...]
```
* `global workload options` - [общие параметры для всех видов нагрузки](#global-workload-options).
+* `specific workload options` - [параметры конкретного вида нагрузки](#mixed-options).
+
+### Параметры для mixed {#mixed-options}
+
+Имя параметра | Описание параметра
+---|---
+`--len` | Размер строк в байтах, которые вставляются в таблицу, как values. Значение по умолчанию: 8.
+`--change-partitions-size` | Включение/выключение случайного изменения настройки `AUTO_PARTITIONING_PARTITION_SIZE_MB`. Возможные значения: 0 или 1. Значение по умолчанию: 0.
+`--do-select` | Включение/выключение чтений при помощи запроса [select](#select-kv). Возможные значения: 0 или 1. Значение по умолчанию: 1.
+`--do-read-rows` | Включение/выключение чтений при помощи запроса [read-rows](#read-rows-kv). Возможные значения: 0 или 1. Значение по умолчанию: 1. \ No newline at end of file