SQL Server I/O – Armazenamento Parte 1

Um dos conceitos mais importantes no SQL Server, ou tecnicamente para quase qualquer plataforma  de banco de dados, é o armazenamento. Normalmente abreviado por I/O, para Input/Output, este componente é fundamental para o desempenho do servidor, segurança, integridade, segurança e dos dados.
Em um sistema de banco de dados, o armazenamento não é apenas uma vantagem, e sim é um dos pontos mais importantes na estrutura que pode tornar uma mega estrutura inviável para seu ambiente.

Na verdade, poucos outros componentes de hardware têm um efeito sobre as capacidades do desempenho no sistema de dados finais lugares. E ainda hoje temos situações onde não se dá atenção devida a este recurso como é dada a quantidade de memória ou a velocidade da CPU.

Neste momento cabe uma pergunta bem colocada aos tomadores de decisão.

Como o SQL Server armazena os seus dados?

Como ele gerencia e organiza seus arquivos?

Perguntas extremamente simples, parece uma situação normal, um DBA sabe onde estes dados são armazenados e de que forma. Será que esta afirmação é verdadeira?

O quanto isso pode afetar o seu desempenho posteriormente?

Parece bastante óbvio que os usuários adicionem dados, o espaço de armazenamento no servidor cresce sequencialmente de acordo com as informações inseridas.

Correto – mas como você planeja fazer para isso no seu Banco de Dados?

Também parece óbvio que, como o espaço de armazenamento se torna maior, as informações são inseridas e com base nisso é entendido o tamanho dos seus arquivos.

Mas isso nem sempre é verdade. Então como fatores físicos afetam a rapidez e eficiência o espaço é utilizado?

Baseado em alguns artigos que li, livros, tutoriais e até mesmo com palestras de especialistas da área, resolvi elaborar esta série de posts básicos destes aspectos físicos de armazenamento para o SQL Server, e alguns de seus efeitos sobre o desempenho do banco de dados.

Tipos de conexão de armazenamento

Existem essencialmente dois tipos básicos de armazenamento para o SQL Server, localmente ou remotamente em anexo.

De fato, muitos servidores têm ambos os armazenamentos internos e estão ligados a outro subsistema de armazenamento.

Armazenamento conectado localmente (chamado Direct Attached Storage ou discos DASD) é definida sobre os discos rígidos que estão diretamente conectadas à placa-mãe do computador.

A interface para estas unidades é chamada de Host Adapter (HA) ou Host Bus Adaptor-(HBA), uma vez que o disco rígido contém o controlador real. Existem várias especificações desta interface, como Integrated Drive Electronics (IDE), IDE (Enhanced EIDE), e assim por diante, estas especificações fazem parte do Technology Attachment Advance (ATA ou ATAPI) especificação, ou Serial-ATA (SATA ) ou Parallel-ATA (PATA).

Aqui cabe uma explicação sobre HBA, normalmente conhecido pela sua referência em dispositivos de Storage, mas o adaptador de host, ou host (HBA) são usados principalmente para se referir a dispositivos para conexão SCSI, Fibre Channel e dispositivos eSATA, mas os dispositivos para se conectar a IDE, Ethernet, FireWire, USB e outros sistemas também podem ser chamados de adaptadores de host. Recentemente, o advento do iSCSI (de Small Computer System Interface ) e Fibre Channel over Ethernet trouxe Ethernet HBAs, que são diferentes placas de rede Ethernet na medida em que incluem motores de Offload TCP. Há também HBAs convergentes que suportam ambos Ethernet e Fibre Channel chamados Adaptadores de Rede Convergente (CNAS).
Mas voltando ao contexto, servidores de nível de computadores frequentemente usam outro tipo de especificação diretamente conectada chamado de SCSI. Este tipo de unidade se conecta ao servidor através de uma ampla variedade de interfaces, de um cartão SCSI instalado localmente diretamente no barramento principal do computador através de uma conexão TCP / IP baseado novo chamado iSCSI.
O segundo tipo de armazenamento é conectado remotamente.

Refere-se à utilização das unidades fora do servidor, isso toma a forma de uma Storage Area Network, ou SAN. Em uma SAN, um ou mais servidores têm um Host Bus Adapter (HBA) instalado, que é uma placa do processador no barramento do servidor que conecta a uma rede de unidades de armazenamento, sejam eles discos rígidos, CD ou DVD bibliotecas, ou unidades de fita. Esta conexão é feita normalmente através de redes de canal de fibra, que são muito rápidos. Toda esta tecnologia em conjunto é o SAN.

As unidades, dependem da terminologia do vendedor, mas são armazenados em enclosures ou gabinetes. Dentro dos gabinetes que têm um ou mais trays, que contêm uma ou mais unidades. A granularidade pode ser muito boa, embora algumas unidades para algumas marcas são armazenadas diretamente em um único compartimento.

Aqui também cabe ressaltar, não confunda SAN com  NAS (Network Attached Storage).

NAS utiliza protocolos de rede padrão que são muito mais lento do que as conexões de SAN e nem sempre são vistos como local para o servidor como HBA, então o SQL Server não vai deixar você armazenar dados sobre ele.

O mesmo vale para a parte de unidades de rede mapeada para uma letra de unidade (E:\, F:\…)

A razão de uma SAN é tão diferente tem a ver com a forma como os enclosures estão ligadas a um servidor e da quantidade de servidores que podem ser conectados.

Em uma SAN, você pode pensar o elemento de armazenamento inteiro como um recurso de computação separado do servidor. No armazenamento conectado localmente, uma unidade se conecta a um único sistema. Em uma SAN, os enclosures e as unidades que possuem pode se conectar a vários servidores.

Embora o menor nível físico das unidades em uma SAN é o drive, o firmware e software que controla a SAN permite que o administrador de storage agrupe unidades e apresente-os para os sistemas operacionais através da HBA como uma LUN (Logical Unit Number). Desta forma, três unidades de 100 GB pode ser agrupado para aparecer como uma unidade de 300 GB para o sistema operacional, sem tornar o sistema operacional responsável por este agrupamento.

Posteriormente falarei sobre como criar estas LUN’s, estas unidades de agrupamento, como criar, qual a melhor composição, também falaremos de Multi Tiering, dentre outros detalhes.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s