Você está na página 1de 13

COUCH DB

CARLOS;
FELIPE;
SILAS;
WASHIGNTON.
ORIGEM:

 Criado em Abril de 2005 por Damien Katz, ex-desenvolvedor da Lotus Notes da


IBM;
 Seu objetivo era que o banco de dados se tornasse o banco de dados da Internet e, por
isso, seria projetado desde o início para atender a aplicações web;
 Em 2012, Katz, saiu do projeto para se concentrar em outro, após sua saída, a versão
1.6 está em andamento.
FUNCIONALIDADES DO COUCH DB:

É um banco de dados de armazenamento de documentos


em grande escala;

Hospedar um banco de dados que armazena


documentos.

Fornece o API HTTP RESTful para ler e atualizar


(adicionar, editar, apagar) os documentos do banco de
dados em tempo real.
CARACTERÍSTICAS ACID:

 O sistema de arquivos do CouchDB cobre todas as propriedades ACID: Atomicidade, Consistência,


Isolamento e Durabilidade.
 A principal unidade são os documentos, que podem ser metadados;

 Possuem nomes exclusivos e contêm valores de tipos variados (texto, número, booleano, listas, etc).
CARACTERÍSTICAS:

 Quando os documentos do CouchDB são atualizados, todos os dados e índices associados são liberados para o
disco e o processamento transacional sempre deixa o banco de dados em um estado completamente consistente:
 Todos os dados de documentos e atualizações de índices associados são sincronizadamente liberados para o disco;

 O cabeçalho atualizado do banco de dados é escrito em duas partes consecutivas e idênticas para compor os
primeiros 4 kbytes do arquivo e, em seguida, de forma síncrona salvas no disco.
 Em caso de um falha do Sistema Operacional ou falha de energia, as atualizações parciais são simplesmente
esquecidas ao reiniciar o banco de dados.
 Se algum problema ocorre durante a etapa 2 (gravação do cabeçalho), uma cópia idêntica dos cabeçalhos anteriores
permanece disponível, garantindo a coerência de todos os dados anteriormente salvos;
COMPACTAÇÃO:

 O Espaço perdido é recuperado eventualmente pela


compactação. Por agendamento ou quando o
arquivo de banco de dados exceder uma certa
quantidade de espaço desperdiçado, o processo de
compactação clona todos os dados ativos para um
novo arquivo e, em seguida, descarta o arquivo
antigo.
SEGURANÇA:

Para definir quem pode ler e atualizar documentos,


o CouchDB tem um modelo de validação simples
de acesso de leitura e de atualização que pode ser
estendido para implementar modelos de
segurança personalizados.
CONFLITOS:

O CouchDB permite que qualquer número de documentos conflitantes exista


simultaneamente no banco de dados.

Quando ocorrem conflitos de edição distribuída, cada réplica do banco de


dados vê a mesma “esquemática de conflitos” e cada instância tem a
oportunidade de resolvê-los.

O sistema faz a resolução de conflitos o mais descentralizada possível,


mantendo a semântica de documentos individuais do banco de dados.
APLICAÇÕES:

 Usando apenas o modelo de replicação básica,


muitas aplicações de banco de dados
tradicionalmente individuais podem ser remanejadas
em um modelo distribuído com quase nenhum
trabalho extra. A replicação no CouchDB é projetada
para ser imediatamente útil para aplicações de
banco de dados comuns, ao mesmo tempo que está
apta a atender clientes mais elaborados.
IMPLEMENTAÇÃO:

O CouchDB é construído sobre a plataforma Erlang OTP, que além de ser uma plataforma de desenvolvimento, é uma linguagem de
programação funcional e concorrente. Erlang foi desenvolvida para aplicações de telecomunicações em tempo real com ênfase
extrema na confiabilidade e disponibilidade.

O CouchDB é construído desde o início com uma visão consistente de um sistema de banco de dados distribuído de documentos.
Ao contrário das tentativas malsucedidas de acoplar recursos distribuídos sobre modelos legados de bancos de dados que são
vistas no mercado, o CouchDB é o resultado de um projeto cuidadosamente estudado, desenvolvido e integrado. O modelo de
documentos, as views, a segurança, os modelos de replicação, o layout de armazenamento eficiente e robusto em disco e a
natureza concorrente e confiável da plataforma Erlang são especialmente integrados para constituir um sistema confiável e
eficiente.
VANTAGENS E DESVANTAGENS:

VANTAGENS: DESVANTAGENS:
 Simplicidade;  Não tem suporte a transações;
 Modelagem de Dados;  Não se adequa bem a modelos
 Dados Flexíveis e de fácil adequação; relacionais pré-existentes;
 Replicação.  Não é a melhor opção como
datawarehouse;
APLICABILIDADE:

 CouchDB, assim como outros sistemas NoSQL, é


especialmente útil em cenários onde os dados não
precisam estar absolutamente estruturados. Ou seja,
embora os dados armazenados atendam a um sistema,
a maneira como esses dados são organizados não parte
de um esquema estruturado como ocorre nos SGBDs
relacionais. Por isso, bancos de dados NoSQL são
usualmente adotados, mas não limitados, a sistemas
que se baseiam em “documentos” auto-contidos, como
redes sociais, sites de compartilhamento de conteúdo e
repositórios de arquivos.
REFERÊNCIAS:

ANDERSON, J. CHRIS; LEHNARDT, JAN; SLATER NOAH (2010) “COUCHDB: THE DEFINITIVE GUIDE”,
HTTP://GUIDE.COUCHDB.ORG/EDITIONS/1/EN/INDEX.HTML, JUNHO. APACHE SOFTWARE FOUNDATION (2014)
“APACHE COUCHDB 1.6 DOCUMENTATION”, HTTP://DOCS.COUCHDB.ORG/EN/LATEST/, JUNHO. FLORENZANO, ERIC
(2008) “WHY COUCHDB SUCKS”, HTTP://EFLORENZANO.COM/BLOG/2008/11/23/WHY-COUCHDB-SUCKS/, JUNHO.
LAWSON, NOLAN (2013) “COUCHDB DOESN’T WANT TO BE YOUR DATABASE. IT WANTS TO BE YOUR WEB SITE”,
HTTP://NOLANLAWSON.COM/2013/11/15/COUCHDB-DOESNT-WANT-TO-BEYOUR-DATABASE-IT-WANTS-TO-BE-YOUR-
WEB-SITE/, JUNHO. LENNON, JOE (2009) “EXPLORANDO O COUCHDB”,
HTTP://WWW.IBM.COM/DEVELOPERWORKS/BR/LIBRARY/OS-COUCHDB/, JUNHO. WIKIPEDIA (2014) “COUCHDB”,
HTTP://EN.WIKIPEDIA.ORG/WIKI/COUCHDB, JUNHO.

Você também pode gostar