Arquivos e Grupos de Arquivos
Arquivos:
Dentro do SQL existem três tipos de arquivos:
- Arquivos com a extensão .mdf
- Arquivos com a extensão .ndf
- Arquivos com a extensão .ldf
Tais extensões não são imutáveis, de forma que é possível alterar a extensão dos arquivos, mas por padronização indica-se que se mantenham tais extensões.
A extensão .mdf e .ndf dedicam-se ao armazenamento de dados, sendo uma primária e a outra secundária. Já a extensão .ldf refere-se ao armazenamento de arquivos de log.
Ao criar um arquivo é possível definir a propriedade Filegrowth, e a propriedade Max size. A opção Filegrowth faz com que o arquivo cresça de acordo com o definido no Filegrowth. Pode-se especificar o crescimento em Mg, GB, Tb ou
FileGroup:
O conceito de FileGroup foi introduzido no SQL para servir como uma camada de abstração para os “usuários”.O Objetivo do Filegroup é “esconder” o armazenamento físico no Sistema Operacional, de forma que quando um DBA por exemplo utilizar o SQL ele não se preocupe e perca tempo definido, ou procurando os arquivos dentro do SO.
Os FileGroup são dividos em três tipos.
· O FileGroup de Dados: Normalmente são os mais utilizados e armazenam textos.
· O fileGroup de Full-Text: Armazenam principalmente índices Full-Text.
· O FileGroup de FileStream.: Armazenam objetos do tipo FileStream.
Ao criar um objeto, deve-se especificar
Dentro do SQL existe também um FileGroup denominado Default. O FileGroup Default contém definições padrões que serão aplicadas automaticamente em FileGroups criados.
Outra característica importante do FileGroup é o algoritmo de preenchimento proporcional. Considere que você tenha diversos Filegroups em seu banco dados, sendo cada um de um tamanho diferente. O Algoritmo de preenchimento Proporcional garante com que todos os FileGroups cresçam ao mesmo tempo de forma proporcional. Por Exemplo: Caso eu tenha um FileGroup de 10Gb e outro de 1Gb, o algoritmo garantirá que a cada dez linhas gravado no primeiro, uma seja gravada no segundo.
O Conceito de linhas e páginas no SQL também merece ser citado aqui.
O SQL considera que em uma página seja dividida de tal forma que a página contenha um tamanho de 8kb. Os primeiros 96 bytes do cabeçalho da página armazenam informações do sistema, como por exemplo: O número da Página, o Tipo da página, a quantidade de espaço livre na página e o ID da unidade de alocação da página. O tamanho restante é usado para guardar dados. Em uma linha pode haver ate 8k de dados. Caso ocorra o estouro de linha,ou seja, a linha não consiga armazenar todas as informações especificadas, o SQL coloca um ponteiro na página e continua gravando os dados no ROW_OVERFLOW_DATA. Caso o espaço seja liberado na linha cheia o SQL remove os dados contidos no ROW_OVERFLOW_DATA e através do IN_ROW_DATA armazena na linha de origem.
Nenhum comentário:
Postar um comentário