Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Microsoft SQL Server 2005 для администраторов
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

4.4. Применение файловых групп

Файловые группы баз данных SQL Server 2005, применение, файловая группа по умолчанию

При создании файла базы данных вы можете указать, к какой файловой группе он будет относиться. Файловая группа (Filegroup) — это, как понятно из названия, способ организации файлов базы данных. По умолчанию для любой базы данных создается файловая группа PRIMARY, и все создаваемые файлы базы данных по умолчанию будут относиться именно к ней. В каких ситуациях вам может потребоваться создание дополнительных файловых групп?

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

q      пользовательские таблицы, которые постоянно изменяются пользователями;

q      таблицы справочника, которые меняются очень редко (например, когда приходят обновления от разработчиков).

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

q      при создании базы данных создаем дополнительную файловую группу USERS. Создаем новый файл данных, например, users.mdf, и определяем, что он будет относиться к этой группе;

q      при создании пользовательских таблиц и индексов к ним определяем, что они будут принадлежать файловой группе USERS (для этой цели в командах CREATE TABLE и CREATE INDEX используется ключевое слово ON с указанием имени файловой группы). Обратите внимание, что назначать таблицам и индексам конкретные файлы нельзя, а файловые группы — можно;

q      таблицы справочников оставляем в файловой группе PRIMARY или создаем для них свою файловую группу.

Далее будем производить резервное копирование отдельных файловых групп с разным расписанием. Например, резервное копирование файловой группы USERS можно производить каждый день, а файловой группы PRIMARY — раз в месяц.

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

Вторая ситуация, когда нам может потребоваться использовать дополнительные файловые группы, — ручное распределение нагрузки в дисковой подсистеме. Предположим, например, что у вас на сервере есть два жестких диска: быстрый и относительно медленный. Файлы из файловой группы USERS можно разместить на быстром диске, а файлы для редкоиспользуемых справочников — на медленном, и, таким образом, можно повысить скорость работы системы для пользователей.

Третья ситуация — ручное распараллеливание запросов в дисковой подсистеме. Разместив, например, в разных файловых группах таблицу и индексы к ней, можно добиться, чтобы в обслуживании запроса к этой таблице принимали участие оба диска. Выигрыш, конечно, получится небольшим (RAID-массив, с точки зрения производительности, дает намного большие преимущества), тем не менее, такая возможность существует.

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

По опыту преподавания автором курсов по SQL Server и знакомства с задачами на разных предприятиях, можно сказать, что файловые группы на предприятиях применяются очень редко (а многие администраторы и не подозревают об их существовании). Тем не менее, в некоторых ситуациях они вполне могут пригодиться.

Создать новые файловые группы можно или при помощи графического интерфейса SQL Server Management Studio (на вкладке Filegroups (Файловые группы) свойств базы данных), или при помощи команд CREATE DATABASE, ALTER DATABASE. Создаваемую файловую группу можно сделать файловой группой по умолчанию. В этом случае все новые таблицы и индексы в базе данных при создании будут по умолчанию помещаться в эту файловую группу.

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2016, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru