
Apache CouchDB é um banco de dados orientado a documento (document-oriented database), escrito em Erlang. Como outros sistemas de banco de dados orientado a documento, como por exemplo Lotus Notes, CouchDB não é um Sistema de banco de dados Relacional. Ao invés de armazenar linhas e colunas de dados, o banco de dados gerencia coleções de documentos JSON (nas primeiras versões do CouchDB usavam XML).
As Views são definidas com funções agregadas (Aggregate functions) e filtros, são computados em paralelo, muito parecido com o MapReduce. As Views geralmente são armazenadas em um banco de dados e seus índices atualizados constantemente, embora as “queries” podem introduzir as view temporiariamente.
CouchDB fornece a API RESTful HTTP. A arquitetura permite você usar qualquer linguagem computacional para visualizar os dados, como o JavaScript (default), PHP ,Ruby ,Python, etc.
Ao contrário do banco de dados relacional, o baseado a documento não armazenam os dados em tabelas com tamanho uniforme por cada registro. No entanto, cada registro é armazenado como um documento que tem certas características. Você pode adicionar qualquer quantidade de campos e de tamanho para um documento.
Por exemplo:
Nome="Robson", Endereco="Rua 23 de Maio,2008", Cidade="Sao Paulo"
ref.: Apache CouchDB | Wiki CouchDB
Este é um pouco do conceito técnico do CouchDB, no próximo “post” tentarei trazer aqui algum exemplo mais real (concreto).
