Os bancos de dados são complexos e têm muitas partes móveis que podem falhar. Ao mesmo tempo, as falhas em sistemas de grande escala são inevitáveis. Essas falhas podem ocorrer a qualquer momento e em qualquer lugar da pilha. Então, o que tudo isso significa para seu aplicativo de missão crítica? Para manter seu aplicativo em execução 24 horas por dia, 365 dias por ano, seu banco de dados deve ter alta disponibilidade e ser capaz de se recuperar de qualquer desastre. Mesmo que um único nó, um rack ou até mesmo um datacenter inteiro falhe, seu banco de dados deve continuar a operar sem nenhum tempo de inatividade. Para um aplicativo de missão crítica, esse é um grande obstáculo que seu banco de dados deve cumprir, mas a falha não é uma opção.
Várias organizações têm usado com sucesso o Couchbase Server em produção para seus aplicativos de missão crítica. Este blog discute os alta disponibilidade e os recursos de recuperação de desastres do Couchbase Server que o tornam tão confiável, incluindo um novo recurso interessante que anunciamos no Couchbase Server 2.5 chamado "Rack Awareness". Para saber mais sobre o Couchbase Server 2.5, inscreva-se em nosso webinar aqui
Por que a replicação não é suficiente?
A replicação de dados está no centro da alta disponibilidade, mas não é suficiente por si só. No Couchbase, cada documento é replicado até 3 vezes (dependendo do fator de replicação configurado pelo usuário). Mas, para que um sistema de banco de dados tenha alta disponibilidade, não são apenas os dados - todos os componentes do sistema, incluindo hardware, software, dados etc., devem ter alta disponibilidade.
Em termos simples, o fato de ter duas ou mais unidades de algo não significa alta disponibilidade. Mesmo que uma peça de hardware falhe, o sistema deve ser capaz de continuar operando. Se um componente de software falhar, ele também deverá continuar funcionando. Por exemplo, Nas versões anteriores ao Couchbase Server 2.5, os dados da réplica eram distribuídos aleatoriamente em todos os nós do cluster, com cada nó (de um cluster contendo N nós) contendo aproximadamente 1/Nésima das partições de dados. As réplicas dessas partições foram divididas igualmente entre os N-1 nós restantes. Com essa distribuição de dados, se um rack físico falhar, os nós do rack poderão conter tanto a partição de dados primários quanto os dados de réplica de algumas partições, resultando em possível indisponibilidade de dados. Definitivamente, era necessário algo mais...
Reconhecimento de rack no Couchbase Server 2.5
À medida que o cluster do Couchbase aumenta, você precisará distribuir os nós do servidor do Couchbase em mais de um rack. Para manter a alta disponibilidade, talvez você queira que o cluster sobreviva à falha de um rack inteiro. Dessa forma, a falha de um único rack não tornará indisponíveis todas as cópias de seus dados.
Com reconhecimento de rack no Couchbase Server 2.5, você pode configurar os nós em grupos de servidores em que todos os servidores de um grupo estão em um único rack. O agrupamento de servidores em grupos de servidores garante que as partições de dados de réplica não estejam no mesmo rack que as partições primárias. Por exemplo, há 3 grupos de servidores, cada um contendo 3 nós de servidor. O cluster tem 2 réplicas (3 cópias dos dados) e as cópias de réplica estão em racks diferentes. A configuração é equilibrada porque cada grupo de servidores tem o mesmo número de nós de servidor.
<!-
<!-
->
<!-
Figura 1: Uma configuração balanceada com reconhecimento de rack no Couchbase Server
->
Quando um rack falha e os nós do servidor passam por uma falha, as cópias de réplica em outros racks são promovidas a ativas e o aplicativo pode acessar os dados.
-><!-Figura 2: Reconhecimento de rack no Couchbase Server
->
Diferentemente de outros bancos de dados existentes, a configuração do reconhecimento de rack no Couchbase Server é simples - basta criar os grupos de servidores e atribuir nós de servidores a grupos de servidores específicos. O reconhecimento de rack no Couchbase Server pode ser configurado por meio da opção console de gerenciamento ou usando o Interface REST.
Conscientização de rack ou replicação entre data centers?
Furacões, terremotos, falhas de DNS, tempestades de raios, dedos gordos etc. foram os principais motivos da maioria das maiores interrupções nas infraestruturas tradicionais de data center. Esses incidentes nos ensinam que precisamos de algo mais, de fato... Plano B para confiabilidade.
O Plano B exige que você tenha alta disponibilidade e recuperação de desastres. A alta disponibilidade (HA) garante que os dados estejam disponíveis com o menor tempo de inatividade possível, enquanto a recuperação de desastres (DR) trata da preparação e da recuperação de um desastre.
Com cada vez mais empresas usando o Couchbase para executar seus aplicativos de missão crítica, sentimos que era importante ir além de apenas uma falha de nó e uma falha de rack para manter seu aplicativo em execução. Mesmo que um datacenter inteiro falhe, seu banco de dados e seu aplicativo devem continuar funcionando. Usando a replicação entre datacenters no Couchbase Server, você pode replicar dados de forma ativa e ativa entre dois datacenters em diferentes regiões geográficas que melhor se adaptem aos seus requisitos de recuperação. No Couchbase 2.5, adicionamos suporte para proteger o canal de replicação entre os datacenters para aumentar a segurança.
O reconhecimento de rack é um recurso de alta disponibilidade no Couchbase Server, enquanto a replicação entre datacenters é um recurso de recuperação de desastres. Então, você precisa de reconhecimento de rack ou de replicação entre datacenters? Sim, você precisa de ambos!
Deseja saber mais sobre o 2.5?
O Couchbase Server 2.5 é uma versão empolgante e, além da disponibilidade e da confiabilidade, também adicionamos alguns recursos interessantes na área de segurança e gerenciamento de conexões. Para saber mais sobre esses recursos, registre-se agora para o próximo webinar de lançamento.
<!-
->
Além dessas melhorias, há várias outras correções de desempenho e estabilidade que aprimoram a experiência do usuário em todas as plataformas compatíveis. Para saber mais sobre essa versão, dê uma olhada em nossa documentação aqui.
Experimente o 2.5! Faça o download aqui: https://www.couchbase.com/download