Cluster, esse termo está ficando cada vez mais comuns em bate papos de DBAs e administradores, afinal é a tecnologia de ponta pensando-se em alta disponibilidade (HA High Availability), ainda mais lidando na disponibilidade de ambientes críticos. O conceito de cluster é você ter ambientes homogêneos ,isto é, contendo o mesmo hardware, arquitetura, software e atualização. Cluster poderá ser utilizado para escalonar sistemas, fornecer um melhor desempenho e ainda sobreviver falhas. Os tipos de cluster estão relacionados ao tipo de armazenamento que é feito.
Estarei dando foco nesse artigo sobre os tipos de clusters disponíveis e suas aplicações. Segue abaixo os tipos de clusters:
- Cluster não compartilhado (Shared Nothing Architecture).
- Arquitetura de compartilhamento de discos (Shared disk architecture).
- Arquitetura de compartilhamento de recursos (Shared everything architecture).
Todos os tipos de clusters apresentados são usados em tecnologias diferentes e para diferentes tipos de aplicações.
Funcionalidade | Cluster não compartilhado | Arquitetura de compartilhamento de discos | Arquitetura de compartilhamento de recursos |
Discos/ Compartilhamento | Os donos dos discos não compartilham informação entre os nos ao mesmo tempo. | Os donos dos discos são geralmente os nos do cluster. E em caso de falha o conteúdo de um disco e copiado para outro. | O compartilhamento e feito a nível disco para todos os nos, ou seja, todos os nos conseguem fazer a escrita/leitura de todos os discos. |
Numero de nós | Usualmente o numero de nos é muito grande. | Normalmente 2 nos fazem parte desse cluster, com um deles trabalhando em contingenciamento. | 2 ou mais nos dependendo da configuração de arquitetura. Nessa arquitetura é limitado apenas pelo licenciamento do cluster. |
Particionamento de informação | Nós podem acessar apenas dados pertencentes ao seu nó. Relação de 1 para 1. | Não necessário particionamento, já que a arquitetura foi criada para o acesso completo da informação. | Não necessário particionamento, já que a arquitetura foi criada para o acesso completo da informação. |
Coordenador client | Servidor externo ou qualquer membro do grupo | Não requer coordenador, o outro nos de contingência só é usando em caso de failover. | Não requer coordenador, qualquer um pode acessar a informação. |
Escalabilidade | Altamente escalavel, mas é limitada a quantidade de nós individuais. | Escalabilidade limitada devido as limitações no hardware utilizado. | Escalabilidade infinita devido a quantidade de nós independentes e compartilhamento de recursos. |
Acesso de escrita | Cada nó é pode escrever apenas na sua instancia. Uma instancia não pode escrever em discos de outra instancia. | Um no pode escrever em todos os discos, mas somente um por vez. | Todos os nos podem escrever em todos os discos limitados apenas pelo controlador de recursos de escrita (lock manager control) |
Carga de balanciamento (Load Balancing) | Não é possível | Não é possível | Possui perfeita carga de balanciamento. |
Particionamento da aplicação | Requer em toda a aplicação. | Não é requerimento, mas quando ativado é apenas para um nó (No ativo) | Não necessário. |
Adicionar novos nós | Não é possível | É possível mas apenas 1 no estará disponível por vez. | É possível. O conceito é baseado nessa idéia de acionamento de novos membros e prover maior disponibilidade. |
Capacidade de falhas (failover) | Não há failover devido 1 no acessar seus discos devidos, e não prover acesso a outros discos disponíveis em outras instancias. | Poderá reverter o nó ativo com um script automático ou a transição dos servidores manuais. | Provem toda e qualquer garantia, sua arquitetura foi construída para a alta disponibilidade removendo assim perigos no contingenciamento de recursos. |
I/O | Escrita normal. | Escrita normal. | A escrita/leitura é controlada pelo DLM (Data Locker Manager) e pelo Controlador de Cluster. |
Falhas de um no | As informações providas pelo cluster que falhou ficaram indisponíveis. | As informações momentaneamente ficaram indisponíveis para utilização, até o outro nó assumir o controle. | As conexões no no danificado é distribuída entre os nos restantes e toda a informação é disponibilizada novamente. Não há perdas e nem falhas todas são transparentes para a aplicação. |
Adicionar nó (disponibilidade) | Requer completa reorganização da arquitetura. | É possível a adição de novos nós, mas a adição não resolverá em nada, devido a mesma oferecer uma disponibilidade que já existem. | Podem ser removidos e adicionados novos nós com os bancos de dados online sem necessidade de parada no ambiente. Após a conclusão de adição do novo nó é feito o balanciamento automáticamente. |
Exemplos | IBM SP2, Informix Online XPS, Microsoft Cluster Server, etc. | ServiceGuard, Veritas Cluster Server, etc. | Oracle RAC, Oracle Parallel Server, etc. |
Obs. Tabela acima foi extraída do livro de Oracle RAC 10G da Oracle Press e traduzida.
3 comentários:
Luciano, muito bom o seu blog!!!
Estou lendo todos os outros post...
Estou querendo fazer um treinamento preparatório para certificação ORACLE. O que vc indica???
Att,
Fabio Machado de Oliveira
fabiomac@gmail.com
www.oracle.com.br/treinamento
Todas as escolas no site da Oracle será uma otima escolha
Eu aconselho se você estiver iniciando com Oracle pegar uma formação de longo prazo, pois te prepara melhor que um curso corrido em 4 semanas.
www.ibta.com.br é uma boa escola.
Realmente o IBTA é uma ótima escolha.
Abraço,
Kevin
Postar um comentário