Apesar da sopa (ou soupa, como diz um colega) de letrinhas ser muito parecida, e, com objetivos similares, as características são bem diferentes. E diria que até a aplicação de uma e outra encontram lugares bem distintos. Contudo, a semelhança mais marcante entre SAN e NAS é que ambos são dispositivos de armazenamento ligados em rede.

De maneira muito simplicista, é uma forma de armazenar informações, para múltiplos propósitos, de maneira organizada e centralizada. Por ser um dispositivo,

Topologia NAS

não é possível admitir que um NAS ou SAN seja os discos locais de um servidor de banco de dados, por exemplo.

Normalmente, um NAS ou uma SAN são dispositivos especializados que provém melhor performance de leitura/escrita, melhor segurança, e, obviamente, interconectividade.

NAS – Network Attached Storage

Uma típica arquitetura com NAS pode ser visto na figura “Topologia NAS” onde temos alguns servidores conectando-se a um Disk Array (conjunto de discos) via LAN através de TCP/IP. É possível montar uma infra-estrutura NAS via WI-FI, inclusive. Exemplos bacanas de uso de NAS: compartilhamento de arquivos colaborativos (excel, word, ppt, etc); repositório de imagens de um e-commerce; compartilhamento de multimedia (fotos, filmes, músicas); caixa de entrada para servidores de emails; enfim, as utilidades são diversas, mas, notem que não incluí aqui o uso com banco de dados. No entanto, os appliances NAS tem encontrado cada vez o seu nicho: Back Up. Em minha humilde opinião, acredito que este é sem dúvida a área de atuação imbatível para appliances NAS.

Arquiteturas NAS também podem ser utilizadas para aumentar a capacidade de armazenamento, visto que por ser um dispositivo especializado e dedicado ao armazenamento e distribuição de dados, sua capacidade de crescimento é muito superior ao de servidores. Além disso, é muito mais simples criar ambientes de alta escalabilidade e redundância. Pode-se, por exemplo, criar ambientes replicados. Desta forma, numa eventual perda de um dispositivo, outro dispositivo NAS teria todas as informações atualizadas e poderia assumir a tarefa de continuar entregando serviço.

Um NAS pode ser um dispositivo de fábrica, de prateleira, como também pode ser montado a partir de servidores comuns, mas com software NAS instalado.

Dlink DNS-343 JBOD/RAID de 1TB até 4TB

Certamente, a melhor aposta é “dispositivos de prateleira”, os chamados “appliances”. O custo de um NAS pode variar tanto quanto um ingresso para um jogo clássico de futebol. Existem “appliances” para uso doméstico (muito populares hoje em dia), outros para mercado SOHO, SMB e para aplicações mais exigentes.

A D-Link por exemplo tem uma ótima linha de appliances NAS: D-Link ShareCenter. É uma linha que vai de produtos de uso doméstico até aqueles mais pretensiosamente mais high-end. O ótimo Time Capsule da Apple também entra na categoria.

Existe uma infinidade de fabricantes oferecendo appliances NAS de todos os tamanhos, cores, formatos, e, claro preços. No Brasil os appliances vão de R$ 499 até R$ 20.000,00.

Algumas dicas para escolher seu appliance NAS, e, claro que estas dicas podem variar em função da destinação que será dada ao seu appliance, mas, tem em mente sempre:

– MTBF: Mean Time Between Failure. É o tempo médio entre falhas reconhecido pelo fabricante. Cada vez mais eu tenho batido nesta tecla. Em se tratando de mídias de armazenamento, para mim, é o item que vem primeiro.

– Interface de Rede: Lembre-se voce irá falar pela rede. Uma boa interface é uma condição preliminar. Claro que, se sua rede é toda 100MBits/s não faz sentido pensar em ter um NAS 1GBit/s ou mesmo 10GBit/s. No entanto, se voce decidir em ter um NAS em sua infra-estrutura, certifique-se que, os servidores que irão acessá-lo, dispositivos de rede (switches, por exemplos) falem na mesma velocidade.

– Escalabilidade: Capacidade máxima em discos, e, consequentemente volume máximo de dados suportado.

– Interface de Discos: Quais tipos de discos serão aceitos SATA/SAS/SCSI/SSD? Existe Cache? Qual o tamanho do Cache. Discos “satinhas” por exemplo, servem bem para aplicações despretenciosas e backups. Para aplicações que demandam maior performance, nada menos que SAS com um bom cache é aceitável. Esteja muito, mas, muito atento à isto

– Gerenciamento de Disco: Um bom appliance deve ter flexibilidade no uso, gerenciamento e manutenção dos discos. Permitir RAID 0, 1, 5 e JBOD são parte fundamental. Criação de volumes de fazer parte do pacote: imagine um NAS com capacidade para 4 discos de 2TB. Se o appliance permitr criação de volumes, a capacidade combinada seria de 8TB. Definição de permissões de uso (por usuário), cota de disco, gerenciamento de energia, sistema de monitoramento e alerta internos, também, devem ser considerados

E ainda, existem os NAS via software. Nada mais é do que servidores (linux em sua maioria) com o software que transformará o computador em um NAS. Não gosto muito desta opção, pois, os preços dos appliances e os recursos oferecidos não me animam e instalar um computador para esta finalidade. Mas, existem ótimas opções (caso queira testar e até arriscar): FreeNAS, Gluster, entre outros projetos.

SAN – Storage Area Network

Normalmente, SAN é um mundo completamente diferente. Embora, também usado como grande repositório de dados. Geralmente, equipamentos SAN são muito mais especializados, mais velozes, com maior disponibilidade e resiliência, e acima de tudo, mais caros.

Topologia SAN

Ao contrário dos equipamentos NAS que opera, basicamente, a nível de arquivos, os SAN operação com blocos de dados (chunks), o que por si só já muda a performance.  Enquanto os NAS ficam disponíveis na rede via TCP, os equipamentos SAN são em sua maioria conectados direto ao determinado servidor, usualmente, via fibra (fibre channel),  sendo este, outro ponto que marca pela diferença de largura de banda e velocidade de tráfego.

Equipamentos SAN, normalmente, também são acessíveis via TCP. Embora trabalhem com blocos, é possível criar camadas de abstração de file systems.

As indicações para o uso de SAN são, de certa forma, as mesmas vistas em NAS. Só que aqui, eu incluo o uso para banco de dados. Geralmente, appliances SAN tem maior capacidade de I/O (leitura/escrita) que discos locais, contam com melhor sistema de Cache, traduzindo-se em ótima solução para bancos de dados que exigem alta performance (desde que a aplicação tenha budget).

No mundo de MySQL até a meados de 2005/2006 era impensável ter uma SAN (ou mesmo um NAS) como repositório de armazenamento de dados.

Com o constante amadurecimento do MySQL, e, seu uso cada vez maior em aplicações altamente performáticas, aplicações de missão crítica e de grande importância, alçaram as aplicações que usam MySQL a um novo e mais alto patamar. Cada dias mais, e tenho visto isto de 2007, empresas tem buscado meios de armazenamento mais rápidos, confiáveis e seguros para suas aplicações usando MySQL.

Para se ter uma idéia em 2007 participei de um único projeto MySQL que adotou o uso de uma SAN. Já em 2012, 25% dos projetos utilizaram SAN como solução viável, e, dentro do orçamento proposto.

Impressões do Titio

NAS e SAN não é para todas as aplicações MySQL. Por se tratar de um banco de dados que vive num mundo OpenSource, fiel da balança da plataforma LAMPP, e, por isso mesmo  permeado de soluções inteligentes, e, senão gratuitas, pelo menos de baixo custo. É preciso buscar e esgotar todas as alternativas possíveis antes de adotar o uso de NAS/SAN.

Não sou contrário. Gosto muito de NAS para aplicações do tipo servidor de arquivos/compartilhamento. Não aprovo o uso para banco de dados. Adoro SAN, nesta semana mesmo estou trabalhando num projeto de grandes proporções que utiliza 2 SAN maravilhosos, adquiridos pela bagatela de R$ 250 mil cada um.

SAN eu aprovo. Mas, deve fazer sentido e ter budget para isso.