Atrás

CouchDB2

Viendo la versión de página #30
(Restaurar esta versión) 

Modificado: 4 de julio de 2023, 16:32   Usuario: Adalton de Sena Almeida Filho  → Adalton de Sena Almeida Filho

Slides da Apresentação

Nome do Banco de Dados


Logo CouchDB

Nomes dos Alunos

  • Adalton de Sena Almeida Filho - 12542435
  • Bernardo Rodrigues Tameirão Santos - 12733212
  • Daniel Henrique Lelis de Almeida - 12543822
  • Gabriel dos Santos Brito - 10284250
  • Felipi Yuri Santos - 11917292
  • Igor Cardozo Martins - 10387515
  • Rodrigo de Freitas Lima - 12547510
  • Victor Lucas de Almeida Fernandes - 12675399
  • Vinicius Carneiro Macedo - 11915752
  • Yuri Fernandes Pereira - 13730127

Principais Funcionalidades

Replicação: Provém a forma mais simples de replicação, e não há outra base de dados tão simples de replicar.

Armazenamento de Documentos: É uma base de dados NoSQL que segue armazenamento de documentos, em que cada campo é unicamente nomeado e contém valores de vários tipos de dados, como texto, números, booleanos e listas.

Propriedades ACID: O layout de arquivos do CouchDB segue todas as características das propriedades ACID, que são atomicidade, consistência, isolamento e durabilidade.

Segurança: Também fornece segurança no nível do banco de dados e as permissões são divididas em leitores e administradores, onde os leitores podem fazer a leitura e a gravação no banco de dados.

Map/Reduce: O principal motivo da popularidade do CouchDB é um sistema de mapear / reduzir.

Authentication: o CouchDB facilita a manutenção da autenticação aberta por meio de um cookie de sessão, como um aplicativo da web.

Built for Offline: o CouchDB pode replicar para dispositivos como smartphones que têm um recurso para ficar offline e lidar com a sincronização de dados para você quando o dispositivo estiver online novamente.

Eventual Consistency: o CouchDB garante consistência eventual para fornecer disponibilidade e tolerância de partição.

HTTP API: Todos os itens têm um URI (Identificador de Recurso Único) exclusivo que é exposto via HTTP. Ele usa os métodos HTTP como POST, GET, PUT e DELETE para as quatro operações básicas CRUD (Criar, Ler, Atualizar, Excluir) em todos os recursos.

O CouchDB implementa CA, CP ou AP? Por quê?

O CouchDDiagrama CouchDBB possui uma abordagem diferente do Teorema CAP se comparado com bancos de dados relacionais, que escolhem dois entre os três atributos: Consistência, Disponibilidade e Tolerância ao Particionamento. O CouchDB funciona no modo AP (Availability e Partition Tolerance), pois é projetado para atender a aplicações com prioridade para Disponibilidade e Tolerância ao Particionamento. Contudo, o CouchDB também usa  “Eventual Consistency”: os clientes podem escrever em algum nó da base de dados, e é garantido que esta informação será eventualmente propagada para o resto da base de dados. Desse modo, o CouchDB também busca atender ao atributo da Consistência.


Vantagens

  1. HTTP API é usado para facilitar a comunicação.
  2. Ele é usado para armazenar qualquer tipo de dados.
  3. Reduce/Map permite otimizar a combinação de dados.
  4. A estrutura do CouchDB é muito simples
  5. Indexação e recuperação rápidas.

Desvantagens

  1. O CouchDB ocupa um grande espaço para sobrecarga, o que é uma grande desvantagem em comparação com outros bancos de dados.
  2. As consultas arbitrárias são caras.
  3. Há um pouco de sobrecarga de espaço extra com o CouchDB em comparação com a maioria das alternativas.
  4. Visualizações temporárias em grandes conjuntos de dados são muito lentas.
  5. Não suporta transações
  6. A replicação de grandes bancos de dados pode falhar.

Nichos de Aplicação

  • Aplicativos Web em tempo real: permite armazenar e sincronizar dados entre clientes e servidores em tempo real.
  • Sistemas de Gerenciamento de Conteúdo (CMS): usado para armazenar e indexar informações relacionadas ao conteúdo, como blogs, notícias e documentos.
  • Aplicativos móveis com sincronização offline/online: os dados podem ser armazenados localmente nos dispositivos móveis e sincronizados com o servidor quando houver conectividade.
  • Internet das Coisas (IoT): adequado para armazenar grandes volumes de dados gerados por dispositivos IoT, como dados sensoriais e métricas.
  • Sistemas de gerenciamento de documentos flexíveis: permite armazenar e recuperar documentos com diferentes esquemas sem a necessidade de migrações complexas.
  • Aplicativos colaborativos em tempo real: suporta aplicativos onde vários usuários podem trabalhar simultaneamente nos mesmos dados.

Referências

https://www.javatpoint.com/features-of-couchdb

https://www.geeksforgeeks.org/introduction-to-apache-couchdb/

https://www.integrate.io/blog/couchdb-vs-mongodb/

https://acervolima.com/introducao-ao-apache-couchdb/