2011-01-25 2 views
0

Допустим, у вас есть реляционная база данных произвольной, но конечной емкости, а в базе данных хранится историческая информация о событиях для онлайн-системы, которая постоянно генерирует новые события. База данных должна содержать информацию о событиях для целей отчетности, но должна очищать события старше (N) числа дней. Учитывая, что у вас достаточно исторической информации, чтобы определить, что скорость генерации событий относительно постоянна и не увеличивается или уменьшается с течением времени, есть ли оптимальная процентная доля (60%, 70%, 80%, ...), которую вы планируете для этой базы данных? Если да, то почему вы выбрали этот процент?Оптимальная заполняемость базы данных?

ответ

1

Это зависит.

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

Использование фактического количества использованных мест зависит от его объема. В соответствующей заметке многие файловые системы становятся очень медленными, если они превышают определенную степень наполнения; вы, вероятно, захотите включить этот процент в качестве части вашей общей маржи. Кроме того, рассмотрите такие вещи, как гранулярность очистки вашего мероприятия: как часто это происходит?

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

0

Это не столько проблема с дизайном базы данных, сколько операционная проблема.

Вы ночной процесс обслуживания (или, тем не менее, вы устарели устаревшие данные) должны поддерживать достаточное свободное пространство для размещения любого рационального ежедневного объема событий. Предположительно отказ из-за нехватки места не является вариантом. Но вы знаете только, сколько места, зная, что такое ваш ежедневный объем и какова дисперсия. Если ваш средний дневной объем составляет 5 000 000 событий с отклонениями +/- 4 000 000 событий, и у вас стандартное отклонение, скажем, 2 000 000, вам нужно будет поддерживать гораздо больше свободного места, чем если бы у вас было такое же среднесуточный объем, но дисперсия составляет +/- 500 000 и стандартное отклонение 50 000. Пока вы не получите некоторую статистику, чтобы сообщить вам, вы просто догадываетесь.

В мире, где терабайтные жесткие диски стоят менее 200 долларов, беспокойство о пространстве не стоит.

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

Смежные вопросы