Оценка размера базы данных
Мне было интересно, что вы делаете при разработке нового приложения с точки зрения оценки размера базы данных.
например. Я планирую запустить веб-сайт, и мне сложно определить, какой размер я могу ожидать, когда моя база данных будет расти. Я не ожидаю, что вы скажете мне, какой размер будет у моей базы данных, но я хотел бы знать, есть ли общие принципы в оценке этого.
например. Когда Джефф разработал StackOverflow, он (предположительно) оценил размер и рост своей базы данных.
Моя дилемма заключается в том, что я собираюсь разместить размещенное решение для своего веб-приложения (его стоимость на этом этапе), и желательно не захотеть застревать себе в ногу, не приобретя достаточного пространства SQL Server (они заряжают премиум для этого).
Ответы
Ответ 1
Если у вас есть схема базы данных, размер элемента довольно прост... он просто оценил строки * средний размер строки для каждой таблицы * некоторый фактор для индексов * некоторый другой фактор для накладных расходов. Учитывая смехотворно низкую цену на хранение в наши дни, размер часто не является проблемой, если вы не намерены иметь очень высокий сайт трафика (или создаете приложение для крупного предприятия).
Для моих собственных упражнений по размеру я всегда создавал список таблиц Excel:
- col 1: каждая таблица будет расти
- col 2: оцененный размер столбца в байтах
- col 3: оценка количества строк (в год или макс., в зависимости от приложения)
- col 4: индексный коэффициент (я всегда устанавливаю его как 2)
- col 5: коэффициент накладных расходов (я всегда устанавливаю его в 1.2)
- col 6: общий столбец (col 2 X 3 X 4 X 5)
Сумма col 6 (итоговый столбец) плюс начальный размер вашей базы данных без таблиц роста - это ваша оценка размера. Вы можете получить гораздо больше научных, но это мой быстрый и грязный способ.
Ответ 2
Стоимость оценки, вероятно, будет больше, чем стоимость хранения
Большинство хостинг-провайдеров продают емкость по объему, используемому в конце каждого месяца, поэтому просто пусть он запускает
Ответ 3
Определение:
- сколько посетителей в день, V
- сколько записей каждого типа будет создано за посещение, N1, N2, N3...
- размер каждого типа записи, S1, S2, S3...
EDIT: забыл индексный коэффициент, хорошее правильное правило 2 раза
Общий рост в день = 2 * V * (N1 * S1 + N2 * S2 + N3 * S3 +...)
Ответ 4
Мои правила, которые следует соблюдать, -
- сколько пользователей я ожидаю?
- какой контент они могут разместить?
- насколько велика запись пользователя?
- Насколько велика каждый элемент контента, который пользователь может добавить?
- сколько будет добавлено I?
- Как долго будут отображаться элементы контента? навсегда? всего пару недель?
Умножьте размер записи пользователя на количество пользователей; добавьте количество пользователей, умноженное на размер элемента контента; умножить на два (для удобного коэффициента выдумки).