Оценка размера базы данных - PullRequest
18 голосов
/ 02 марта 2009

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

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

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

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

Ответы [ 4 ]

18 голосов
/ 02 марта 2009

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

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

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

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

0 голосов
/ 02 марта 2009

Мои правила:

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

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

0 голосов
/ 02 марта 2009

Определение:

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

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

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

0 голосов
/ 02 марта 2009

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

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

...