Skip to content

Commit

Permalink
Rebase YQL CREATE (ydb-platform#8306)
Browse files Browse the repository at this point in the history
  • Loading branch information
Pseudolukian authored Aug 28, 2024
1 parent 0628f08 commit ae312b3
Show file tree
Hide file tree
Showing 20 changed files with 362 additions and 19 deletions.
2 changes: 1 addition & 1 deletion ydb/docs/ru/core/concepts/_includes/secondary_indexes.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@

Вторичный индекс может быть:

- Создан при создании таблицы командой YQL [CREATE TABLE](../../yql/reference/syntax/create_table.md).
- Создан при создании таблицы командой YQL [CREATE TABLE](../../yql/reference/syntax/create_table/index.md).
- Добавлен к существующей таблице командой YQL [ALTER TABLE](../../yql/reference/syntax/alter_table/index.md) или командой YDB CLI [table index add](../../reference/ydb-cli/commands/secondary_index.md#add)
- Удален у существующей таблицы командой YQL [ALTER TABLE](../../yql/reference/syntax/alter_table/index.md) или командой YDB CLI [table index drop](../../reference/ydb-cli/commands/secondary_index.md#drop).
- Удален вместе с таблицей командой YQL [DROP TABLE](../../yql/reference/syntax/drop_table.md) или командой YDB CLI `table drop`.
Expand Down
2 changes: 1 addition & 1 deletion ydb/docs/ru/core/concepts/datamodel/_includes/table.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ YDB поддерживает создание строковых и колоно

{{ ydb-short-name }} позволяет группировать колонки в таблице для оптимизации их хранения и использования. Механизм групп колонок позволяет увеличить производительность операций неполного чтения строк путем разделения хранения колонок таблицы на насколько групп. Наиболее часто используемый сценарий — организация хранения редко используемых атрибутов в отдельной группе колонок (и, возможно, с использованием сжатия и на более медленных устройствах хранения данных).

У каждой группы колонок есть собственное имя, уникальное в рамках таблицы. Состав групп колонок устанавливается при [создании таблицы](../../../yql/reference/syntax/create_table.md#column-family), а также может быть [изменен](../../../yql/reference/syntax/alter_table/family.md) позднее. Удаление групп колонок из существующей таблицы не предусмотрено.
У каждой группы колонок есть собственное имя, уникальное в рамках таблицы. Состав групп колонок устанавливается при [создании таблицы](../../../yql/reference/syntax/create_table/family.md), а также может быть [изменен](../../../yql/reference/syntax/alter_table/family.md) позднее. Удаление групп колонок из существующей таблицы не предусмотрено.

Группа колонок может содержать произвольное число колонок своей таблицы, в том числе не содержать ни одной. Каждая колонка таблицы принадлежит одной, и только одной группе колонок (группы колонок не пересекаются). Принадлежность колонок группам устанавливается при создании таблицы, но может быть изменена позднее.

Expand Down
2 changes: 1 addition & 1 deletion ydb/docs/ru/core/concepts/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@

#### Первичный ключ {#primary-key}

**Первичный ключ** или **primary key** — это упорядоченный список столбцов, значения которых однозначно идентифицируют строку. Он используется для создания [первичного индекса](#primary-index) таблицы. Он задаётся пользователем {{ ydb-short-name }} при [создании таблицы](../yql/reference/syntax/create_table.md) и существенно влияет на производительность операций с этой таблицей.
**Первичный ключ** или **primary key** — это упорядоченный список столбцов, значения которых однозначно идентифицируют строку. Он используется для создания [первичного индекса](#primary-index) таблицы. Он задаётся пользователем {{ ydb-short-name }} при [создании таблицы](../yql/reference/syntax/create_table/index.md) и существенно влияет на производительность операций с этой таблицей.

Руководство по выбору первичных ключей представлено в [{#T}](../dev/primary-key/index.md).

Expand Down
2 changes: 1 addition & 1 deletion ydb/docs/ru/core/deploy/configuration/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ domains_config:
# ...
```

Каждой базе данных в кластере назначается как минимум один из доступных пулов хранения, выбираемый в операции создания базы данных. Имена пулов хранения среди назначенных могут быть использованы в атрибуте `DATA` при определении групп колонок в операторах YQL [`CREATE TABLE`](../../yql/reference/syntax/create_table.md#column-family)/[`ALTER TABLE`](../../yql/reference/syntax/alter_table/family.md).
Каждой базе данных в кластере назначается как минимум один из доступных пулов хранения, выбираемый в операции создания базы данных. Имена пулов хранения среди назначенных могут быть использованы в атрибуте `DATA` при определении групп колонок в операторах YQL [`CREATE TABLE`](../../yql/reference/syntax/create_table/family.md)/[`ALTER TABLE`](../../yql/reference/syntax/alter_table/family.md).

### Конфигурация State Storage {#domains-state}

Expand Down
2 changes: 1 addition & 1 deletion ydb/docs/ru/core/dev/secondary-indexes.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

## Создание вторичных индексов {#create}

Вторичный индекс является объектом схемы данных и может быть определен при создании таблицы [командой YQL `CREATE TABLE`](../yql/reference/syntax/create_table.md), или добавлен к ней позднее [командой YQL `ALTER TABLE`](../yql/reference/syntax/alter_table/index.md).
Вторичный индекс является объектом схемы данных и может быть определен при создании таблицы [командой YQL `CREATE TABLE`](../yql/reference/syntax/create_table/index.md), или добавлен к ней позднее [командой YQL `ALTER TABLE`](../yql/reference/syntax/alter_table/index.md).

Команда [создания индекса `table index add`](../reference/ydb-cli/commands/secondary_index.md#add) поддерживается в YDB CLI.

Expand Down
12 changes: 6 additions & 6 deletions ydb/docs/ru/core/dev/terraform.md
Original file line number Diff line number Diff line change
Expand Up @@ -247,15 +247,15 @@ resource "ydb_topic" "test" {

* `column` — (обязательный) свойства колонки (см. аргумент [column](#column)).
* `family` — (необязательный) группа колонок (см. аргумент [family](#family)).
* `primary_key` — (обязательный) [первичный ключ](../yql/reference/syntax/create_table.md#columns) таблицы, содержит упорядоченный список имён колонок первичного ключа.
* `primary_key` — (обязательный) [первичный ключ](../yql/reference/syntax/create_table/index.md) таблицы, содержит упорядоченный список имён колонок первичного ключа.
* `ttl` — (необязательный) TTL (см. аргумент [ttl](#ttl)).
* `partitioning_settings` — (необязательный) настройки партицирования (см. аргумент [partitioning_settings](#partitioning-settings)).
* `key_bloom_filter` — (необязательный) (bool) использовать [фильтра Блума для первичного ключа](../concepts/datamodel/table.md#bloom-filter), значение по умолчанию - false.
* `read_replicas_settings` — (необязательный) настройки [реплик для чтения](../concepts/datamodel/table.md#read_only_replicas).

#### column {#column}

Аргумент `column` описывает [свойства колонки](../yql/reference/syntax/create_table.md#columns) таблицы.
Аргумент `column` описывает [свойства колонки](../yql/reference/syntax/create_table/index.md) таблицы.

{% note warning %}

Expand All @@ -281,11 +281,11 @@ column {

#### family {#family}

Аргумент `family` описывает [свойства группы колонок](../yql/reference/syntax/create_table.md#column-family).
Аргумент `family` описывает [свойства группы колонок](../yql/reference/syntax/create_table/family.md).

* `name` — (обязательный) имя группы колонок.
* `data` — (обязательный) [тип устройства хранения](../yql/reference/syntax/create_table#column-family) для данных колонок этой группы.
* `compression` — (обязательный) [кодек сжатия данных](../yql/reference/syntax/create_table#column-family).
* `data` — (обязательный) [тип устройства хранения](../yql/reference/syntax/create_table/family.md) для данных колонок этой группы.
* `compression` — (обязательный) [кодек сжатия данных](../yql/reference/syntax/create_table/family.md).

Пример:

Expand Down Expand Up @@ -368,7 +368,7 @@ resource "ydb_table_index" "ydb_table_index" {
* `table_id` - terraform-идентификатор таблицы. Указывается, если не задан `table_path` или `connection_string`.

* `name` — (обязательный) имя индекса.
* `type` — (обязательный) тип индекса [global_sync | global_async](../yql/reference/syntax/create_table.md#secondary_index).
* `type` — (обязательный) тип индекса [global_sync | global_async](../yql/reference/syntax/create_table/secondary_index.md).
* `columns` — (обязательный) упорядоченный список имён колонок, участвующий в индексе.
* `cover` — (обязательный) список дополнительных колонок для покрывающего индекса.

Expand Down
2 changes: 1 addition & 1 deletion ydb/docs/ru/core/dev/yql-tutorial/create_demo_tables.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Создание таблицы

Создайте таблицы и задайте для них схемы данных с помощью конструкции [CREATE TABLE](../../yql/reference/syntax/create_table.md).
Создайте таблицы и задайте для них схемы данных с помощью конструкции [CREATE TABLE](../../yql/reference/syntax/create_table/index.md).

{% note info %}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

{% include [OLAP_not_allow_text](../../../../_includes/not_allow_for_olap_text.md) %}

Вместо `DELETE FROM` для удаления данных из колоночных таблиц можно воспользоваться механизмом удаления строк по времени — [TTL](../../../../concepts/ttl.md). TTL можно задать при [создании](../create_table.md) таблицы через `CREATE TABLE` или [измененить позже](../alter_table/index.md) через `ALTER TABLE`.
Вместо `DELETE FROM` для удаления данных из колоночных таблиц можно воспользоваться механизмом удаления строк по времени — [TTL](../../../../concepts/ttl.md). TTL можно задать при [создании](../create_table/index.md) таблицы через `CREATE TABLE` или [измененить позже](../alter_table/index.md) через `ALTER TABLE`.

{% endnote %}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,4 @@ ALTER TABLE series_with_families ALTER FAMILY default SET DATA "hdd";

{% endnote %}

Могут быть указаны все параметры группы колонок, описанные в команде [`CREATE TABLE`](create_table#column-family)
Могут быть указаны все параметры группы колонок, описанные в команде [`CREATE TABLE`](../create_table/secondary_index.md)
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
ALTER TABLE `series` ADD INDEX `title_index` GLOBAL ON (`title`);
```

Могут быть указаны все параметры индекса, описанные в команде [`CREATE TABLE`](../create_table.md#secondary_index)
Могут быть указаны все параметры индекса, описанные в команде [`CREATE TABLE`](../create_table/secondary_index.md)

{% if backend_name == "YDB" %}

Expand All @@ -28,7 +28,7 @@ ALTER TABLE `series` ADD INDEX `title_index` GLOBAL ON (`title`);

{% note info %}

В настоящее время задание настроек партиционирования вторичных индексов при создании индекса не поддерживается ни в операторе [`ALTER TABLE ADD INDEX`](#add-index), ни в операторе [`CREATE TABLE INDEX`](../create_table.md#secondary_index).
В настоящее время задание настроек партиционирования вторичных индексов при создании индекса не поддерживается ни в операторе [`ALTER TABLE ADD INDEX`](#add-index), ни в операторе [`CREATE TABLE INDEX`](../create_table/secondary_index.md).

{% endnote %}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Группы колонок

{% if oss == true and backend_name == "YDB" %}

{% include [not_allow_for_olap](../../../../_includes/not_allow_for_olap_note.md) %}

{% endif %}

Колонки одной таблицы можно объединять в группы, для того чтобы задать следующие параметры:

* `DATA` — тип устройства хранения для данных колонок этой группы. Допустимые значения: ```"ssd"```, ```"rot"```.
* `COMPRESSION` — кодек сжатия данных. Допустимые значения: ```"off"```, ```"lz4"```.

По умолчанию все колонки находятся в одной группе с именем ```default```. При желании, параметры этой группы тоже можно переопределить.

В примере ниже для создаваемой таблицы добавляется группа колонок ```family_large``` и устанавливается для колонки ```series_info```, а также переопределяются параметры для группы ```default```, которая по умолчанию установлена для всех остальных колонок.

```sql
CREATE TABLE series_with_families (
series_id Uint64,
title Utf8,
series_info Utf8 FAMILY family_large,
release_date Uint64,
PRIMARY KEY (series_id),
FAMILY default (
DATA = "ssd",
COMPRESSION = "off"
),
FAMILY family_large (
DATA = "rot",
COMPRESSION = "lz4"
)
);
```

{% note info %}

Доступные типы устройств хранения зависят от конфигурации кластера {{ ydb-short-name }}.

{% endnote %}
Loading

0 comments on commit ae312b3

Please sign in to comment.