3 de dezembro de 2014

Banco de Dados NoSQL Orientado a Documentos

(Fonte: http://www.infoq.com/articles/Transition-RDBMS-NoSQL/)

      Como já vimos em posts anteriores, existem quatro tipos principais de modelo de dados NoSQL. São eles: Chave-Valor, Orientado a Documentos, Orientado a Colunas  e Orientado a Grafos.

      Neste post iremos nos focar nos banco de dados orientado a documentos.

      Um Banco de dados orientado a documentos é um projeto para armazenamento, recuperação e gerenciamento orientado a documentos ou semi-estruturas de dados.

      Os Banco de dados orientado a documentos são uma das principais categorias de banco de dados NoSQL. Um exemplo é o banco de dados MongoDB que é orientado a documentos e está em 5º lugar no ranking dos banco de dados mais populares segundo a DB-Engine.

(Fonte: http://www.bestonlinecourses.info/intro-to-nosql-and-mongodb/)

      Este modelo armazena uma coleção de documentos. No caso, um documento é representado como um objeto, que possui um código único e um conjunto de campos, que podem ser strings, listas ou outros objetos aninhados. 
Exemplo de uma tabela no modelo orientado a documentos
(Fonte: http://docs.couchbase.com/couchbase-devguide-2.0/)

      As estruturas desses campos se parecem com a estrutura dos campos no modelo Chave-valor (Key-value). No modelo Chave-valor, uma única tabela hash é criada para todo o banco de dados. Já no modelo orientado a documentos, temos um conjunto de documentos (objetos) e em cada documento temos um conjunto de chaves (campos) cada um com sua chave (key).


Modelo Chave-valor
(http://labs.sogeti.com/nosql-whats-in-it-for-me/)


Modelo Orientado a Documento
(Fonte: http://labs.sogeti.com/nosql-whats-in-it-for-me/)


      Uma característica importante deste modelo é que ele não depende de um esquema rígido, ou seja, não há obrigação de uma estrutura fixa. Sendo assim, pode-se fazer uma atualização na estrutura do documento sem causar nenhum problema com ao banco de dados. Por exemplo, a adição de novos campos ao documento não causará nenhum problema no banco. Essa facilidade e flexibilidade em atualizar a estrutura dos documentos é uma das grandes e principais vantagens do modelo orientado a documentos.

      Por mais que existam diferentes implementações de banco de dados orientado a documentos, em geral, todos assumem a função de encapsular documentos e codificar dados (ou informações) em algum formato padrão (ou codificação). As codificações em uso incluem XML, YAML, JSON e BSON, assim como formas binárias, como imagens, PDF, documentos do Microsoft Office (MS Word, Excel) e assim por diante.


Referências:

11 Open Document-Oriented Databases Wich comes under NoSQL DB Category!
Disponível em <http://orangeslate.com/2011/12/06/11-open-document-oriented-databases-which-comes-under-nosql-db-category/>. Acessado em 03/12/2014

DB Engines Ranking
Disponível em <http://db-engines.com/en/ranking>. Acessado em 03/12/2014.

NOSQL BASE X ACID TEOREMA CAP
Disponível em <http://pt.slideshare.net/Celio12/trabalho-no-sql-aricelio-de-souza?next_slideshow=3>. Acessado em 03/12/2014.

Nenhum comentário:

Postar um comentário