Orientado a documentos (BDOD)

De GEATI - Grupo de Estudos Avançados em TI
Ir para: navegação, pesquisa

Os documentos de BDODs são coleções de atributos e valores armazenados em formatos bastante comuns como JSON,XML ou PDF. Este tipo de bases de dados é considerado como o mais generalista, flexível, poderoso e popular de todos os que integram o movimento NoSQL (McCreary e Kelly, 2014)[1]. Segundo Anderson et al. (2009), BDODs utilizam o conceito de dados e documentos autocontidos e autodescritivos. Logo, o próprio documento já implica em como ele está estruturado e deve ser apresentado, o que faz com que estes bancos de dados não precisem de uma estrutura comum, tornando-os altamente eficientes para o armazenamento de dados semiestruturados. Cada documento recebe uma chave, por exemplo uma String contendo um tipo de URL. De maneira geral, baseiam-se em índices para tornar mais fácil o acesso a documentos, como os índices dos BDRs, índices nos BDODs sacrificam performance de escrita, para ganhar performance de leitura.

A diferença com o paradigma chave valor, é que ele consegue associar uma chave a um documento, e ao fazer-se a leitura, extraísse o documento como um todo, em contrapartida, este modelo consegue extrair apenas seções de documentos sem ter que carregar documentos inteiros para a memória, agilizando o processo de leitura. Neste modelo, os documentos são armazenados em coleções, que comparados aos BDRs, seriam equivalentes às tabelas, e os campos desta, aos documentos.

Porem este modelo se destaca porque segundo Daniel Pereira et al. (2014), documentos diferentes de uma mesma coleção podem ter diferentes números de campos ou propriedades. Ao contrário do que sucede numa base de dados relacional, não é necessário gastar espaço em disco a adicionar campos em branco a todos os outros documentos de uma coleção (Kaur e Rani, 2013)[2].

Este paradigma de organização dos dados usa um formato que permite que um documento seja embutido em outro, embutir um documento em outro, geralmente leva à duplicação de dados que, eventualmente, gera inconsistência, causada por anomalias de atualização e deleção. Porém, como em todos os BDs NoSQL, esta duplicação não é um problema, mas sim, facilita a leitura, pois a quantidade de nós consultados é muito menor. Os principais bancos de dados nessa categoria são o MongoDB e o CouchDB.

MongoDB

CouchDB

  1. McCreary, D. G; Kelly, A. M. Making Sense of NoSQL: A guide for managers and the rest of us .Manning, 2014. 312 p.
  2. KAUR, K.; RANI, R. Modeling and querying data in NoSQL databases In: IEEE BIG DATA, Santa Clara 2013. Proceedings... Santa Clara (USA): IEEE, 2013.