Должны ли статические данные базы данных находиться в отдельной файловой группе?
Я создаю новую БД и у меня есть куча статических данных, которые не изменятся. Если это произойдет, это будет ручной процесс, и это произойдет очень редко.
Эти данные представляют собой смесь карт и географий.
Я предполагаю, что это может быть около 100K или около того, более 4 или около того таблиц.
Вопросы
- Должен ли я поместить их в файловую группу READ ONLY
- Могу ли я создать таблицы в конструкторе и определить файловую группу во время создания? Или это возможно только через скрипт?
- Как только данные окажутся в таблице (в файловой группе только для чтения), могу ли я изменить их позже? Это действительно сложно сделать?
Благодарю.
3 ответа
Это стоит того для VLDB (очень большие базы данных) по разным причинам. Для 100 000 строк или 100 КБ я бы не стал беспокоиться.
В этой статье группы технической поддержки SQL Server обсуждается одна из "городских легенд".
Есть еще один (не могу его найти), где вам нужно 300 ГБ - 1 Б данных, прежде чем вы должны рассмотреть несколько файлов / файловых групп.
Но, чтобы ответить конкретно
- Личный выбор (нет жесткого и быстрого правила)
- Да (правка:) В SSMS 2005, режим разработки, перейдите в Indexes/Key, "Спецификация пространства данных". Данные живут там, где находится кластерный индекс. Без кластерного индекса это можно сделать только через
CREATE TABLE (..) ON filegroup
- Да, но вам придется
ALTER DATABASE myDB MODIFY FILEGROUP foo READ_WRITE
с базой данных в однопользовательском режиме
Я думаю, что все, что вы здесь читаете, скорее всего будет спекуляцией, если только у вас нет никаких доказательств того, что это действительно было опробовано и рекомендовано - для меня это выглядит как новая, но маловероятная идея. Есть ли у вас основания подозревать, что обычные практики будут неудовлетворительными? Это должно быть довольно легко просто попробовать и узнать. Опубликуйте результаты, если у вас есть шанс.
Вряд ли помешает поместить данные в пространство только для чтения, но я не уверен, что вы значительно выиграете. Файловая группа только для чтения (или табличное пространство в Oracle) может дать вам 2 преимущества; меньше резервного копирования каждый раз, когда делается полное резервное копирование, и более высокий уровень безопасности данных (например, он не может быть изменен ошибкой, доступом к БД с помощью другого инструмента и т. д.). Преимущество резервного копирования наиболее справедливо для больших БД, где окна резервного копирования ограничены, поэтому важно приложить немного усилий для исключения групп файлов. Один из них зависит от характера сайта, данных и т. Д. (Если вы исключаете доступное только для чтения пространство из обычных резервных копий, убедитесь, что вы получаете копию на любых сохраненных лентах с резервными копиями. Я, как правило, резервирую резервные копии только для чтения один раз месяц.)
Я не знаком с дизайнером.
Переход на чтение и чтение только не обременителен.