2007-08-08

SAN - NAS

Ao dimensionar um Sistema de Informação existem vários pontos a ter em conta, um dos quais é o espaço necessário para armazenar a informação pretendida.

Ora, visto que um Sistema de Informação não é uma entidade estática mas irá sofrer evoluções, é necessário contar também com as necessidades futuras que possam vir a exigir mais espaço de armazenamento.

Nesta área há duas tecnologias principais que permitem maior flexibilidade do nosso armazém de dados: NAS e SAN, ou seja "Netwok Attached Storage" e "Storage Area Network". Embora os nomes sejam parecidos e o fim seja o mesmo, os conceitos que estão por detrás de cada uma delas são muito diferentes e assentam em pressupostos também diferentes. Uma SAN é constituída por um conjunto de discos (o armazenamento propriamente dito) que se liga a um computador através de uma rede dedicada, normalmente de fibra óptica. Um sistema NAS é um conjunto de discos que está ligado à rede local (LAN) através de Ethernet. Dito assim, até parece que não existe grande diferença entre os dois, a não ser a tecnologia de rede usada. A outra (maior) diferença entre as duas opções é o tipo de informação que fornecem aos sistemas a eles ligados.

Uma SAN fornece os dados que tem armazenados sob a forma de "blocos" tal como se fosse mais um disco interno de um servidor. Deste ponto de vista a SAN serve para "esticar" o espaço disponível para armazenar ficheiros num servidor.

Um sistema NAS fornece os dados sob a forma de ficheiros, ou seja, comporta-se como um servidor de ficheiros independente do resto dos servidores da rede.

Apresentado um exemplo:
Temos um computador na rede, que precisa de aceder ao ficheiro "Projecto1.odt" armazenado num sistema NAS. O caminho para esse ficheiros será do género [Usando caminhos SAMBA/CIFS]:

\\SistemaNAS\Partilha\Projecto1.odt

Se, pelo contrário, o mesmo ficheiro estiver numa SAN, gerida pelo servidor Server1:

\\Server1\Partilha\Projecto1.odt

Portanto, do ponto de vista dos clientes, nada a assinalar. Então porquê esta "questão" à volta da tecnologia a implementar ? Porque não escolher uma delas e seguir em frente ??
Essencialmente porque as Bases de Dados não gostam de NAS, i.e., se tivermos que alojar uma Base de Dados de alguma dimensão torna-se incomportável transferir um ficheiro "pela rede".

Vendo outro exemplo:

Supomos que existe uma Base de Dados de suporte ao nosso Sistema de Informação que irá ter cerca de 10 GiB.
Ao alojar este ficheiro no NAS, teremos que configurar o SGBD para o usar e, uma vez que os SGBD requerem acesso exclusivo a todo o ficheiro da BD, este teria que ser transferido na totalidade para o sistema que corre o SGBD sempre que houvesse necessidade de leitura/escrita na BD. Mesmo com FastEthernet de 1Gb/s, a transferência do ficheiro demoraria cerca de 2 minutos. Claro que este tempo de espera ao abrir o ficheiro será incomportável para as aplicações, já para não falar em recursos de memória que seria necessários do lado do SGBD.
Se o alojarmos numa SAN, podemos atribuir essa área da SAN ao servidor do SGBD e comportar-se-á como armazenamento local. Quer isto dizer que nunca haverá necessidade de transferir todo o ficheiro, pois em caso de acesso a ficheiros locais só os blocos envolvidos são transferidos.

Para além das razões "técnicas" de acesso a ficheiros, ecistem também diferenças significativas na instalação, configuração e administração dos dois tipos de armazenamento, o que leva a que muitas vezes o NAS seja preferido pelo seu menor custo e maior facilidade de implementação. Pelo contrário, quando o que está em causa é a velocidade de acesso e facilidade de expansão (e o dinheiro chega) prefere-se implementar uma SAN.

Ultimamente tem-se vindo a aproximar as duas filosofias pela junção de um NAS na interface da SAN com a rede, o que cria, na prática, um NAS muito escalável e bastante rápido.

Tanto num NAS como numa SAN, são aplicáveis outros conceitos relativos ao armazenamento, nomeadamente níveis de RAID e tecnologias de Discos, que fiarão ar uma próxima ocasião.

6 comentários:

Anónimo disse...

Ao alojar este ficheiro no NAS, teremos que configurar o SGBD para o usar e, uma vez que os SGBD requerem acesso exclusivo a todo o ficheiro da BD, este teria que ser transferido na totalidade para o sistema que corre o SGBD sempre que houvesse necessidade de leitura/escrita na BD. Mesmo com FastEthernet de 1Gb/s, a transferência do ficheiro demoraria cerca de 2 minutos.

Viva, n

Anónimo disse...

(o ultimo comentário ficou cortado)

Viva, não consigo deixar de comentar o artigo ;)

Via CIFS/Samba é possível fazer um lock a um ficheiro completo. É possível também aceder a blocos específicos para leitura ou escrita não sendo necessário copiar/escrever o ficheiro completo como é indicado no artigo.

O artigo foca a (inexistente) possibilidade (embora pouco recomendado para produção) de usar uma NAS como storage para SGBDs e a diferença de acessos às duas plataformas a ficheiros via CIFS.
Deveria ter sido dado mais foco às características técnicas e pontos bons e fracos de cada plataforma.
Com isso explicado o 2º artigo focava com exemplos os usos habituais dados a cada plataforma.

Pedro Ribeiro disse...

O que eu quis dizer com a necessidade de copiar todo o ficheiro foi o seguinte:

Um SGBD necessita de ter acesso total e incondicional aos ficheiros que contém as bases de dados por ele geridas, por isso eu disse que seria necessário copiar todo o ficheiro... Aqui a "limitação" é dos SGBD e não do samba....

Quanto à possibilidade de se usar um NAS para storage de Base de Dados, é apresentada como hipótese, não como possibilidade real, até porque, dado os problemas de performance que existem muitas SGBD recusam-se a criar e usar devices em partilhas de rede e afins...

Virá aí um outro artigo, concerteza :)

Netshark disse...

Outro aspecto ja algo polemico é a confusão entre sistemas de informação com sistemas informaticos.
No artigo falas apenas de um dos componentes dos sistemas de informação, os sistemas informaticos, pois não abordas pessoas, entidades e as relações entre isto tudo. É uma confusão frequente nos informáticos (e muito maior nos leigos), mesmo a niveis de investigação ou empresarial.
Quanto ao artigo propriamente dito, descreve muito bem as diferenças entre SAN e NAS. Em portugues mais informal pode-se dizer que NAS é um servidor com uma coleção de discos enquanto que SAN é um conjunto de servidores ligados (por interface proprio) a uma matriz de discos comum.
Claro que estes interfaces são de alto desempenho, normalmente em fibra optica, para reduzir ao maximo o principal bottleneck das SANs. Como é desigual comparar uma rede ethernet em NAS com um interface destes, as SANs ficam obviamente a ganhar.
No entanto a nivel de custos as SANs poderam ser potencialmente muito mais caras, todo depende do que esta em jogo.

Unknown disse...

Este artigo está ótimo, esclareceu muitas dúvidas que eu possuia. Obrigado por compartilhar a informação.

Bruno Kinoshtia disse...

Muito bom.
Ajudou bastante.