Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Papo Reto - CouchDB Database

Papo Reto - CouchDB Database

Nesta apresentação faço um overview do CouchDB Database

William Miranda de Jesus

March 10, 2016
Tweet

More Decks by William Miranda de Jesus

Other Decks in Programming

Transcript

  1. rela x Introdução CouchDB é um gerenciador de banco de

    dados NoSQL open source orientado a documento. Ele faz parte da Apache Foundation e foi desenvolvido em 2005 por Damien Katz utilizando a linguagem de programção Erlang
  2. rela x Características • Simples • Escalavél • Tolerância a

    Falha • MVCC (Controle de Concorrência Multi Versão)
  3. rela x Abordagem Relax • Interface – CouchDb provê uma

    interface simples, API baseada em HTTP Restful API. Não há necessidade de drivers ou protocolos complexos.
  4. rela x Abordagem Relax • Deployment – CouchDb é tolerante

    a falha e geralmente é auto suficiente, se algo vai errado trata de forma simples e elegante. Em geral quando ocorre um problema será simples de saber o que aconteceu .
  5. rela x Abordagem Relax • Scaling – CouchDB irá gerenciar

    qualquer aumento temporário das requisições concorrentes. O tempo de resposta pode aumentar, mas todas serão respondidas.
  6. rela x FUTON Interface Grafica Web que permite o desenvolvedor

    interagir com o CouchDB, utilizando quase todas as features disponíveis através do Browser.
  7. rela x Views/ MapReduce • Os dados armazenados são estruturados

    em views • As views são armazenadas em estruturas B-Tree • Permite você executar filtros no CouchDB utilizando Map/Reduce. • Os MapReduce no CouchDB são funcões Javascript.
  8. rela x Mapas • Transforma a entrada dos documentos em

    sua estrutura original para dentro de um par de chave/valor.
  9. rela x Reduce • Os mapas geram um conjunto de

    chave/valor o qual pode opcionalmente ser reduzidos a um simples valor ou agrupamento de valores, através da função de reduce.
  10. rela x Rest API - Path • Os path e

    os métodos dentro do CouchDB são estruturados de uma forma que facilita o desenvolvedor identificar exatamente o resultado da operação que esta sendo executada.
  11. rela x CouchAPPs CouchApps - São aplicações Javascript e HTML5

    que podemservidas diretamente para o browser de dentro do CouchDB, sem a necessidade de outro software a sua stack. Ou seja, além de banco de dados o CouchDB é um servidor de aplicação CouchApp – Também é o nome do aplicativo nos ajuda a criar CouchApps para CouchDB
  12. rela x PouchDB Biblioteca Javascript baseada no CouchDB desenvolvida para

    rodar nos browser modernos, permitindo que o desenvolver crie aplicações que rodem bem offline e possa ser sincronizada com o couchdb o remoto. PouchDB abstrai o acesso ao Banco Local dos Navegadores e a sincronização com o CouchDB
  13. rela x Replicação • CouchDB facilita a forma como a

    replicação é executada, utilizando a mesma RestApi para executar a operação de replicação. • Ele fornece uma grande variedade de possibilidades para replicação. Seja entre banco locais, ou entre banco remotos.
  14. rela x Replicação • Replicar do banco A para o

    banco B uma vez • Replicar do bacno A para o banco B continuamente • Replicar do banco A para o B e do B para A • Replicar do banco A para B para C para D para E para A. (A->B->C->D->E->A) • Replicar entre o banco A, B, C, D, and E • Replicar do banco A, B, C, e D para o banco E
  15. rela x Consistência Eventual Consistência eventual - É uma forma

    específica de consistência fraca. O Sistema de armazenamento garante que, se nenhuma atualização for feita no objeto, todos os acessos irão devolver o último valor atualizado.
  16. rela x Conclusão • CouchDb é um banco de dados

    NoSQL que nasceu totalmente pensado no desenvolvimento das aplicações WEB modernas e aplicação mobiles. • O fato de sua comunicação ser através do HTTP e possuir sua API Rest para execução de todas operçãos, traz uma proximidade ao dia à dia do desenvolvedor WEB • Um outro ponto chave é a facilidade na replicação do banco de dados