CouchDB vs PostgreSQL em Rails Diogo Biazus (diogob@gmail.com) e Johalf Farina (johalffarina@gmail.com)
CouchDB ?
Projeto da  Apache.org;
Nasceu em 2005;
OpenSource;
SGDB orientado a documentos;
Versão atual 0.9.1. CouchDB
MySQL PostgreSQL    SQLite SGBDs relacionais SimpleDB MongoDB CouchDB SGBDs orientados a documentos Cenário atual de SGBDs
SGBD orientado a documentos Os dados não são armazenados em linhas e colunas de tabelas relacionadas  ou não e sim em  documentos ;
Não há limite no armazenamento das informações;
Documentos são armazenados e acessados atravéz de um identificador;
Livre de schemas.
Agner Krarup
Porque CouchDB ?
{ "_id": "acdd4a90-6e85-012c-a43d-001e68078287", "_rev": "4-1059007316", "name": "Lorem ipsum dolor asit amet", "created_at": "2009/08/18 21:32:18 +0000", "email": "lipsum@lipsum.com" } Json rules!!
MapReduce!
Interface HTTP RESTfull C reate: HTTP POST /banco/db
R ead: HTTP GET /banco/doc_id
U pdate: HTTP PUT /banco/doc_id
D elete: HTTP DELETE /banco/doc_id
Replicaçãoooo!!!!
RDBMS Slave Slave Slave Master
Time to Relax!!
 
Versionamento
Rááááááá
Os dados nunca são sobrescritos
CouchDB on Rails =  Plugin ou Gem
ActiveCouch http://github.com/arunthampi/activecouch/tree/master
RelaxDB http://github.com/paulcarey/relaxdb/tree/master
Couch_potato http://github.com/langalex/couch_potato/tree/master
CouchRest + Couch_foo = Happiness http://github.com/jchris/couchrest/tree/master http://github.com/georgepalmer/couch_foo/tree/master
Couch_foo Model class Participant < CouchFoo::Base property :name, String property :email, String property :created_at, DateTime validates_presence_of :name validates_presence_of :email validates_format_of :email, :with => %r{^(?:[_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-zA-Z0-9\-\.]+)*(\.[a-z]{2,4})$}i, :if => :email? end
Alguns recursos http://couchdb.apache.org/
http://en.wikipedia.org/wiki/CouchDB

CouchDB vs Postgres em Rails

Notas do Editor

  • #3 CouchDB? C luster O f U nreliable C ommodity H ardware; Gerenciador de banco de dados orientado a documentos; Software livre da Apache; Usar, modificar e distribuír desde que um aviso de uso do código licenciado da Apache seja mantido.
  • #8 CouchDB? C luster O f U nreliable C ommodity H ardware; Gerenciador de banco de dados orientado a documentos; Software livre da Apache; Usar, modificar e distribuír desde que um aviso de uso do código licenciado da Apache seja mantido.
  • #14 CouchDB? C luster O f U nreliable C ommodity H ardware; Gerenciador de banco de dados orientado a documentos; Software livre da Apache; Usar, modificar e distribuír desde que um aviso de uso do código licenciado da Apache seja mantido.
  • #16 CouchDB? C luster O f U nreliable C ommodity H ardware; Gerenciador de banco de dados orientado a documentos; Software livre da Apache; Usar, modificar e distribuír desde que um aviso de uso do código licenciado da Apache seja mantido.