O que é o Apache CouchDB e quando utilizá-lo

O Apache CouchDB é um banco de dados NoSQL orientado a documentos, desenvolvido em Erlang, que armazena informações no formato JSON e expõe praticamente toda a sua funcionalidade através de uma API RESTful sobre HTTP. Diferente de bancos relacionais tradicionais, o CouchDB foi projetado desde o início para lidar bem com replicação distribuída, operação offline-first e sincronização entre múltiplos nós, o que o torna uma escolha interessante para cenários de TI industrial.

Em ambientes de manufatura e automação, é comum encontrar sistemas SCADA, gateways IoT e estações de chão de fábrica que precisam coletar dados localmente e sincronizá-los posteriormente com um servidor central, mesmo em conexões instáveis. O modelo de replicação multi-mestre do CouchDB resolve exatamente esse tipo de problema, permitindo que dispositivos de borda continuem operando mesmo quando a rede cai, sincronizando os dados assim que a conectividade é restabelecida.

Este tutorial mostra como instalar o CouchDB em uma máquina Ubuntu Linux, usando o repositório oficial mantido pela Apache Software Foundation, configurar o acesso administrativo e validar a instalação criando o primeiro banco de dados via API REST.

Pré-requisitos

Passo a passo da instalação

1. Atualizar o sistema

Antes de qualquer instalação, é fundamental garantir que a lista de pacotes e os componentes do sistema estejam atualizados, evitando conflitos de dependências.

sudo apt update && sudo apt upgrade -y

2. Instalar dependências básicas

Instale as ferramentas necessárias para adicionar o repositório oficial com segurança, via chave GPG.

sudo apt install -y curl gnupg apt-transport-https software-properties-common lsb-release

3. Adicionar a chave GPG e o repositório oficial do CouchDB

A Apache Software Foundation mantém um repositório APT oficial para distribuições baseadas em Debian/Ubuntu. Importe a chave de assinatura e registre o repositório correspondente à sua versão do Ubuntu.

curl -fsSL https://couchdb.apache.org/repo/keys.asc | sudo gpg --dearmor -o /usr/share/keyrings/couchdb-archive-keyring.gpg

source /etc/os-release
echo "deb [signed-by=/usr/share/keyrings/couchdb-archive-keyring.gpg] https://apache.jfrog.io/artifactory/couchdb-deb/ ${VERSION_CODENAME} main" | sudo tee /etc/apt/sources.list.d/couchdb.list

Em seguida, atualize novamente o índice de pacotes para que o novo repositório seja reconhecido.

sudo apt update

4. Instalar o Apache CouchDB

Com o repositório configurado, a instalação é feita como qualquer outro pacote via APT.

sudo apt install -y couchdb

Durante a instalação, um assistente interativo (via debconf) será exibido, perguntando se a instalação será do tipo "standalone" ou "clustered", o endereço IP de binding e a senha do usuário administrador. Para a maioria dos casos de uso em integração industrial de pequeno e médio porte, a opção standalone é suficiente. Se preferir configurar manualmente depois, essas mesmas opções podem ser ajustadas diretamente no arquivo de configuração.

5. Configurar o arquivo local.ini

O arquivo principal de configuração do CouchDB fica em /opt/couchdb/etc/local.ini. Nele é possível definir o endereço de bind, a porta HTTP e outras diretivas de segurança e desempenho.

sudo nano /opt/couchdb/etc/local.ini

Localize (ou adicione) as seções abaixo para expor o serviço na rede interna e definir a porta padrão:

[chttpd]
port = 5984
bind_address = 0.0.0.0

[couchdb]
single_node = true

Salve o arquivo e reinicie o serviço para aplicar as alterações.

sudo systemctl restart couchdb
sudo systemctl enable couchdb

6. Criar o usuário administrador

Caso o usuário admin não tenha sido definido durante a instalação, é possível criá-lo manualmente editando a seção [admins] do local.ini:

sudo nano /opt/couchdb/etc/local.ini
[admins]
admin = SenhaForteAqui123

Ao salvar o arquivo, o CouchDB automaticamente converte essa senha em texto plano para um hash seguro (PBKDF2) na próxima leitura da configuração. Reinicie o serviço novamente:

sudo systemctl restart couchdb

7. Testar a instalação

Com o serviço em execução, valide se a API HTTP está respondendo corretamente:

curl http://127.0.0.1:5984/

Uma resposta bem-sucedida retorna um JSON semelhante a este, confirmando a versão instalada e o status "couchdb: Welcome":

{
  "couchdb": "Welcome",
  "version": "3.3.3",
  "vendor": {
    "name": "The Apache Software Foundation"
  }
}

Para confirmar a autenticação do usuário administrador criado, execute:

curl http://admin:[email protected]:5984/_up

8. Criar o primeiro banco de dados via API REST

Todo o gerenciamento do CouchDB pode ser feito via requisições HTTP. Para criar um banco de dados chamado producao_sensores, por exemplo, basta executar um PUT autenticado:

curl -X PUT http://admin:[email protected]:5984/producao_sensores

A resposta esperada é:

{"ok":true}

Para confirmar que o banco foi criado e consultar seus metadados, use:

curl http://admin:[email protected]:5984/producao_sensores

A partir daqui, documentos JSON podem ser inseridos, consultados e atualizados diretamente via API REST, sem necessidade de nenhuma linguagem de consulta adicional.

Boas práticas e conclusão

Com o Apache CouchDB instalado e configurado corretamente, sua infraestrutura ganha um banco de dados robusto, replicável e nativamente compatível com arquiteturas distribuídas — características especialmente valiosas em projetos de IIoT, MES e integração de chão de fábrica. A partir deste ponto, o próximo passo natural é explorar views com MapReduce, o uso do Mango Query para consultas mais expressivas e a configuração de réplicas entre plantas industriais.

couchdbbanco-de-dadosnosqllinuxubuntu
← Voltar para o blog