[firebase-br] Cloud Computing

Alexandre Sousa dave.malkavian em gmail.com
Qua Ago 13 11:43:28 -03 2008


Olá a todos,

De uns tempos pra cá vem aparecendo muito essa idéia de cloud computing, que isso vai revolucionar o mercado, etc, etc. Mas ainda existem muitos problemas a serem resolvidos e um deles é inerente aos bancos de dados. Aproveitando o espaço da lista queria tirar umas dúvidas.

Para uma aplicação utilizar o poder dessa organização, distribuição é imprescindível. Imaginem que tenho 3 servidores em partes do mundo diferentes, distantes entre si e em cada um deles armazenarei dados. Como poderia organizar a estrutura para garantir a máxima disponibilidade e redundância possíveis?

Idéia 1:
Cada um dos servidores rodam o SGBD e possuem um arquivo de banco de dados.

Problemas:
- Como seria feita a convergência de dados entre os 3 servidores? 
- O firebird suporta algum recurso de convergência de dados entre servidores diferentes? Numa situação extrema, digamos que um dado foi guardado no servidor 1 e antes de realizar a convergência, o servidor 1 caiu. Quer dizer que o usuário não terá o dado disponível, mesmo que a aplicação esteja rodando normalmente, afinal tenho mais 2 servidores? 
- O crescimento é exponencial. Como tudo ta guardado em todos os servidores, não aproveitaria realmente todo meu parque e minha disponibilidade de serviço seria limitada.

Idéia 2:
Cada um dos servidores armazena apenas o arquivo de banco de dados e tenho um outro servidor com o SGBD que gerencia os arquivos nos servidores remotos.

Problemas:
- O firebird suporta esse tipo de gerenciamento? Um servidor gerenciando múltiplos arquivos remotos? 
- Nesse caso, com um servidor, minha disponibilidade é baixa, pois se o SGBD cair, cai a aplicação inteira. Se colocase outro servidor pra gerenciar os 3 arquivos (5 servidores, 2 rodando os SGBDs, 3 arquivos de dados), correria o risco de corrupção de dados? 
- O firebird consegue balancear a carga? Exemplo: o servidor 1 não está disponível no momento da gravação, então o firebird escolhe o servidor 2 para gravar o dado.
- O firebird consegue fazer um select em todos os arquivos para procurar os dados, servindo assim como uma camada concentradora de dados que estão espalhados pelo mundo?

Por ser uma lista sobre firebird, gostaria de saber o que ele oferece. Mas se alguem souber de outros SGBDs que façam isso, creio que é legal citar, só por curiosidade.

Essas foram as idéias que tive até o momento para bolar uma solução, mas tá dificil.. :)... Qualquer sugestão é muito bem vinda e espero que ajude outras pessoas também.


Obrigado.
Alexandre Sousa


Mais detalhes sobre a lista de discussão lista