Skip to content

Commit 23c9255

Browse files
ADD OLAP in YDB-CLI and SDK (#9067)
Co-authored-by: Ivan Blinkov <ivan@ydb.tech>
1 parent 21a8b2e commit 23c9255

File tree

12 files changed

+84
-38
lines changed

12 files changed

+84
-38
lines changed

ydb/docs/ru/core/reference/ydb-cli/_includes/commands.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -52,23 +52,23 @@ scheme permissions revoke | Удаление разрешения
5252
scheme permissions set | Установка разрешений
5353
[scheme rmdir](../commands/dir.md#rmdir) | Удаление директории
5454
[scripting yql](../scripting-yql.md) | Выполнение YQL-скрипта
55-
table attribute add | Добавление атрибута таблицы
56-
table attribute drop | Удаление атрибута таблицы
57-
[table drop](../table-drop.md) | Удаление таблицы
58-
[table index add global-async](../commands/secondary_index.md#add) | Добавление асинхронного индекса
59-
[table index add global-sync](../commands/secondary_index.md#add) | Добавление синхронного индекса
60-
[table index drop](../commands/secondary_index.md#drop) | Удаление индекса
55+
table attribute add | Добавление атрибута для строкой или колоночной таблицы
56+
table attribute drop | Удаление атрибута у строковой или колоночной таблицы
57+
[table drop](../table-drop.md) | Удаление строковой или колоночной таблицы
58+
[table index add global-async](../commands/secondary_index.md#add) | Добавление асинхронного индекса для строковых таблиц
59+
[table index add global-sync](../commands/secondary_index.md#add) | Добавление синхронного индекса для строковых таблиц
60+
[table index drop](../commands/secondary_index.md#drop) | Удаление индекса у строковых таблиц
6161
[table query execute](../table-query-execute.md) | Исполнение YQL-запроса
6262
[table query explain](../commands/explain-plan.md) | План исполнения YQL-запроса
63-
[table read](../commands/readtable.md) | Потоковое чтение таблицы
64-
[table ttl set](../table-ttl-set.md) | Установка параметров TTL
65-
[table ttl reset](../table-ttl-reset.md) | Сброс параметров TTL
63+
[table read](../commands/readtable.md) | Потоковое чтение строковой таблицы
64+
[table ttl set](../table-ttl-set.md) | Установка параметров TTL для строковых и колоночных таблиц
65+
[table ttl reset](../table-ttl-reset.md) | Сброс параметров TTL для строковых и колоночных таблиц
6666
[tools copy](../tools-copy.md) | Копирование таблиц
67-
[tools dump](../export-import/tools-dump.md) | Выгрузка директории или таблицы в файловую систему
67+
[tools dump](../export-import/tools-dump.md) | Выгрузка директории или таблиц в файловую систему
6868
{% if ydb-cli == "ydb" %}
6969
[tools pg-convert](../../../postgresql/import.md#pg-convert) | Конвертация дампа PostgreSQL, полученного утилитой pg_dump, в формат, понятный YDB
7070
{% endif %}
71-
[tools rename](../commands/tools/rename.md) | Переименование таблиц
71+
[tools rename](../commands/tools/rename.md) | Переименование строковых таблиц
7272
[tools restore](../export-import/tools-restore.md) | Восстановление из файловой системы
7373
[topic create](../topic-create.md) | Создание топика
7474
[topic alter](../topic-alter.md) | Модификация параметров топика и перечня читателей

ydb/docs/ru/core/reference/ydb-cli/_includes/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
* [Получение информации об объекте схемы](../commands/scheme-describe.md).
1111
* [Работа с директориями](../commands/dir.md).
1212
* [Выполнение YQL](../yql-query-overview.md).
13-
* [Потоковое чтение таблицы](../commands/readtable.md).
13+
* [Потоковое чтение строковых таблиц](../commands/readtable.md).
1414
* [Работа со вторичными индексами](../commands/secondary_index.md).
1515
* [Получение списка эндпоинтов для базы данных](../commands/discovery-list.md).
1616
* [Нагрузочное тестирование](../commands/workload/index.md).

ydb/docs/ru/core/reference/ydb-cli/commands/_includes/readtable.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
# Потоковое чтение таблицы
1+
# Потоковое чтение строковой таблицы
2+
3+
{% include [not_allow_for_olap_note](../../../../_includes/not_allow_for_olap_note.md) %}
24

35
Чтобы прочитать снапшот таблицы целиком, используйте подкоманду `read`. Данные передаются в виде стрима, что позволяет прочитать таблицу произвольного размера.
46

ydb/docs/ru/core/reference/ydb-cli/commands/_includes/secondary_index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Создание и удаление вторичных индексов
22

3+
{% include [not_allow_for_olap_note](../../../../_includes/not_allow_for_olap_note.md) %}
4+
35
Команда `table index` позволяет создавать и удалять [вторичные индексы](../../../../concepts/secondary_indexes.md):
46

57
```bash

ydb/docs/ru/core/reference/ydb-cli/commands/_includes/tools/rename.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
# Переименование таблицы
1+
# Переименование строковых таблиц
22

3-
С помощью подкоманды `tools rename` вы можете [переименовать](../../../../../concepts/datamodel/table.md#rename) одну или несколько таблиц одновременно, перенести таблицу в другую директорию в пределах той же БД, заменить одну таблицу другой в рамках одной транзакции.
3+
{% include [not_allow_for_olap_note](../../../../../_includes/not_allow_for_olap_note.md) %}
4+
5+
С помощью подкоманды `tools rename` вы можете [переименовать](../../../../../concepts/datamodel/table.md#rename) одну или несколько строковых таблиц одновременно, перенести таблицу в другую директорию в пределах той же БД, заменить одну таблицу другой в рамках одной транзакции.
46

57
Общий вид команды:
68

@@ -11,7 +13,7 @@
1113
* `global options`[глобальные параметры](../../../commands/global-options.md).
1214
* `options`[параметры подкоманды](#options).
1315

14-
Посмотрите описание команды для переименования таблицы:
16+
Посмотрите описание команды для переименования строковых таблицы:
1517

1618
```bash
1719
{{ ydb-cli }} tools rename --help

ydb/docs/ru/core/reference/ydb-cli/commands/workload/_includes/stock.md

Lines changed: 44 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Stock нагрузка
22

3+
{% include [not_allow_for_olap_note](../../../../../_includes/not_allow_for_olap_note.md) %}
4+
35
Симулирует работу склада интернет-магазина: создание заказов из нескольких товаров, получение списка заказов по клиенту.
46

57
## Виды нагрузки {#workload_types}
@@ -10,11 +12,11 @@
1012
* [rand-user-hist](#get-random-customer-history) - читает заданное количество заказов у случайно выбранного покупателя. Создается нагрузка на чтение из разных потоков.
1113
* [add-rand-order](#insert-random-order) - создает случайно сгенерированный заказ. Например, клиент создал заказ из 2 товаров, но еще не оплатил его, поэтому остатки товаров не снижаются. В БД записывается информация о заказе и товарах. Создается нагрузка на запись и чтение (insert перед вставкой проверяет есть ли уже запись).
1214
* [put-rand-order](#submit-random-order) - создает и обрабатывает случайно сгенерированный заказ. Например, покупатель создал и оплатил заказ из 2 товаров. В БД записывается информация о заказе, товарах, проверяется их наличие и уменьшаются остатки. Создается смешанная нагрузка.
13-
* [put-same-order](#submit-same-order) - создает заказы с одним и тем же набором товаров. Например, все покупатели покупают один и тот же набор товаров (только что вышедший телефон и заряжающее устройство). Создается нагрузка в виде конкурентного обновления одних и тех же строк в таблице.
15+
* [put-same-order](#submit-same-order) - создает заказы с одним и тем же набором товаров. Например, все покупатели покупают один и тот же набор товаров (только что вышедший телефон и заряжающее устройство). Создается нагрузка в виде конкурентного обновления одних и тех же строк в строковой таблице.
1416

1517
## Инициализация нагрузочного теста {#init}
1618

17-
Для начала работы необходимо создать таблицы и заполнить их данными:
19+
Для начала работы необходимо создать строковую таблицы и заполнить их данными:
1820

1921
```bash
2022
{{ ydb-cli }} workload stock init [init options...]
@@ -38,12 +40,48 @@
3840
`--min-partitions <значение>` | - | Минимальное количество шардов для таблиц. Значение по умолчанию: 40.
3941
`--auto-partition <значение>` | - | Включение/выключение автошардирования. Возможные значения: 0 или 1. Значение по умолчанию: 1.
4042

41-
Создаются 3 таблицы со следующими DDL:
43+
44+
Создаются 3 строковые таблицы со следующими DDL:
4245

4346
```yql
44-
CREATE TABLE `stock`(product Utf8, quantity Int64, PRIMARY KEY(product)) WITH (AUTO_PARTITIONING_BY_LOAD = ENABLED, AUTO_PARTITIONING_MIN_PARTITIONS_COUNT = <min-partitions>);
45-
CREATE TABLE `orders`(id Uint64, customer Utf8, created Datetime, processed Datetime, PRIMARY KEY(id), INDEX ix_cust GLOBAL ON (customer, created)) WITH (READ_REPLICAS_SETTINGS = "per_az:1", AUTO_PARTITIONING_BY_LOAD = ENABLED, AUTO_PARTITIONING_MIN_PARTITIONS_COUNT = <min-partitions>, UNIFORM_PARTITIONS = <min-partitions>, AUTO_PARTITIONING_MAX_PARTITIONS_COUNT = 1000);
46-
CREATE TABLE `orderLines`(id_order Uint64, product Utf8, quantity Int64, PRIMARY KEY(id_order, product)) WITH (AUTO_PARTITIONING_BY_LOAD = ENABLED, AUTO_PARTITIONING_MIN_PARTITIONS_COUNT = <min-partitions>, UNIFORM_PARTITIONS = <min-partitions>, AUTO_PARTITIONING_MAX_PARTITIONS_COUNT = 1000);
47+
CREATE TABLE `stock`(
48+
product Utf8,
49+
quantity Int64,
50+
PRIMARY KEY(product)
51+
)
52+
WITH (
53+
AUTO_PARTITIONING_BY_LOAD = ENABLED,
54+
AUTO_PARTITIONING_MIN_PARTITIONS_COUNT = <min-partitions>
55+
);
56+
57+
CREATE TABLE `orders`(
58+
id Uint64,
59+
customer Utf8,
60+
created Datetime,
61+
processed Datetime,
62+
PRIMARY KEY(id),
63+
INDEX ix_cust GLOBAL ON (customer, created)
64+
)
65+
WITH (
66+
READ_REPLICAS_SETTINGS = "per_az:1",
67+
AUTO_PARTITIONING_BY_LOAD = ENABLED,
68+
AUTO_PARTITIONING_MIN_PARTITIONS_COUNT = <min-partitions>,
69+
UNIFORM_PARTITIONS = <min-partitions>,
70+
AUTO_PARTITIONING_MAX_PARTITIONS_COUNT = 1000
71+
);
72+
73+
CREATE TABLE `orderLines`(
74+
id_order Uint64,
75+
product Utf8,
76+
quantity Int64,
77+
PRIMARY KEY(id_order, product)
78+
)
79+
WITH (
80+
AUTO_PARTITIONING_BY_LOAD = ENABLED,
81+
AUTO_PARTITIONING_MIN_PARTITIONS_COUNT = <min-partitions>,
82+
UNIFORM_PARTITIONS = <min-partitions>,
83+
AUTO_PARTITIONING_MAX_PARTITIONS_COUNT = 1000
84+
);
4785
```
4886

4987
### Примеры инициализации нагрузки {#init-stock-examples}

ydb/docs/ru/core/reference/ydb-cli/parameterized-queries-cli.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
{% note warning %}
1616

17-
Из всех команд исполнения YQL-запросов только команда `table query execute` применяет политики повторных попыток, обеспечивающие надежное исполнение запросов и продолжение работы при изменении набора партиций в таблицах, а также других стандартных ситауциях в распределенной базе данных, вызывающих кратковременную невозможность выполнения операций над частью данных.
17+
Из всех команд исполнения YQL-запросов только команда `table query execute` применяет политики повторных попыток, обеспечивающие надежное исполнение запросов и продолжение работы при изменении набора партиций в таблицах, а также других стандартных ситуаций в распределенной базе данных, вызывающих кратковременную невозможность выполнения операций над частью данных.
1818

1919
{% endnote %}
2020

@@ -483,11 +483,13 @@ for i in $(seq 1 200);do echo "Line$i";done | \
483483
{"count":20,"p2":10,"items":["Line181","Line182","Line183","Line184","Line185","Line186","Line187","Line188","Line189","Line190","Line191","Line192","Line193","Line194","Line195","Line196","Line197","Line198","Line199","Line200"]}
484484
```
485485

486-
#### Удаление множества записей из таблицы YDB по первичным ключам {#example-adaptive-delete-pk}
486+
#### Удаление множества записей из строковой таблицы {{ ydb-short-name }} по первичным ключам {#example-adaptive-delete-pk}
487487

488-
Данный пример показывает как можно удалять неограниченное количество записей из таблиц YDB, не рискуя превысить ограничения на количество записей в транзакции.
488+
{% include [not_allow_for_olap_note](../../_includes/not_allow_for_olap_note.md) %}
489489

490-
Создадим тестовую таблицу:
490+
Данный пример показывает как можно удалять неограниченное количество записей из строковых таблиц {{ ydb-short-name }}, не рискуя превысить ограничения на количество записей в транзакции.
491+
492+
Создадим тестовую строковую таблицу:
491493

492494
```bash
493495
{{ ydb-cli }} -p quickstart yql -s 'create table test_delete_1( id UInt64 not null, primary key (id))'

ydb/docs/ru/core/reference/ydb-cli/scripting-yql.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151

5252
{% include [ydb-cli-profile](../../_includes/ydb-cli-profile.md) %}
5353

54-
Скрипт создания таблицы, заполнения её данными, и получения выборки из этой таблицы:
54+
Скрипт создания строковой таблицы, заполнения её данными, и получения выборки из этой таблицы:
5555

5656
```bash
5757
{{ ydb-cli }} -p quickstart scripting yql -s '

ydb/docs/ru/core/reference/ydb-cli/workload-kv.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Key-Value нагрузка
22

3-
Простой вид нагрузки, использующий БД YDB как Key-Value хранилище.
3+
Простой вид нагрузки, использующий БД {{ ydb-short-name }} как Key-Value хранилище.
44

55
## Виды нагрузки {#workload-types}
66

ydb/docs/ru/core/reference/ydb-cli/yql.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050

5151
{% include [ydb-cli-profile](../../_includes/ydb-cli-profile.md) %}
5252

53-
Скрипт создания таблицы, заполнения её данными, и получения выборки из этой таблицы:
53+
Скрипт создания строковой таблицы, заполнения её данными, и получения выборки из этой таблицы:
5454

5555
```bash
5656
{{ ydb-cli }} -p quickstart yql -s '

0 commit comments

Comments
 (0)