Escolar Documentos
Profissional Documentos
Cultura Documentos
Banco de Dados Orientados A Documentos (Document Stores)
Banco de Dados Orientados A Documentos (Document Stores)
NÃO RELACIONAL
Introdução
A coleta dos dados é tão importante quanto a sua forma de armazena-
mento. Assim, ao longo do tempo, a humanidade buscou organizar seus
dados em ambientes seguros e de fácil recuperação, sejam eles físicos ou
digitais. É de extrema importância que o armazenamento seja feito de
forma correta, a fim de que seja possível recuperar a informação, quando
necessário. Logo, surgiram diversas formas de bancos de dados, como
a orientação a documentos e a sintaxe JSON para a representação da
informação, conceitos que podem ser aplicados em diversos segmentos.
Neste capítulo, você conhecerá as características e funcionalidades
dos bancos de dados orientados a documentos. Além disso, verá como
funciona o armazenamento e a consulta dos dados como documento do
tipo JSON. Por fim, verá exemplos de aplicabilidade de bancos de dados
orientados a documentos.
2 Bancos de dados orientados a documentos (document stores)
1 Características e funcionalidades
Segundo Harrison (2015), um banco de dados orientado a documentos trabalha
com dados não relacionais e os armazena como documentos estruturados,
geralmente nos formatos XML (eXtensible Markup Language; ou Linguagem
de Marcação Extensível, em português) ou JSON (JavaScript Object Notation;
ou Notação de Objetos JavaScript, em português). Contudo, isso não implica
nada específico, além do modelo de armazenamento de documentos. Os ban-
cos de dados orientados a documentos podem implementar transações ACID
(atomicidade, consistência, isolamento e durabilidade) ou outras características
de um RDBMS (Relational Database Management System; ou Sistema de
Gerenciamento de Bancos de Dados Relacionais, em português) tradicional,
embora os bancos de dados orientados a documentos dominantes forneçam
um suporte transacional relativamente modesto.
Os dados são estruturados de forma encadeada, podendo conter atributos
das coleções, tags e metadados, e seguem uma hierarquia de informações.
Além disso, é permitido que tenham redundância e inconsistência, conforme
o contexto NoSQL (não relacional) em que estão inseridos. Existem identi-
ficadores únicos universais (UUID, universally unique identifier) para cada
documento, com armazenamento chave-valor, que define como os dados
devem ser apresentados e, ainda, qual é o significado dos dados armazenados
na sua estrutura.
No entanto, nos bancos de dados orientados a documentos, não existe
necessariamente um esquema, como no banco de dados relacional, de modo
que não é necessário ter as estruturas das tabelas definidas para a inserção
de dados e não há um relacionamento entre as diversas entidades, sendo esta
uma característica de flexibilidade desse tipo de banco. Assim, se for preciso
criar um campo dentro do banco de dados, não é preciso mudar a estrutura ou
imaginar que haverá algum impedimento de chave primária ou estrangeria,
como no ambiente relacional, de modo que se torna fácil inserir um novo
campo. Além disso, os desenvolvedores permanecem livres para modificar o
modelo de dados à medida que os requisitos mudam dentro de um aplicativo,
e os consumidores podem interrogar os dados para determinar seu significado.
Bancos de dados orientados a documentos (document stores) 3
Master
Figura 2. Comparação entre (a) um arquivo JSON e (b) um arquivo XML, ambos com formato
orientado a documentos.
Fonte: Harrison (2015, p. 58).
Nulo Vazio.
Figura 3. Tela inicial do CouchDB com um banco-teste criado a partir da opção Create
Database.
10 Bancos de dados orientados a documentos (document stores)
{
"id":"00e8da9b",
"tipo":"Audio Album",
"título":"A Love Supreme",
"description":"by John Coltrane",
"código":"B0000A118M",
"entrega":{
"peso":6,
"dimensões":{
"largura":10,
"algura":10,
"profundidade":1
}
},
"preco":{
"lista":1200,
"faixas_adicionais":1100,
"download":100,
"pacote":8
},
"detalhes":{
"título":"A Love Supreme [Original Recording Reissued]",
"artista":"John Coltrane",
"genero":[
"Jazz",
"General"
],
faixas":[
"A Love Supreme, Part I: Acknowledgement",
"A Love Supreme, Part II: Resolution",
"A Love Supreme, Part III: Pursuance",
"A Love Supreme, Part IV: Psalm"
]
}
}
Bancos de dados orientados a documentos (document stores) 13
BELL, C. Introducing the MySQL 8 document store. New York: Apress, 2018. 532 p.
COPELAND, R. MongoDB applied design patterns: practical use cases with the leading
NoSQL database. Sebastopol: O’Reilly, 2013. 176 p.
CROCKFORD, D. RFC4627: the application/json Media Type for JavaScript Object
Notation (JSON). Wilmington: Internet Engineering Task Force, July 2006. Disponível
em: https://tools.ietf.org/html/rfc4627. Acesso em: 16 jun. 2020.
HARRISON, G. Next generation databases: NoSQL, NewSQL, and big data. New York:
Apress, 2015. 235 p.
MASTER-Slave-Replication. PCSS.no, Sel, 2020. Disponível em: https://www.pcss.no/
pcss-fellesregister/master-slave-replication/. Acesso em: 16 jun. 2020.
ÖZSU, M. T.; VALDURIEZ, P. NoSQL, NewSQL, and Polystores. In: ÖZSU, M. T.; VALDURIEZ,
P. Principles of distributed database systems. 4. ed. Cham: Springer, 2020. p. 519–557.
Leituras recomendadas
ACHARYA, B. et al. NoSQL Database Classification: New Era of Databases for Big Data.
International Journal of Knowledge-Based Organizations, [S. l.], v. 9, n. 1, p. 50–65, 2019.
DB-ENGINES Ranking of Document Stores. solid IT, Vienna, 2020. Disponível em: https://
db-engines.com/en/ranking/document+store. Acesso em: 16 jun. 2020.
GUNAWAN, R.; RAHMATULLOH, A.; DARMAWAN, I. Performance Evaluation of Query
Response Time in The Document Stored NoSQL Database. In: INTERNATIONAL CON-
FERENCE ON QUALITY IN RESEARCH (QIR), 16., 2019, Padang. Proceedings […]. Padang:
Padang Conventional Center, 2019. p. 1–6.
MICHEL, F.; ZUCKER, C. F.; MONTAGNAT, J. Bridging the Semantic Web and NoSQL Worlds:
Generic SPARQL Query Translation and Application to MongoDB. In: HAMEURLAIN, A.
et al. (ed.). Transactions on Large-Scale Data-and Knowledge-Centered Systems XL, Berlin:
Springer, 2019. p. 125–165. Disponível em: https://hal.archives-ouvertes.fr/hal-01926379.
Acesso em: 16 jun. 2020.
Bancos de dados orientados a documentos (document stores) 15
Os links para sites da web fornecidos neste capítulo foram todos testados, e seu fun-
cionamento foi comprovado no momento da publicação do material. No entanto, a
rede é extremamente dinâmica; suas páginas estão constantemente mudando de
local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade
sobre qualidade, precisão ou integralidade das informações referidas em tais links.