aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralexv-smirnov <alexv-smirnov@yandex-team.ru>2022-03-22 01:58:57 +0300
committeralexv-smirnov <alexv-smirnov@yandex-team.ru>2022-03-22 01:58:57 +0300
commitd9764c900cb7a7ffd5167dd33d7068b483765a2f (patch)
tree85a384034cf294c379d12571e3f1189ccfdf0718
parent7a34210ed18ac80ff59b9aa1d93800eb56b5dba4 (diff)
downloadydb-d9764c900cb7a7ffd5167dd33d7068b483765a2f.tar.gz
ydb docs scheme best_practices
ref:bd9f13ba3c6db2c2a6c4222a5028f584d987c40e
-rw-r--r--ydb/docs/ru/core/best_practices/_includes/secondary_indexes.md14
-rw-r--r--ydb/docs/ru/core/best_practices/_includes/table_sharding.md4
-rw-r--r--ydb/docs/ru/core/best_practices/toc_i.yaml2
3 files changed, 11 insertions, 9 deletions
diff --git a/ydb/docs/ru/core/best_practices/_includes/secondary_indexes.md b/ydb/docs/ru/core/best_practices/_includes/secondary_indexes.md
index 326950e45e4..c06f994f01f 100644
--- a/ydb/docs/ru/core/best_practices/_includes/secondary_indexes.md
+++ b/ydb/docs/ru/core/best_practices/_includes/secondary_indexes.md
@@ -19,15 +19,15 @@
Так как индекс содержит собственные данные, являющиеся производными от данных в таблице, то при создании индекса на существующей таблице с данными будет выполнена операция начального построения индекса, которая может занимать продолжительное время. Данная операция выполняется в фоновом режиме, не блокирует работу с таблицей, но до окончания построения новым индексом воспользоваться будет невозможно.
Использование индекса возможно только в порядке включенных в него полей. Если в индексе два поля `a` и `b`, то такой индекс может быть эффективно использован для запросов вида:
-- `where a=$a and b=$b`
-- `where a=$a`
-- `where a>$a`, а также другие операторы сравнения
-- `where a=$a and b>$b`, а также любые другие операторы сравнения, но первое поле должно проверяться на равенство
+- `where a = $var1 and b = $var2`
+- `where a = $var1`
+- `where a > $var1`, а также другие операторы сравнения
+- `where a = $var1 and b > $var2`, а также любые другие операторы сравнения, но первое поле должно проверяться на равенство
При этом, такой индекс не может быть применен для следующих запросов:
-- `where b=$b`
-- `where a>$a and b>$b`, точнее эта запись будет равнозначна `where a>$a` с точки зрения применения индекса
-- `where b>$b`
+- `where b = $var1`
+- `where a > $var1 and b > $var2`, точнее эта запись будет равнозначна `where a > $var1` с точки зрения применения индекса
+- `where b > $var1`
С учетом описанной выше особенности, бесполезно пытаться заранее индексировать все возможные комбинации колонок в таблице в расчете на быстрое исполнение любых запросов. Индекс - это всегда компромисс между скоростью поиска и записи, а также занимаемым данными местом в хранилище. Индексы создаются под конкретные выборки и условия поиска, которые будут делаться приложением в базе данных.
diff --git a/ydb/docs/ru/core/best_practices/_includes/table_sharding.md b/ydb/docs/ru/core/best_practices/_includes/table_sharding.md
index 6c440315e8f..e059f0c7956 100644
--- a/ydb/docs/ru/core/best_practices/_includes/table_sharding.md
+++ b/ydb/docs/ru/core/best_practices/_includes/table_sharding.md
@@ -1,4 +1,4 @@
-# Рекомендации по партицированию таблиц
+# Партиционирование таблиц
Таблицы в {{ ydb-short-name }} отсортированы по возрастанию первичного ключа. Партицирование таблиц осуществляется путём разбиения диапазона значений ключа на последовательные непересекающиеся диапазоны - партиции.
@@ -17,3 +17,5 @@
Автопартицирование по размеру параметризуется настройкой размера партиции, при достижении которого происходит её разбиение. По умолчанию это значение равно 2ГБ. Выбор ключа для разбиения делается на основании гистограммы распределения размера данных в партиции по поддиапазонам ключей. Если же суммарный размер данных в смежных партициях становится меньше половины от настройки размера, то эти партиции сливаются.
Срабатывание автопартицирования по нагрузке определяется потреблением CPU даташардом обслуживающим партицию. Все даташарды следят за своим потреблением CPU. Если в какой-то момент времени обнаруживается высокое (>50%) потребление, происходит разбиение партиции. Для выбора ключа используется статистика по обращениям к ключам своей партиции.
+
+Полный перечень параметров таблиц, включая параметры партиционирования, с комментариями об из применении, приведен в пункте [Партиционирование таблиц](../../concepts/datamodel.md#partitioning) статьи об объектах схемы данных в разделе "Концепции". \ No newline at end of file
diff --git a/ydb/docs/ru/core/best_practices/toc_i.yaml b/ydb/docs/ru/core/best_practices/toc_i.yaml
index 031e45c02ed..07ed073a5a3 100644
--- a/ydb/docs/ru/core/best_practices/toc_i.yaml
+++ b/ydb/docs/ru/core/best_practices/toc_i.yaml
@@ -3,7 +3,7 @@ items:
href: index.md
- name: Проектирование схемы
href: schema_design.md
-- name: Партицирование таблиц
+- name: Партиционирование таблиц
href: table_sharding.md
- name: Вторичные индексы
href: secondary_indexes.md