summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorilnaz <[email protected]>2022-12-11 14:51:19 +0300
committerilnaz <[email protected]>2022-12-11 14:51:19 +0300
commitbbf0f3f9d2b56853560647675b865b2416767ae9 (patch)
tree66f32078acfd23cda240b856eb2f9ac2861c0bfa
parent876ec5cdf9a927c75490dfcee35ae0f225fa189b (diff)
RETENTION_PERIOD
-rw-r--r--ydb/docs/ru/core/concepts/cdc.md12
-rw-r--r--ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/alter_table.md11
2 files changed, 23 insertions, 0 deletions
diff --git a/ydb/docs/ru/core/concepts/cdc.md b/ydb/docs/ru/core/concepts/cdc.md
index 55e729b448b..3c9e54c3dba 100644
--- a/ydb/docs/ru/core/concepts/cdc.md
+++ b/ydb/docs/ru/core/concepts/cdc.md
@@ -88,6 +88,18 @@ Change Data Capture (CDC) обеспечивает захват изменени
{% endnote %}
+## Время хранения записей {#retention-period}
+
+По умолчанию записи хранятся в потоке изменений в течение 24 часов с момента отправки. В зависимости от сценариев использования время хранения можно уменьшить или увеличить до 30 дней.
+
+{% note warning %}
+
+Записи, время хранения которых истекло, удаляются вне зависимости от того, успели их обработать (прочитать) или нет.
+
+{% endnote %}
+
+Удаление записей до их обработки клиентом приводит к возникновению пропусков [офсетов](topic.md#offset), то есть офсеты последней прочитанной из партиции записи и самой ранней из доступных будут отличаться более, чем на единицу.
+
## Создание и удаление потока изменений {#ddl}
Поток изменений может быть добавлен к существующей таблице или удален директивами [ADD CHANGEFEED и DROP CHANGEFEED](../yql/reference/syntax/alter_table.md#changefeed) операции YQL `ALTER TABLE`. При удалении таблицы добавленный к ней поток изменений также будет удален.
diff --git a/ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/alter_table.md b/ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/alter_table.md
index 320f36ce2c7..58e52b9262e 100644
--- a/ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/alter_table.md
+++ b/ydb/docs/ru/core/yql/reference/yql-core/syntax/_includes/alter_table.md
@@ -64,6 +64,7 @@ ALTER TABLE `series` DROP INDEX `title_index`;
* `NEW_AND_OLD_IMAGES` - комбинация режимов `NEW_IMAGE` и `OLD_IMAGE`. Будут записаны значения всех столбцов _до_ и _в результате_ изменения.
* `FORMAT` — формат данных, в котором будут записаны данные.
* `JSON` — структура записи приведена на странице [описания changefeed](../../../../concepts/cdc#record-structure).
+* `RETENTION_PERIOD` — время хранения записей. Тип значения — `Interval`, значение по умолчанию — 24 часа (`Interval('PT24H')`).
Приведенный ниже код добавит поток изменений с именем `updates_feed`, в который будут выгружаться значения изменившихся столбцов таблицы в формате JSON:
@@ -74,6 +75,16 @@ ALTER TABLE `series` ADD CHANGEFEED `updates_feed` WITH (
);
```
+Записи в таком потоке изменений будут храниться в течение 24 часов (значение по умолчанию). Код из следующего примера создаст поток изменений с хранением записей в течение 12 часов:
+
+```sql
+ALTER TABLE `series` ADD CHANGEFEED `updates_feed` WITH (
+ FORMAT = 'JSON',
+ MODE = 'UPDATES',
+ RETENTION_PERIOD = Interval('PT12H')
+);
+```
+
`DROP CHANGEFEED` — удаляет поток изменений с указанным именем. Приведенный ниже код удалит changefeed с именем `updates_feed`:
```sql