CouchDB
De Wikipedia, a enciclopédia encyclopedia
Apache CouchDB, comumente referido como CouchDB, é um banco de dados de código-aberto que foca na facilidade de uso e na filosofia de ser "um banco de dados que abrange a Web".[1] É um banco de dados não-relacional (NoSQL) que usa JSON para armazenar os dados, JavaScript como sua linguagem de consulta usando o MapReduce, e HTTP como API.[1] Uma de suas características marcantes é a facilidade na replicação. CouchDB foi lançado em 2005, e em 2008 tornou-se um projeto da Apache Software Foundation.
CouchDB | |
---|---|
Interface web do CouchDB | |
Desenvolvedor | Apache Software Foundation |
Plataforma | Multiplataforma |
Idioma(s) | Inglês |
Escrito em | Erlang |
Gênero(s) | Banco de dados orientado à documentos |
Licença | Apache License 2.0 |
Página oficial | Apache CouchDB. |
Ao contrário de um banco de dados relacional, o CouchDB não armazena os dados e relacionamentos em tabelas. Cada banco de dados é uma coleção de documentos independentes, e cada documento mantém seus próprios dados e esquemas. Uma aplicação pode acessar vários bancos de dados, por exemplo, no smartphone do usuário e outro em um servidor. Os metadados do documento contém informações de revisão, possibilitando mesclar quaisquer diferenças que possam ter ocorrido enquanto os bancos de dados estavam desconectados.
CouchDB implementa uma forma de Controle de concorrência multiversão (MVCC), a fim de evitar a necessidade de travar o arquivo de banco de dados durante as gravações. Os conflitos são deixados para a aplicação de resolver. Resolver um conflito geralmente envolve primeira mesclagem de dados em um dos documentos, apagando o antigo.[2]
Outras características são a semântica ACID com consistência posterior, MapReduce, replicação incremental e tolerância a falhas. A administração é suportada com uma aplicação web embutida chamado Futon.