CouchDB é um banco de dados que abraça completamente a web. Armazene seus dados com documentos JSON. Acesse seus documentos com seu navegador da web, via HTTP. Consultas, combine e transforme seus documentos com JavaScript. O CouchDB funciona bem com aplicativos modernos para web e mobile. Você pode distribuir seus dados de forma eficiente utilizando a replicação incremental do CouchDB. O CouchDB suporta configurações master-master com detecção de conflitos automáticos.

O CouchDB vem com um conjunto de recursos, como transformação de documentos em tempo real e notificações de mudanças, que tornam o desenvolvimento web muito mais fácil. Ele ainda vem com um console de administração web fácil de usar, servido diretamente pelo CouchDB! Nós nos importamos muito com a escalabilidade distribuída. O CouchDB é altamente disponível e tolerante à partição, mas também é eventualmente consistente. E nós nos importamos muito com os seus dados. O CouchDB possui um mecanismo de armazenamento tolerante a falhas que coloca a segurança dos seus dados em primeiro lugar.

*Fonte: https://docs.couchdb.org/en/stable/intro/index.html / Introduction (tradução livre)

Como subir em um ambiente de Instâncias

Como rodar

Subir via sidecar em um pod. Assim o pod fala usando localhost com o banco.

Como fazer o discovery

O CouchDB pode conectar com os demais via o service, assim descobre as outras instâncias e obtêm toda a replicação de dados dela localmente.

Ele não precisa conhecer todos os nós. Pode usar topologias como:

  • Estrela: Um nó distribui para os demais
  • Malha Parcial: Alguns replicam entre si, outros não.
  • Malha Completa: Todos conhecem todos.

Persistencia

Por natureza, o CouchDB possui replicação nativa para o disco.