Arquivo da categoria: Cluster

MySQL Router – Alta Disponibilidade?

O MySQL Router deveria ser um balanceador de carga e gerenciador de alta disponibilidade para o MySQL. Não deixa de ser. O que me incomoda é sua baixa resiliência, e, minguada capacidade para para administrar números substanciais de conexões.

O MySQL Router é filho órfão do naufragado e péssimo projeto: MySQL Proxy. Um mal ajambrado e ruim projeto, destemperado e sem nexo que inclusive rodava scripts em LUA. Nunca teve apoio, e, cheio de bugs. Tanto que jamais deixou de ser classificado como “Alpha Release”. Com um breve banho de loja, virou, MySQL Router. Continue lendo MySQL Router – Alta Disponibilidade?

Facebook: do MySQL ao TAO

Facebook-TAOO Facebook dispensa qualquer tipo de apresentação. Até acho que existe mais gente no “face” do que viva no mundo real. Durante muitos anos o Facebook rodou e confiou na plataforma LAMP com Linux, Apache, MySQL-MemCache e PHP. Com o passar dos anos sua base de dados foi crescendo: 1TB, 10TB, 50TB, 100TB… 200TB, 500TB e continua crescendo.

De fato, o Facebook usou, ativamente, o MySQL até por volta de 100TB. Ooops, quer dizer que o MySQL pode ser escalado até 100TB de base? Sim e não! Eu, particularmente, acredito que o MySQL é muito competente, mas, eu não me sentiria confortável com uma base maior que 2TB ou 3TB. A dificuldade de manutenção acima disso é muito grande. Até 1TB é tranquilo. Mas, voltando ao Facebook, para conseguir a façanha de usar o MySQL com 100TB eles lançaram mão de milhares de “shards” lógicos controlados pela aplicação e sistema operacional. Inclua-se na aplicação, não só o site, mas também o MySQL personalizado pela equipe interna de desenvolvimento. Personalizar o MySQL não é para qualquer um. E, passa a ser mais um ponto de atenção… a cada atualização da comunidade e/ou do fabricante é preciso ser revista com atenção pela equipe de desenvolvimento. Controlar uma dezena de “shards” lógicos já é um drama, imagine milhares. É muito “if”! “If” nome do fulano começa com “A” os dados estão no servidor tal, “If” o nome do ciclano inicia com “C’, e, mora na Holanda, os dados estão no servidor 1.321! “If’ o desenvolvedor se perdeu no monte de “If”… só sobra o “f” (complete a palavra)!

Continue lendo Facebook: do MySQL ao TAO

Qual a diferença entre NAS e SAN?

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.

Continue lendo Qual a diferença entre NAS e SAN?