Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix YDB YQL condition #9330

Merged
merged 2 commits into from
Sep 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions ydb/docs/ru/core/concepts/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,8 +196,12 @@

### Экземпляр асинхронной репликации {#async-replication-instance}

{% if feature_async_replication == true %}

**Экземпляр асинхронной репликации** — это именованная сущность, хранящая настройки [асинхронной репликации](async-replication.md) (настройки подключения, список реплицируемых объектов и т.д.). Также с его помощью можно получить информацию о состоянии асинхронной репликации: [прогресс первоначального сканирования](async-replication.md#initial-scan), [отставание](async-replication.md#replication-of-changes), [ошибки](async-replication.md#error-handling) и т.д.

{% endif %}

#### Реплицируемый объект {#replicated-object}

**Реплицируемый объект** — объект (например, таблица), для которого настроена асинхронная репликация.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
| ------- | ---------------------- |
| 0 | Cтоимостный оптимизатор выключен |
| 1 | Cтоимостный оптимизатор выключен, считаются предсказания оптимизатора |
| 2 | Cтоимостный оптимизатор включается только для запросов, где участвуют [колоночные таблицы](../../../../../concepts/glossary.md#column-oriented-table) |
| 2 | Cтоимостный оптимизатор включается только для запросов, где участвуют {% if backend_name == "YDB" and oss == true %}[колоночные таблицы](../../../../../concepts/glossary.md#column-oriented-table){% else %}колоночные таблицы{% endif %} |
| 3 | Cтоимостный оптимизатор включается для всех запросов, но для строковых таблиц предпочитается алгоритм джоина LookupJoin |
| 4 | Cтоимостный оптимизатор включен для всех запросов |

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

{% endif %}

`ADD CHANGEFEED <name> WITH (option = value[, ...])` — добавляет [поток изменений (changefeed)](../../../../concepts/cdc.md) с указанным именем и параметрами.
`ADD CHANGEFEED <name> WITH (option = value[, ...])` — добавляет {% if oss == true and backend_name == "YDB" %}[поток изменений (changefeed)](../../../../concepts/cdc.md){% else %}поток изменений{% endif %} с указанным именем и параметрами.

## Параметры потока изменений {#changefeed-options}

Expand All @@ -17,15 +17,15 @@
* `OLD_IMAGE` — будут записаны значения всех столбцов, предшествующие изменению.
* `NEW_AND_OLD_IMAGES` - комбинация режимов `NEW_IMAGE` и `OLD_IMAGE`. Будут записаны значения всех столбцов _до_ и _в результате_ изменения.
* `FORMAT` — формат данных, в котором будут записаны данные.
* `JSON` — записывать данные в формате [JSON](../../../../concepts/cdc.md#json-record-structure).
* `JSON` — записывать данные в формате {% if oss == true and backend_name == "YDB" %}[JSON](../../../../concepts/cdc.md#json-record-structure){% else %}JSON{% endif %}.
{% if audience == "tech" %}
* `DYNAMODB_STREAMS_JSON` — записывать данные в [JSON-формате, совместимом с Amazon DynamoDB Streams](../../../../concepts/cdc.md#dynamodb-streams-json-record-structure).
* `DEBEZIUM_JSON` — записывать данные в [JSON-формате, аналогичном Debezium формату](../../../../concepts/cdc.md#debezium-json-record-structure).
* `DYNAMODB_STREAMS_JSON` — записывать данные в {% if oss == true and backend_name == "YDB" %}[JSON-формате, совместимом с Amazon DynamoDB Streams](../../../../concepts/cdc#dynamodb-streams-json-record-structure){% else %}JSON-формате, совместимом с Amazon DynamoDB Streams{% endif %}.md.
* `DEBEZIUM_JSON` — записывать данные в {% if oss == true and backend_name == "YDB" %}[JSON-формате, аналогичном Debezium формату](../../../../concepts/cdc.md#debezium-json-record-structure){% else %}JSON-формате, аналогичном Debezium формату{% endif %}.
{% endif %}
* `VIRTUAL_TIMESTAMPS` — включение-выключение [виртуальных меток времени](../../../../concepts/cdc.md#virtual-timestamps). По умолчанию выключено.
* `RETENTION_PERIOD`[время хранения записей](../../../../concepts/cdc.md#retention-period). Тип значения — `Interval`, значение по умолчанию — 24 часа (`Interval('PT24H')`).
* `TOPIC_MIN_ACTIVE_PARTITIONS`[количество партиций топика](../../../../concepts/cdc.md#topic-partitions). По умолчанию количество партиций топика равно количеству партиций таблицы.
* `INITIAL_SCAN` — включение-выключение [первоначального сканирования](../../../../concepts/cdc.md#initial-scan) таблицы. По умолчанию выключено.
* `VIRTUAL_TIMESTAMPS` — включение-выключение {% if oss == true and backend_name == "YDB" %}[виртуальных меток времени](../../../../concepts/cdc.md#virtual-timestamps){% else %}виртуальных меток времени{% endif %}. По умолчанию выключено.
* `RETENTION_PERIOD`{% if oss == true and backend_name == "YDB" %}[время хранения записей](../../../../concepts/cdc.md#retention-period){% else %}время хранения записей{% endif %}. Тип значения — `Interval`, значение по умолчанию — 24 часа (`Interval('PT24H')`).
* `TOPIC_MIN_ACTIVE_PARTITIONS`{% if oss == true and backend_name == "YDB" %}[количество партиций топика](../../../../concepts/cdc.md#topic-partitions){% else %}количество партиций топика{% endif %}. По умолчанию количество партиций топика равно количеству партиций таблицы.
* `INITIAL_SCAN` — включение-выключение {% if oss == true and backend_name == "YDB" %}[первоначального сканирования](../../../../concepts/cdc.md#initial-scan){% else %}первоначального сканирования{% endif %} таблицы. По умолчанию выключено.
{% if audience == "tech" %}
* `AWS_REGION` — значение, которое будет записано в поле `awsRegion`. Применимо только совместно с форматом `DYNAMODB_STREAMS_JSON`.
{% endif %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

{% endif %}

Механизм [групп](../../../../concepts/datamodel/table.md#column-groups) колонок позволяет увеличить производительность операций неполного чтения строк путем разделения хранения колонок строковой таблицы на несколько групп. Наиболее часто используемый сценарий — организация хранения редко используемых атрибутов в отдельной группе колонок.
Механизм {% if oss == true and backend_name == "YDB" %}[групп](../../../../concepts/datamodel/table.md#column-groups){% else %}групп{% endif %} колонок позволяет увеличить производительность операций неполного чтения строк путем разделения хранения колонок строковой таблицы на несколько групп. Наиболее часто используемый сценарий — организация хранения редко используемых атрибутов в отдельной группе колонок.

## Создание группы колонок
```ADD FAMILY``` — создаёт новую группу колонок в строковой таблице. Приведенный ниже код создаст в таблице ```series_with_families``` группу колонок ```family_small```.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ALTER TABLE

При помощи команды ```ALTER TABLE``` можно изменить состав колонок и дополнительные параметры {% if backend_name == "YDB" %}[строковых](../../../../concepts/datamodel/table.md#row-tables) и [колоночных](../../../../concepts/datamodel/table.md#colums-tables) таблиц{% else %}таблиц {% endif %}. В одной команде можно указать несколько действий. В общем случае команда ```ALTER TABLE``` выглядит так:
При помощи команды ```ALTER TABLE``` можно изменить состав колонок и дополнительные параметры {% if backend_name == "YDB" and oss == true %}[строковых](../../../../concepts/datamodel/table.md#row-tables) и [колоночных](../../../../concepts/datamodel/table.md#colums-tables) таблиц{% else %}таблиц {% endif %}. В одной команде можно указать несколько действий. В общем случае команда ```ALTER TABLE``` выглядит так:

```yql
ALTER TABLE table_name action1, action2, ..., actionN;
Expand All @@ -12,6 +12,6 @@ ALTER TABLE table_name action1, action2, ..., actionN;
* Добавление или удаление [потока изменений](changefeed.md).
* Работа со [вторичным индексом](secondary_index.md).
* Работа с [группами колонок](family.md) строковой таблицы.
{% if backend_name == "YDB" %}
{% if backend_name == "YDB" and oss == true %}
* Изменение [дополнительных параметров таблиц](set.md).
{% endif %}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ ALTER TABLE `series` ADD INDEX `title_index` GLOBAL ON (`title`);

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

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

Также добавить вторичный индекс можно с помощью команды [table index](../../../../reference/ydb-cli/commands/secondary_index.md#add) {{ ydb-short-name }} CLI.

Expand Down Expand Up @@ -74,7 +74,7 @@ ALTER TABLE `series` ALTER INDEX `title_index` SET (
ALTER TABLE `series` DROP INDEX `title_index`;
```

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

Также удалить вторичный индекс можно с помощью команды [table index](../../../../reference/ydb-cli/commands/secondary_index.md#drop) {{ ydb-short-name }} CLI.

Expand All @@ -84,7 +84,7 @@ ALTER TABLE `series` DROP INDEX `title_index`;

`RENAME INDEX` — переименовывает индекс с указанным именем. Если индекс с новым именем существует, будет возвращена ошибка.

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

Возможность атомарной замены индекса под нагрузкой поддерживается командой [{{ ydb-cli }} table index rename](../../../../reference/ydb-cli/commands/secondary_index.md#rename) {{ ydb-short-name }} CLI и специализированными методами {{ ydb-short-name }} SDK.

Expand Down
6 changes: 5 additions & 1 deletion ydb/docs/ru/core/yql/reference/yql-core/syntax/analyze.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ANALYZE

`ANALYZE` форсирует сбор табличной и колоночной статитстики для оптимизатора запросов.
`ANALYZE` форсирует сбор табличной и колоночной статистики для оптимизатора запросов.

Синтаксис:

Expand All @@ -13,4 +13,8 @@ ANALYZE <path_to_table> [ (<column_name> [, ...]) ]
* `path_to_table` — путь к конкретной таблице, для которой требуется форсированный сбор статистики
* `column_name` — форсировать сбор статистики только по определённым колонкам таблицы

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

Текущий набор статистик указан в разделе [{#T}](../../../concepts/optimizer.md#statistics).

{% endif %}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

{% if feature_bulk_tables %}

Таблица создается автоматически при первом [INSERT INTO](insert_into.md){% if feature_mapreduce %}, в заданной оператором [USE](../use.md) базе данных{% endif %}. Схема при этом определяется автоматически.
Таблица создается автоматически при первом [INSERT INTO](../insert_into.md){% if feature_mapreduce %}, в заданной оператором [USE](../use.md) базе данных{% endif %}. Схема при этом определяется автоматически.

{% else %}

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

{% endif %}

Конструкция `INDEX` используется для определения {% if concept_secondary_index %}[вторичного индекса]({{ concept_secondary_index }}){% else %}вторичного индекса{% endif %} {% if backend_name == "YDB" %}для [строковых](../../../../concepts/datamodel/table.md#row-oriented-tables) таблиц{% else %}на таблице{% endif %}:
Конструкция `INDEX` используется для определения {% if concept_secondary_index %}[вторичного индекса]({{ concept_secondary_index }}){% else %}вторичного индекса{% endif %} {% if backend_name == "YDB" and oss == true %}для [строковых](../../../../concepts/datamodel/table.md#row-oriented-tables) таблиц{% else %}на таблице{% endif %}:

```yql
CREATE TABLE table_name (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ WITH (
);
```

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

Также в блоке `WITH` можно задать TTL (Time to Live) — время жизни строки. [TTL](../../../../concepts/ttl.md) автоматически удаляет из строковой таблицы строки, когда проходит указанное количество секунд от времени, записанного в TTL-колонку. TTL можно задать при создании таблицы, а можно добавить позже через `ALTER TABLE`. Код ниже создаст строковую таблицу таблицу с TTL:
```yql
Expand Down
Loading