Artigo SQL Magazine 20 - Utilizando filegroups para ganho de performance e gerenciamento de espaço

Artigo da Revista SQL Magazine - Edição 20.

Clique aqui para ler esse artigo em PDF.

 

 

Clique aqui para ler todos os artigos desta edição

 

Utilizando filegroups para ganho de performance e gerenciamento de espaço

Paulo Ribeiro

 

Filegroups são estruturas lógicas que sustentam os arquivos de dados em um database. Um database padrão possui um arquivo de dados e um arquivo de log;  o arquivo de dados está associado a um filegroup chamado PRIMARY. Pode-se criar outros arquivos de dados assim como outros filegroups, mas porque, como e quando criar outros filegroups?

Nessa matéria aprenderemos a utilizar o recurso dos filegroups na administração do SQL Server 2000. Começaremos estudando a estrutura de um database para entender exatamente onde se encaixam os filegroups; depois serão apresentadas algumas situações práticas que se beneficiam da utilização de  filegroups.

 

Arquitetura de um database

Apesar do nome singular, um database é uma estrutura formada por pelo menos dois arquivos: um para armazenamento de dados (Master Data File, extensão .MDF) e outro reservado para o log de transações (Log Data File, extensão .LDF) (ver Figura 1).

 

      

Figura 1. Estrutura típica de um database.

 

Além dos arquivos .MDF e .LDF, é possível criar outros arquivos para armazenamento de dados. Esses arquivos secundários possuem extensão .NDF, de SecoNdary Data Files e podem ser criados no mesmo filegroup do arquivo .MDF (PRIMARY) ou em outro filegroup. A decisão de utilizar o mesmo filegroup ou criar um novo depende da finalidade do arquivo secundário. A seguir estão listadas algumas situações cuja resolução baseia-se na implementação de filegroups:

·         ivo de dados principal atingiu um tamanho que extrapola a capacidade da unidade de fita DLT utilizada no backup. Esse problema pode ser resolvido com a realocação de tabelas em outro filegroup, distribuindo o backup final em partes menores que não ultrapassem a capacidade da fita. Nesse caso, deve-se criar outro filegroup para armazenar o arquivo secundário.

·         Você precisa criar um database com tamanho inicial de 25Gb, mas não possui esse espaço em uma única unidade de disco. A distribuição é a seguinte: 20Gb na unidade C e 15Gb na unidade D. Qual a solução? Crie um Master Data File com 15Gb em C e um Secondary Data File com 10Gb em D. Os dois arquivos constituirão uma unidade única de gerenciamento de espaço. O arquivo secundário criado na unidade D será visto pelo SQL Server 2000 como uma extensão natural do arquivo primário. Nesses casos, o arquivo secundário deverá ser criado no mesmo filegroup do arquivo que se deseja expandir (PRIMARY).

·         Você pode melhorar a performance de um database criando índices e tabelas em filegroups distintos, localizados em unidades e controladoras específicos. Se as páginas de dados das tabelas forem armazenadas em uma unidade diferente daquela utilizada para os índices (por exemplo C e D), pesquisas que utilizam índices serão beneficiadas por leituras executadas em paralelo. Nesse caso deve-se criar outro filegroup para armazenar o arquivo secundário." [...] continue lendo...

Artigos relacionados