Оценка размера базы данных

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

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

Например, когда Джефф разработал StackOverflow, он (предположительно) предположил размер и рост своей базы данных.

Моя дилемма заключается в том, что я выбираю хостинговое решение для своего веб-приложения (на данном этапе речь идет о стоимости) и, желательно, не хочу стрелять себе в ногу, не покупая достаточно места для SQL Server (они берут за это дополнительную плату. ).

Ответов (4)

Решение

Если у вас есть схема базы данных, определение размера довольно просто ... это всего лишь примерные строки * средний размер строки для каждой таблицы * какой-то фактор для индексов * какой-то другой фактор для накладных расходов. Учитывая смехотворно низкую стоимость хранилища в настоящее время, определение размера часто не является проблемой, если вы не собираетесь иметь сайт с очень высокой посещаемостью (или создаете приложение для крупного предприятия).

Для моих собственных упражнений по выбору размеров я всегда создавал список таблиц Excel:

  • столбец 1: каждая таблица, которая будет расти
  • столбец 2: предполагаемый размер столбца в байтах
  • столбец 3: приблизительное количество строк (в год или максимум, в зависимости от приложения)
  • столбец 4: коэффициент индекса (я всегда устанавливал 2)
  • столбец 5: коэффициент накладных расходов (я всегда устанавливал 1,2)
  • столбец 6: общий столбец (столбец 2 X 3 X 4 X 5)

Сумма столбца 6 (общий столбец) плюс начальный размер вашей базы данных без таблиц роста и есть оценка вашего размера. Вы можете стать более научным, но это мой быстрый и грязный путь.

Мои практические правила, которым нужно следовать,

  • сколько пользователей я ожидаю?
  • какой контент они могут публиковать?
  • насколько велика запись пользователя?
  • насколько велик каждый элемент контента, который может добавить пользователь?
  • сколько я буду добавлять?
  • как долго будут жить эти элементы контента? навсегда? всего пару недель?

Умножьте размер записи пользователя на количество пользователей; сложите количество пользователей, умноженное на размер элемента контента; умножьте на два (для удобного коэффициента выдумки).

Стоимость оценки, вероятно, будет больше, чем стоимость хранения.

Большинство хостинг-провайдеров продают емкость в размере, использованном в конце каждого месяца, поэтому просто дайте ей поработать.

Определять:

  • сколько посетителей в день, V
  • сколько записей каждого типа будет создано за посещение, N1, N2, N3 ...
  • размер каждого типа записи, S1, S2, S3 ...

РЕДАКТИРОВАТЬ: забыл коэффициент индекса, который, как правило, составляет 2 раза

Общий прирост за день = 2 * V * (N1 * S1 + N2 * S2 + N3 * S3 + ...)