MongoDB é um banco não relacional, orientado à documento. Com isso é um banco que mais se parece com um banco relacional, mas podendo usar o poder de um esquema não relacional.
Além de ele ser um banco de dados simples de usar a documentação é bem extensa e com boa qualidade para pesquisa.
Sempre que falamos que em computação (TI), sabemos que não existe bala de prata, recomendo a leitura desse artigo http://en.wikipedia.org/wiki/No_Silver_Bullet, pois não é o foco do artigo, e sempre estudar a maior quantidade possível sobre como resolver seu problema.
Podemos usar o melhor de cada solução para resolver o problema da melhor forma possível, podendo até mesmo integrar um banco relacional com um banco baseado em noSQL.
Mais sobre bala de prata
Vantagens e desvantagens de se usar o mongoDB
Vantagem:
* Alta performance. Uma única consulta já te retorna tudo o que você precisa saber a respeito do documento. Esta é uma das razões pelas quais vêm sendo adotado em projetos que exigem alta performance.
* Schema Aberto
-> Tipagem dinamica, Migrações, Flexibilidade, cache.
* GeoLocalização Nativa
* Open Source (Diminui seus custos no projeto).
Desvantagem: Se você quiser alterar todos os registros relacionados a uma unidade semântica, precisa tratá-los um a um.
Mais: 3-razoes-para-usar-mongodb
Baseado em documento
No MongoDB, os registros são documentos e utiliza a sintaxe JSON. Baseado na sintaxe o documento a ser feito no mongo é basicamente um JSON, exemplo:
{
'id':10,
'cliente':'Organizações Tabajaras',
'endereco':'Rua qualquer'
}
Umas das vantagens do Mongo é poder atualizar seus dados dinamicamente, nesse exemplos inserimos um registro a mais no documento.
{
'id':10,
'cliente':'Organizações Tabajaras',
'endereco':'Rua qualquer',
'especialidade':'seguro'
}
Para inserir dados no mongodb, você pode usar um agregador podendo ser distinto ou não:
Inserindo distintos:
db.clientes.save({'id':10})
db.clientes.save({'cliente':'Organizações Tabajaras'})
db.clientes.save({'endereco':'Rua qualquer'})
Inserindo nao distintos:
db.clientes.save({'id':10,'cliente':'Organizações Tabajaras','endereco':'Rua qualquer'})
Para visualizar os registros do documento usamos o seguinte comando:
db.clientes.find();
ou tambem podemos buscar por todos os registro que contenha o nome do cliente:
db.pessoas.find( { cliente:'Organizações Tabajaras'} )
Operadores
Alguns exemplos:
< || $lt
<= || $lte
> || $gt
>= || $gte
Veja mais em http://www.mongodb.org/display/DOCS/Advanced+Queries
Comparação com SQL:
SQL Padrão:
CREATE TABLE cliente (id INTEGER, nome VARCHAR(255))
No mongo:
Basta inserir que a criação do documento é feita dinamicamente. Exemplo:
db.clientes.insert()
SQL Padrão:
Insert into clientes (nome) values ('tabajaras');
No mongo:
db.clientes.insert({nome:'tabajaras'})
SQL Padrão:
SELECT * FROM clientes
No mongo:
db.clientes.find()
mais em http://www.mongodb.org/display/DOCS/Advanced+Queries
flw galera.
Nenhum comentário:
Postar um comentário