Как настроить SQL Server Enterprise для создания разделов - PullRequest
2 голосов
/ 04 марта 2012

У нас есть база данных, которая в настоящее время имеет размер 1,5 ТБ и увеличивается на гигабайт данных каждый день (текстовый файл), что составляет 5 миллионов записей - и она увеличивается ежедневно

В нем много столбцов, но заметным является START_TIME с датой и временем -

Мы выполняем много запросов в диапазоне дат -

Мы храним в нашей базе данных 90 дней, и у нас есть большая таблица, в которой есть ВСЕ записи -

Запросы, выполняемые на основе записей за 90 дней, выполняются довольно быстро и т. Д., Но запросы, выполняемые на ВСЕХ данных, выполняются медленно -

Я ищу ответы на очень высоком уровне, лучшие практики

Мы ДУМАЕМ об обновлении до SQL Server Enterprise и использовании разбиения таблиц, а также о разбиении раздела по месяцам (12) или дням (31)

Какой лучший способ сделать это?

Виртуальный физический, SAN, сколько дисков, сколько разделов и т. Д. -

Sas

1 Ответ

2 голосов
/ 04 марта 2012

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

Почему вы хотите разделить? Вы можете четко сформулировать, почему? Если нет (что я предполагаю), вы не должны этого делать. Разделение не улучшает производительность как таковую. Это повышает производительность в некоторых сценариях и снижает производительность в других.

Вы должны понимать, что вы получаете и что вы теряете. Вот что вы получаете :

  • Быстрое удаление целых разделов
  • Разделы только для чтения могут работать по другому расписанию резервного копирования

Вот что вы потеряете :

  • Производительность
  • Стандартное издание
  • Более низкая производительность для невыровненных запросов (в целом)

Вот то, что остается таким же :

  • Производительность для запросов и индексов с выравниванием по разделам

Если вы хотите разбить на разделы, вы, вероятно, захотите сделать это по дате или месяцу, но непрерывно. Так что не делайте ваш ключевой месяц (дата). Сделать это (год (дата) + '-' + месяц (дата)). Никогда больше не трогайте старые разделы.

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

Поскольку вы храните данные только 90 дней, вы, вероятно, хотите иметь один раздел в день. Каждый день в полночь вы убиваете последний раздел и изменяете функцию раздела, чтобы освободить место для нового дня.

Здесь недостаточно информации, чтобы что-то ответить об оборудовании.

...