MongoDB - O que é?
“MongoDB
(do inglês humongous, "gigantesco").
Banco NoSQL open source, de alta performance, sem esquemas e
orientado a objetos.”
Algumas
características do Mongo são o Schemaless (sem esquemas), o uso de
JSON/BSON e a utilização do Memory-Mapped File.
Schemaless?
É
um recurso utilizado por bancos NoSQL que permite a armazenagem de
dados sem que seja necessário se importar com a normalização, isso
faz com que todas as informações sejam armazenadas deixando toda a
lógica de tratamento e organização da informação do lado da
aplicação, do lado do programador e não do DBA.
JSON/BSON?
JSON
(JavaScript Object Notation) é um
formato de texto independendo de linguagem, usando convenções
familiares às linguagens C, C++, C#, Java, JavaScript e muitas
outras. Esse formato de texto é fácil de ler e escrever para nós
programadores e para as máquinas é fácil de interpretar e gerar.
Já o BSON é uma forma binária do JSON.
Memory-Mapped
File?
O
Memory-Mapped File, persiste sequencialmente os dados no Hd, fazendo
da seguinte forma: ao criar uma database é pré alocado 80mb no
disco para ao inserir os dados poder inserir de forma sequencial, o
que melhora na performance de busca.
O
MongoDB trabalha da seguinte forma: todos os dados persistidos do HD
são carregados na memoria RAM onde todo o trabalho do banco será
feito. Isso pode causar problemas se ter muitos dados e não caber
tudo na memoria. Para isso o Mongo possui duas formas de deixar o
banco escalável, a Replica Set e a Sharding.
Replica
Set?
Permite
você replicar os dados do MongoDB em outros servidores, permitindo
maior tolerância a falhas e redundâncias, para caso uma ou mais
instâncias (serviço ou mecanismo do banco de dados) parem de
funcionar, você tenha replicas como forma de segurança.
Sharding?
Permite
que seu banco de dados seja divido em partes menores e distribuindo
em servidores, permitindo um crescimento horizontal do banco de dados
e sem a necessidade de servidores de alta performace.
No
Mongo existe alguns termos parecidos com os usados no modelo
relacional, outros não. Por exemplo, temos database, query
e index que são os mesmos termos do relacional, mas no Mongo
também temos a collection, document json e o shard que em relação
ao modelo relacional seriam respectivamente a table, row
e o partition.
Não
perca os próximos posts sobre MongoDB ;)

0 comentários:
Postar um comentário