Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

MongoDB

No description
by

João Proença

on 4 December 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of MongoDB

Ser diferente do modelo relacional, por isso NoREL?


NoSQL é mais comercial!


Base de dados horizontais:
Baixo custo;
Poder de processamento;
Facilidade de manutenção. João Proença - 080316048 Sistema de base de dados;

Não usa SQL, orientada a documentos;

Usa o formato Binary JSON;

Schema-Less;

Escrito em C;

Suporta índices;

Insert / Update -> Dados armazenados em memória em segundo plano, depois gravados em disco;

Auto-Sharding. Há limites nas coleções.

Aumentar limite -> Correr mais processos “mongod” e particionar a DB entre processos.

Muitas empresas a usar MongoDB, mas grande parte não o usa como DB principal.

Erros de memória e espaço, como aconteceu no meu trabalho. MongoDB vs MySQL Faculdade de Ciências - Universidade do Porto

Departamento de Ciência de Computadores Base de Dados NoSQL O que é? Qual a necessidade? Cloud Computing; Qual o objectivo? Estrutura de DBs actual não suporta a escalabilidade exigida pela nuvem;

Muitos dados na WEB para serem armazenados, necessidades de grandes armazenamentos;

Respostas mais rápidas pelas aplicações;

Diminuição do custo em DBA (DataBase Administrators) e DBM (DataBase Managements). Modelo de Dados Bases de Dados
Faz a junção física das coleções. Ficheiro (.ns) com todos os namespaces (nome das colecções); Coleções Equivalente a tabelas
numa base de dados relacional; Faz a junção lógica dos documentos. Documentos Equivalente a linhas numa base de dados relacional; Todos eles têm um ID único. Onde os dados em si s⭠ão armazenados; BSON Formato de armazenamento de dados no MongoDB; Guarda todos os outros tipos de dados
(string, int, etc). Bases de Dados de Grandes Dimensões Exemplos de código Fazer a ligação:
$connection = new Mongo();

Seleccionar uma base de dados:
$database = $connection->selectDB(‘nomedabase’);

Seleccionar uma coleção:
$collection = $database->selectCollection(‘nomedacoleccao’);

Criar documento:
$doc = array(“nome” => “joao”, “email” => “joao@mdb.com”);

Guardar documento na coleção:
$collection->save($doc);

SELECTS:
$gt, $lt, $gte, $lte, $eq, $neq, $size, $exists, $in, $nin, group(), limit(), skip(), sort();

UPDATES:
$set, $unset, $push, $pull, $inc
$collection->update(<select>, <novo_obj>, <upsert>, <multi>); MongoDB é mais rápido;

Nem sempre é a melhor escolha;

Usar quando queremos boa performance, os dados não necessitem de consistência, e não seja preciso relacionar tabelas;

Para aplicações que necessitam de realtime e históricos;

Caso contrário, MySQL. Conclusão Inserção:
MongoDB - 0.0311238765716 segundos
MySQL - 29.805167913437 segundos

Seleção:
MongoDB - 0.0034830570220 segundos
MySQL - 6.8415830135345 segundos Tempos
Full transcript