(Fonte: http://www.mongodb.com/)
Neste post
iremos conhecer um pouco sobre o banco de dados NoSQL orientado a documentos
mais popular no mercado, o MongoDB.
O MongoDB foi
projetado inicialmente pela empresa 10gen com o intuito ser um banco de dados orientado
a documentos de sua plataforma de nuvem. Após perceber o potencial do software, a 10gen
decidiu cancelar sua plataforma de nuvem e se concentrar em manter o MongoDB.
Em 2009, a 10gen converteu o MongoDB para um projeto de código aberto.
Fazendo uma
analogia com os banco de dados relacionais, a estrutura do MongoDB pode ser
entendida da seguinte forma:
Comparação SQL e NoSQL
(Fonte: http://krishnasblog.com/2012/06/02/understanding-document-based-mongodb-nosql/)
No MongoDB cada registro é realmente um
documento. Os documentos são armazenados em um formato BSON (Binary Serializable
JSON objects). E o MongoDB suporta consultas em JavaScript para recuperar os
objetos BSON. Os documentos BSON são objetos
que contém uma lista ordenada de elementos salvos. E cada elemento é constituído
por o nome do campo e um tipo específico de valor.
Exemplo de objeto no MongoDB
(Fonte: http://docs.mongodb.org/manual/core/data-model-design/)
Algumas características positivas no MongoDB, são:
- Consultas elabordas: Além de poder acessar os dados por meio de chaves, é possível fazer uma consulta em relação a campos especificados e variações dinamicamente na consulta, e também é possível consultar com expressões regulares.
- Índice Secundário: Assim como pode-se fazer consultas em relação a campos especificados, pode também definir estes campos como índices secundários, para aumentar a performance de acesso ao dado.
- Replicação Mestre-Escravo: Controla as operações de leitura e escrita para separar servidores, executando um servidor escravo como um servidor mestre quando o servidor mestre estiver inacessível.
- Sharding: Possibilita o processo de armazenamento de registros de dados em vários servidores para atender as demandas de crescimento de dados.
- MapReduce: Processa grandes volumes de dados em paralelo, dividindo o trabalho em um conjunto de tarefas independentes.
- Suporte de drivers para várias linguagens de programação.
Referências:
Understanding document based MongoDB NoSQL
Disponível em <http://krishnasblog.com/2012/06/02/understanding-document-based-mongodb-nosql/>. Acessado em 04/12/2014.
NoSQL Concept and MongoDB
Disponível em <https://www.ma-no.org/en/content/index_nosql-concept-and-mongodb_1736.php>. Acessado em 04/12/2014.
What is MongoDB
Disponível em <http://www.mongodb.com/what-is-mongodb>. Acessado em 04/12/2014.
Nenhum comentário:
Postar um comentário