Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

MongoDB: Uma forma diferente de pensar no desenvolvimento

770 Aufrufe

Veröffentlicht am

Apresentação sobre MongoDB, seus recursos, exemplos de uso e um comparativo de performance. Apresenta modelos e comandos básicos, porém úteis, comparando-os com comandos de bancos de dados relacionais, trazendo um comparativo básico de desempenho.

Veröffentlicht in: Daten & Analysen
  • Als Erste(r) kommentieren

MongoDB: Uma forma diferente de pensar no desenvolvimento

  1. 1. Marcos Thomaz da Silva
  2. 2. Bacharel em Sistemas de Informação pela Universidade Federal do Acre Analista de Tecnologia da Informação da Universidade Federal do Acre Desenvolvedor em Linguagens como Clipper, Delphi, PHP e Python Entusiasta por Bancos de Dados e Otimização de Consultas
  3. 3. Banco de Dados NoSQL; Desenvolvimento iniciado em 2007 (10gen); Primeiro Release em 2009 (MongoDB Inc.); Escrito em C++; Multi-Plataforma (Windows, Linux, OSX); OpenSource; Banco de Dados Orientado a Documentos;
  4. 4. Binários para 32 e 64 bits; Pacotes disponíveis para várias distribuições Linux (Red Hat, CentOS, Fedora, Debian, ...); Utiliza Javascript como “motor” do sistema; Documentos JSON; É NoSQL, não OO
  5. 5. Suporte a principais tipos de dados:  String;  Double;  Inteiros;  Date;  Null;  Binary Data;  TimeStamp;  Boolean.
  6. 6. E suporte a alguns tipos especiais:  Array;  Regular Expressions;  Javascript ;  ObjectID;  Object; Mas espere um pouco, não era OO!
  7. 7. “JSON (JavaScript Object Notation - Notação de Objetos JavaScript) é uma formatação leve de troca de dados.” “JSON é em formato texto e completamente independente de linguagem...” Fonte: http://www.json.org/json-pt.html
  8. 8. Suporte às principais operações DML (Data Manipulation Language):  Insert;  Update;  Delete; e  Select.
  9. 9. MongoDB é suportado pelas seguintes linguagens:  Javascript;  C, C++, Haskell;  PHP, C#, Python, Perl, Ruby  Erlang, Scala e Java;
  10. 10. Quem usa:  CraigList;  eBay;  Foursquare;  SourceForge;  The NewYork Times;
  11. 11. Possui estrutura semelhante à outros Bancos de Dados:  Tabelas;  Registros;  Campos;  Índices;
  12. 12. Semelhança com uso do MySQL:  Conexão com o servidor;  Comando use para indicar qual database;  Sem integridade referencial (MyISAM);  Criado dinamicamente.
  13. 13. Tabelas:  No MongoDB são chamadas de Collections; Campos:  Sem restrição no nome do campo;
  14. 14. Chamados de Documents (Documentos); São uma estrutura JSON; Podem ter diferentes campos em uma mesma Collection;
  15. 15. Podem ser criados índices de ordem ascendente ou descendente; Podem ser criados índices compostos; Podem ser criados índices únicos (considerando ou ignorando nulos); Existem chaves-primárias (por padrão são campos nomeados por _id) Permite índices para busca textual (text indexes)
  16. 16. Permite consultas por quaisquer campos das Collections; Permite consultas em arrays (mesmo campos do tipo array); Permite consultas com diversos filtros, aplicando instruções como order by, limit e skip;
  17. 17. Permite os principais comandos de agregação:  Sum;  Max;  Min;  Count;  Avg;
  18. 18. Tipos GeoJSON; Cadastro de Polygons, Point’s, LineString; Consultas baseadas em coordenadas:  União;  Intersecção; e  Proximidade. Criação de índices para melhora das consultas espaciais.
  19. 19. Executáveis servidores (gerenciadores do banco): Banco de Dados Executável MySQL mysqld Oracle oracle MongoDB mongod
  20. 20. Executáveis de consulta: Banco de Dados Executável MySQL mysql Oracle sqlplus PostgreSQL psql MondoDB mongo
  21. 21. MongoDB não suporta triggers nem procedures;
  22. 22. Replicação; Cluster; mongoimport / mongoexport; Console Interativo de Consulta; Servidor REST; Ferramentas de Backup/Restore; Monitoramento (mongotop, mongostat); Segurança
  23. 23. Instalação/Configuração Simples Servidor Leve; Servidor REST; Text Search com Multiplos Campos; Alta Performance; Alta Disponibilidade; Facilmente Escalável; Performance em consultas;
  24. 24. Explain; Instrução Hint; Índices; Tablespaces; Sharding;
  25. 25. Nem tudo são flores...
  26. 26. http://www.mongodb.org/  Site oficial do MongoDB https://education.mongodb.com/  Site com cursos oficiais gratuitos http://www.mongodb.org/about/production-deployments/  Lista de empresas que usam MongoDB

×