MongoDB - NoSQL
No
post de 26 de agosto de 2013, falamos sobre os bancos de dados NoSQL
(Not Only SQL), mais especificamente sobre o HBase, que é orientado a colunas.
Além
dos bancos NoSQL orientados a colunas, existem outros tipos de bancos
NoSQL orientados a documentos, grafos, chave-valor, objetos, etc.
Os
bancos NoSQL orientados a documentos foram projetados para facilitar a
armazenagem e recuperação de grandes volumes de documentos e são
muito empregados em aplicações que requerem gerenciamento de
grandes volumes de conteúdo digital, gerenciamento de dados de
usuários, infraestrutura social e mobile, etc.
O
MongoDB (www.mongodb.org) é um
dos principais bancos NoSQL orientado a documentos, existente no
mercado. Como exemplo de empresas que usam o MongoDB temos a Forbes,
o Foursquare, a Leroy Merlin, o CERN, etc. Com o MongoDB podemos
armazenar documentos usando padrão BSON, criar índices para tornar
buscas mais rápidas e gerenciar réplicas do ambiente provendo assim
redundância e aumento da disponibilidade dos dados. O MongoDB também
permite o “Sharding” automático.
O “Sharding”, ou
escalabilidade horizontal, divide e distribui os conjuntos de dados
entre múltiplos servidores, chamados de “Shards”. Cada “Shard”
é um banco de dados independente e coletivamente criam um único
banco de dados lógico. Com o “Sharding” é possível trabalhar
com grandes volumes de dados, mantendo a performance das operações.
A figura abaixo exemplifica o "Sharding" de uma Collection de 1 TB particionada em 4 nós de tamanho fixo.
As
queries no MongoDB não utilizam o SQL, mas sim uma sintaxe própria,
bastante simples, normalmente com um operador “find”, que pode
combinar condições, tipos, arrays, tags, etc.
Abaixo
está um exemplo de query para procurar todos os documentos com valor
do campo “producer”
com um subdocumento que contenha “company”
com valor 'ABC123'
e o campo “address” com
valor '123
Street'.
db.inventory.find( { producer: { company: 'ABC123', address: '123 Street' } } )
Dentre
as versões existentes do software, existe uma versão chamada
"Community", que é grátis, e 3 outras versões pagas ( Basic, Standard
e Enterprise ). A versão Enterprise tem características avançadas
de segurança, gerenciamento do ambiente, suporte ao protocolo SNMP,
encriptação SSL, treinamento On Demand, suporte certificado ( 24 x 7 x 365 )
e um modelo anual de aquisição de licenças por servidor que é
bastante interessante para companhias que estão iniciando neste
mundo do Big Data e que não dispõem de muitos recursos para pagar
licenças por processadores.
Em
Outubro de 2013 a companhia detentora do MongoDB recebeu um aporte
adicional de US$ 150 milhões de um grupo de investidores ( EMC, Salesforce, Sequoia, Red Hat, Intel, etc ), o que torna o mesmo um dos mais sérios
“players” do mercado de acordo com matéria publicada no site da Bloomberg (MongoDB Now King of NYC Startups )
Hoje o software conta com uma base de 5
milhões de downloads, incluindo as versões grátis, e mais de
20.000 participantes de grupos de usuários.
Bem, até o próximo post em Dezembro.
Comentários
Postar um comentário