Правила оценки стоимости запросов к YDB через специализированные API
ReadTable
Операция ReadTable
позволяет эффективно вычитывать большие диапазоны данных таблицы. Стоимость запроса зависит только от объема прочитанных данных и составляет 128 RU за 1 МБ. При расчете стоимости объем округляется в большую сторону до значения, кратного 1 МБ.
BulkUpsert
BulkUpsert
позволяет эффективно загружать данные в базу. Стоимость записи строки в рамках операции BulkUpsert
составляет 0,5 RU за 1 КБ записанных данных. При расчете стоимости объем данных округляется в большую сторону до значения, кратного 1 КБ. Итоговая стоимость операции рассчитывается как сумма стоимости всех записанных строк с округлением до ближайшего большего целого.
Пример расчета стоимости
Например, в рамках операции BulkUpsert
вы записываете четыре строки данных объемом 2500 байт, 100 байт, 1200 байт и 1024 байта.
Стоимость такой операции составит:
0,5 RU × 3 + 0,5 RU × 1 + 0,5 RU × 2 + 0,5 RU × 1 = 3,5 RU
Итого, после округления в большую сторону: 4 RU
Где:
- 0,5 — стоимость в единицах запросов за 1 КБ записанных данных.
- 3 — объем первой строки в КБ после округления в большую сторону (2500 байт = 1024 байта + 1024 байта + 452 байта).
- 1 — объем второй строки в КБ после округления в большую сторону.
- 2 — объем третьей строки в КБ после округления в большую сторону (1200 байт = 1024 байта + 176 байт).
- 1 — объем четвертой строки в КБ.
Построение вторичного индекса
Стоимость построения индекса складывается из стоимости операции ReadTable
оригинальной таблицы и BulkUpsert
в индексную таблицу. Тарифицируется объем проделанной работы — количество строк и их размер, который был прочитан из оригинальной таблицы и записан в индексную таблицу. Процесс построения индекса может быть отменен пользователем. Отмененные операции построения индекса также тарифицируются за объем проделанной работы до отмены операции.