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

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

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

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

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

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

⚖️

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

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

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

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

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

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

💰

Калькулятор налогового вычета

Расчёт налогового вычета: имущественный, социальный, за обучение и лечение.

🏠

Фотокалькулятор: ГРИП, гиперфокал и экспозиция

Полезные инструменты для фотографа: расчет глубины резкости (DOF), гиперфокального расстояния и экспозиции (EV).

🏠

Калькулятор вязания (петли и пряжа)

Плотность вязки, количество петель и расход пряжи по образцу. Для вязания спицами и крючком.

🏠

Калькулятор точного земледелия

Расчёт норм внесения удобрений, высева, СЗР и экономии ресурсов при дифференцированном подходе. ROI от GPS, дронов и датчиков.

Термодинамический калькулятор

Расчет теплоёмкости, теплового расширения (линейное и объемное), закона охлаждения Ньютона и КПД тепловых двигателей.

⚙️

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

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

🌿

Калькулятор почвоведения

Текстурный треугольник, плотность и пористость почвы, ЕКО, органическое вещество, нормы удобрений NPK, гидропроводность.

Калькулятор оптики (линзы, преломление, DoF)

Расчет фокусного расстояния, закон Снеллиуса и глубина резкости (DoF). Калькулятор для физики и фотографии.

🧮

Конвертер транслитерации

Транслитерация кириллицы в латиницу по стандартам ИКАО, ISO 9, BGN/PCGN, для загранпаспорта и URL.

⚙️

Калькулятор гидроэнергетики: мощность ГЭС, турбины и малые ГЭС

Расчёты гидроэнергетики: мощность ГЭС (P = ρgQHη), выбор турбины (Пельтон/Фрэнсис/Каплан), малые ГЭС, AEP, гидрология.

🏠

Странные калькуляторы: бананы, зомби и животные

Веселые калькуляторы: измерение роста в бананах, тест на выживание среди зомби и перевод возраста питомцев в человеческие года.

💻

Валидатор СНИЛС

Проверка контрольной суммы СНИЛС (11 цифр). Алгоритм проверки контрольного числа, пакетная валидация.

🧮

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

Пересчёт ингредиентов при изменении количества порций. Округление до практичных мер.

Калькулятор RLC

Расчет параметров конденсаторов и индуктивностей, постоянной времени RC/RL цепей и резонанса LC контура.

🧮

Калькулятор животноводства

Рассчитайте кормовую базу, продуктивность и экономику животноводческого хозяйства. КРС, свиньи, овцы. По нормам ВНИИ животноводства и Минсельхоза РФ.