calcal.ru
DB Sizing Calculator v1.0

Размер Базы Данных

Рассчитайте размер таблиц, IOPS, память, индексы, репликацию и шардирование. Точные формулы для PostgreSQL и MySQL.

Загрузка калькулятора базы данных...
6
Модулей
IOPS
Анализ
B-tree
Индексы
WAL
Журнал

Зачем рассчитывать размер базы данных?

Правильный расчёт ресурсов — основа стабильной работы СУБД. Недооценка размера таблиц приводит к нехватке диска, неправильный расчёт IOPS — к деградации производительности, а ошибки в шардировании — к дорогостоящей перестройке архитектуры.

PostgreSQL: расчёт хранения

В PostgreSQL каждая строка занимает минимум 28 байт служебных данных (23 байта заголовок + alignment). Страница 8 КБ вмещает ограниченное число строк. Добавьте TOAST для больших полей, индексы и bloat после UPDATE/DELETE — и реальный размер может быть в 3-5 раз больше «чистых данных».

pg_total_relation_size = heap + toast + indexes

IOPS и дисковая подсистема

IOPS (Input/Output Operations Per Second) — ключевая метрика производительности дисков. NVMe SSD обеспечивает до 100 000 случайных операций в секунду, тогда как HDD — лишь 150-250. Разница в два порядка определяет возможности СУБД при случайном доступе.

IOPS_required = QPS × rows_per_query × (1 - cache_hit_ratio)

Архитектура масштабируемой БД

При росте нагрузки стратегия масштабирования зависит от узкого места. Если не хватает IOPS — переход на NVMe или RAID. Если не хватает памяти — увеличение shared_buffers. Если упирается один сервер — репликация или шардирование.

В России активно используются PostgreSQL (основная СУБД в госсекторе), ClickHouse (аналитика в Яндексе), а также распределённые системы YDB (Yandex Database) и CockroachDB.

1x

≤ 500 ГБ, ≤ 10K QPS

Один сервер PostgreSQL. Вертикальное масштабирование.
R

≤ 5 ТБ, ≤ 50K QPS чтения

Primary + Read Replicas. Streaming replication.
S

> 5 ТБ или > 50K QPS записи

Шардирование. Citus, Vitess, YDB, CockroachDB.

Возможности калькулятора

pg

Размер таблицы

Точный расчёт для PostgreSQL: страницы, fillfactor, TOAST, bloat, WAL и полный размер на диске.

IO

Анализ IOPS

Сравнение NVMe SSD, SATA SSD и HDD. Расчёт утилизации дисков и необходимого количества.

Idx

B-tree индексы

Глубина дерева, селективность, covering index. Определение: Index Scan vs Seq Scan.

Часто задаваемые вопросы

Размер таблицы в PostgreSQL складывается из нескольких компонентов: данные (heap), индексы, TOAST (для больших полей) и служебная информация. Каждая строка имеет заголовок 23 байта. Страница 8 КБ вмещает ограниченное число строк, зависящее от fillfactor. Используйте pg_total_relation_size() для проверки реального размера.
Требуемые IOPS зависят от QPS (запросов в секунду), среднего количества строк на запрос и cache hit ratio. Формула: IOPS = QPS × rows_per_query × (1 - cache_hit_ratio). При cache hit ratio 99% и 10 000 QPS нужно всего ~100 IOPS на чтение. Запись требует больше из-за WAL и fsync.
Общая рекомендация: 25% от RAM для выделенного сервера БД. Однако точный расчёт зависит от объёма горячих данных (working set). Если горячие данные помещаются в shared_buffers — cache hit ratio будет высоким (>99%). Используйте pg_stat_user_tables для анализа реальных обращений.
Шардирование необходимо, когда вертикальное масштабирование (RAM, CPU, SSD) и read-реплики не справляются. Типичные сигналы: объём данных >5 ТБ на одном сервере, QPS записи >50K, или требование к доступности выше, чем может обеспечить одна нода. Инструменты: Citus (PostgreSQL), Vitess (MySQL), YDB, CockroachDB.
Синхронная репликация гарантирует нулевую потерю данных (RPO=0), но добавляет задержку к каждому COMMIT (2 × сетевой RTT). Асинхронная быстрее, но при аварии primary можно потерять последние транзакции. Компромисс — synchronous_commit = remote_apply: данные применены на реплике, но не синхронно.
Хороший ключ шардирования имеет высокую кардинальность (UUID, user_id), равномерное распределение и минимизирует кросс-шардовые запросы. Плохой выбор (дата, статус) приведёт к hot spots. Для e-commerce часто используют user_id, для SaaS — tenant_id. Избегайте автоинкремента — все записи пойдут в один шард.
Bloat (раздутие) возникает из-за MVCC: при UPDATE и DELETE старые версии строк остаются в таблице до VACUUM. Без автовакуума bloat может составлять 50-200% от данных. Мониторьте pg_stat_user_tables (n_dead_tup) и настройте aggressive autovacuum для нагруженных таблиц.

Полезные ресурсы

PostgreSQL

Документация PostgreSQL

Официальная документация по управлению хранением, настройке памяти и репликации PostgreSQL.

pgTune

Настройка параметров

Автоматический генератор оптимальных настроек postgresql.conf на основе характеристик сервера.

YDB

Yandex Database

Распределённая СУБД от Яндекса. Горизонтальное масштабирование и отказоустойчивость для высоких нагрузок.

Лиана Арифметова
Создатель

Лиана Арифметова

Миссия: Демократизировать сложные расчеты. Превратить страх перед числами в ясность и контроль. Девиз: «Любая повторяющаяся задача заслуживает своего калькулятора».

Был ли этот калькулятор полезен?

⚖️

Отказ от ответственности

Только для информационных целей. Все расчёты, результаты и данные, предоставляемые данным инструментом, носят исключительно ознакомительный и справочный характер. Они не являются профессиональной консультацией — медицинской, юридической, финансовой, инженерной или иной.

Точность результатов. Калькулятор основан на общепринятых формулах и методиках, однако фактические результаты могут отличаться в зависимости от индивидуальных условий, исходных данных и применяемых стандартов. Мы не гарантируем полноту, точность или актуальность приведённых расчётов.

Медицинские, финансовые и профессиональные решения должны приниматься исключительно на основании консультации с квалифицированными специалистами — врачом, финансовым советником, инженером или другим профессионалом в соответствующей области. Не используйте результаты данного инструмента как единственное основание для принятия важных решений.

Ограничение ответственности. Авторы и разработчики сервиса не несут никакой ответственности за прямой или косвенный ущерб, возникший в результате использования данных расчётов. Пользователь принимает на себя всю ответственность за интерпретацию и применение полученных результатов.

Похожие инструменты

🧮

Калькулятор объёма бассейна

Объём воды в бассейне любой формы, расход химии и время подогрева. Для частных бассейнов.

🧮

Калькулятор усадки при 3D-печати

Коэффициенты усадки PLA, ABS, PETG, Nylon для компенсации размеров 3D-моделей.

🏗️

Калькулятор арматуры

Расчет веса арматуры по длине и диаметру. Таблица весов ГОСТ 5781-82. Узнайте сколько весит метр арматуры.

🏠

Калькулятор бисероплетения

Расчёт количества бисера, ниток и материалов для бисероплетения по схеме.

💻

Markdown-редактор с превью

Онлайн Markdown-редактор с мгновенным предпросмотром HTML. Панель инструментов, подсветка синтаксиса, экспорт в HTML.

🏗️

Калькулятор расхода саморезов

Расчёт количества саморезов по материалу и площади. Гипсокартон, ОСБ, ЛДСП, кровля, террасная доска. ГОСТ и DIN.

💻

Валидатор ISBN

Проверка контрольной цифры ISBN-10 и ISBN-13 с расшифровкой структуры. Конвертация ISBN-10 ↔ ISBN-13.

⚙️

Калькулятор керамики

Расчёты керамики: шихта, обжиг, усадка, прочность, глазурь, плотность и пористость

🏥

Калькулятор QTc (коррекция интервала QT)

Рассчитайте корригированный интервал QT (QTc) по формулам Базетта, Фредерика, Фрамингема и Ходжеса. Оценка риска аритмии.

💻

Калькулятор популярных нейросетей — сравнение стоимости API

Онлайн калькулятор стоимости API нейросетей: Claude, GPT-4o, DeepSeek, Gemini, YandexGPT, GigaChat. Расчёт расходов по токенам, сравнение цен.

🏠

Калькулятор интервального повторения (SM-2, Эббингауз)

Расписание повторений по алгоритму SM-2 (SuperMemo), кривая забывания Эббингауза, оптимальный интервал повторения и планировщик колоды карточек Anki.

🏗️

Калькулятор забора

Расчёт забора: профнастил, штакетник, рабица. Столбы, секции, крепёж, бетон.

🏠

Калькулятор объёма багажника

Расчёт объёма багажника по размерам и модели авто. База 40+ популярных автомобилей в России. Вместимость чемоданов, сравнение.

📐

Калькулятор СЛАУ (метод Гаусса)

Решение систем линейных уравнений методом Гаусса онлайн. Подробный ход решения матричным методом.

🏠

Музыкальный калькулятор: BPM, частоты, транспозиция

Инструменты для музыканта: расчет задержки (Delay) по BPM, перевод нот в частоты (Hz) и транспонирование аккордов.