SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
Por Gabriel Feitosa Vilar
TÓPICOS AVANÇADOS EM BANCO DE DADOS
       Banco de Dados Orientado a Documentos
De acordo com a               :




  “Banco de dados escalável, de alta
perfomance, open-souce, schema-free,
     orientado-a-documentos.”
SQL

Structured Query Language

  SELECT * FROM * WHERE 1=1;
=

SQL NoSQL
NoSQL?
NoSQL



               Not Only SQL

SELECT * FROM comments WHERE author = 'Gabriel';

   db.comments.find(:author => “Gabriel”)
NoSQL
✔   1998 como um bando de dados relacional e open-
    source, mas sem interface SQL;
✔   “Completamente distinto do modelo relacional”;
✔   Deveria se chamar NoREL;
✔   Voltou a ser usado em 2009 em um evento de banco
    de dados open-sources distribuídos;
✔   Vieram para suprir as necessidades do bandos de
    dados tradicionais;
✔   E como a própria mongoDB diz:
    “Banco de dados escalável, de alta perfomance,
        open-souce, schema-free, orientado-a-
                     documentos.”
Orientado a Documentos

✔   Modelo relacional: representa um mundo real
    (que é n-dimensional) usando uma abordagem
    bidimensional;
✔   Orientado a Documentos?
    Documentos é equivalente a Registros.
✔   Sintaxe JSON;
JASON?
JSON (JavaScript Object Notation)
Gabriel = {
    nome: “Gabriel Feitosa Vilar”,
    apelido: “CoGUMm”,
    email: “cogumm@gmail.com”,
    site: “www.cogumm.net”
}


db.aulasql.save(Gabriel)
SCHEMA-FREE

✔   Migrations;
✔   Linguagem com tipagem dinâmica (Like   !);
✔   Altamente flexível;
E na PRÁTICA?


Database == Database
Coleções == Tabelas
Documento == Linha
Então vamos ao que
realmente interessa!
              #souDev
Instalando o                                         no Ubuntu
~$ sudo apt-get -y install tcsh git-core scons g++ libpcre++-dev libboost-dev
libreadline-dev xulrunner-1.9.1-dev
~$ sudo apt-get install mongodb


Testando:
            http://localhost:28017/



Instalando o                                        no Rails
gem install mongoid bson_ext
Por quê usar ?
Por quê eles usam!!!
drivers para:
✔   C             ✔   REST         ✔   F#
✔   C++           ✔   C# e .NET    ✔   Go
✔   Java          ✔   Closure      ✔   Groovy
✔   Javascript    ✔   ColdFusion   ✔   Haskell
✔   PHP           ✔   Delphi       ✔   Lua
✔   Perl          ✔   Erlang       ✔   Node.js
✔   Python        ✔   Factor       ✔   etc........
✔   Ruby          ✔   Fantom
Perguntas ?
Obrigado!!


     /CoGUMm

   http://twitter.com/cogumm
   http://facebook.com/cogumm
   http://linkedin.com/in/cogumm
Fontes
✔   http://www.mongodb.org/
✔   http://mongoid.org/
✔   http://railscasts.com/episodes/238-mongoid
✔   http://pt.asciicasts.com/episodes/238-mongoid
✔   http://railscasts.com/episodes/194-mongodb-and-mongomapper
✔   http://www.mongodb.org/display/DOCS/Drivers

Contenu connexe

Tendances

Python 3 + apache hadoop
Python 3 + apache hadoopPython 3 + apache hadoop
Python 3 + apache hadoopEduardo Mendes
 
Conexões eficientes em banco de dados com PHP
Conexões eficientes em banco de dados com PHPConexões eficientes em banco de dados com PHP
Conexões eficientes em banco de dados com PHPIgor Lopes
 
React Starter Pack - Nerdzão Day
React Starter Pack - Nerdzão DayReact Starter Pack - Nerdzão Day
React Starter Pack - Nerdzão DayDiego Teles
 
Primeiros passos machine learning PostgreSQL
Primeiros passos machine learning PostgreSQLPrimeiros passos machine learning PostgreSQL
Primeiros passos machine learning PostgreSQLDickson S. Guedes
 
Introdução ao MongoDB II
Introdução ao MongoDB IIIntrodução ao MongoDB II
Introdução ao MongoDB IILuiz Duarte
 
Secot banco de dados no sql de código aberto
Secot   banco de dados no sql de código abertoSecot   banco de dados no sql de código aberto
Secot banco de dados no sql de código abertoSuissa
 

Tendances (6)

Python 3 + apache hadoop
Python 3 + apache hadoopPython 3 + apache hadoop
Python 3 + apache hadoop
 
Conexões eficientes em banco de dados com PHP
Conexões eficientes em banco de dados com PHPConexões eficientes em banco de dados com PHP
Conexões eficientes em banco de dados com PHP
 
React Starter Pack - Nerdzão Day
React Starter Pack - Nerdzão DayReact Starter Pack - Nerdzão Day
React Starter Pack - Nerdzão Day
 
Primeiros passos machine learning PostgreSQL
Primeiros passos machine learning PostgreSQLPrimeiros passos machine learning PostgreSQL
Primeiros passos machine learning PostgreSQL
 
Introdução ao MongoDB II
Introdução ao MongoDB IIIntrodução ao MongoDB II
Introdução ao MongoDB II
 
Secot banco de dados no sql de código aberto
Secot   banco de dados no sql de código abertoSecot   banco de dados no sql de código aberto
Secot banco de dados no sql de código aberto
 

En vedette

Governança de TI e ITIL
Governança de TI e ITILGovernança de TI e ITIL
Governança de TI e ITILErick Saraiva
 
Marcio iti lv3_3_projeto_deservicos
Marcio iti lv3_3_projeto_deservicosMarcio iti lv3_3_projeto_deservicos
Marcio iti lv3_3_projeto_deservicosfernandao777
 
Apresentação itil
Apresentação itilApresentação itil
Apresentação itilolivanlima
 
Itil
ItilItil
Itillcbj
 
Announcements for Sunday, May 2nd 2010
Announcements for Sunday, May 2nd 2010Announcements for Sunday, May 2nd 2010
Announcements for Sunday, May 2nd 2010Maynard Pittendreigh
 
RIMS Update - Best Practices for Roading Asset Managemment
RIMS Update - Best Practices for Roading Asset ManagemmentRIMS Update - Best Practices for Roading Asset Managemment
RIMS Update - Best Practices for Roading Asset ManagemmentSimon Gough
 
090601 担当者のコトバに振り回されるな!
090601 担当者のコトバに振り回されるな!090601 担当者のコトバに振り回されるな!
090601 担当者のコトバに振り回されるな!Ryohei Katayama
 
SharePoint Saturday Houston: SharePoint 2010 Performance
SharePoint Saturday Houston: SharePoint 2010 PerformanceSharePoint Saturday Houston: SharePoint 2010 Performance
SharePoint Saturday Houston: SharePoint 2010 PerformanceBrian Culver
 
MCH Curricula: Strategies for Developing Materials_Hanold_5.11.11
MCH Curricula: Strategies for Developing Materials_Hanold_5.11.11MCH Curricula: Strategies for Developing Materials_Hanold_5.11.11
MCH Curricula: Strategies for Developing Materials_Hanold_5.11.11CORE Group
 
AC And DC Geared Motors by Strategi Automation Solutions Pvt. Ltd., Bengaluru
AC And DC Geared Motors by Strategi Automation Solutions Pvt. Ltd., BengaluruAC And DC Geared Motors by Strategi Automation Solutions Pvt. Ltd., Bengaluru
AC And DC Geared Motors by Strategi Automation Solutions Pvt. Ltd., BengaluruIndiaMART InterMESH Limited
 
Ill Cs Cib 01[1]
Ill Cs Cib 01[1]Ill Cs Cib 01[1]
Ill Cs Cib 01[1]alebdaa
 
Tema 6. sector primario
Tema 6. sector primarioTema 6. sector primario
Tema 6. sector primarioAndrés Pintor
 
Mobile Banking 2011: Clairmail
Mobile Banking 2011: ClairmailMobile Banking 2011: Clairmail
Mobile Banking 2011: ClairmailAberla
 

En vedette (20)

Apresentação+do+stoq
Apresentação+do+stoqApresentação+do+stoq
Apresentação+do+stoq
 
SO - Aula 05 - Concorrencia
SO - Aula 05 - ConcorrenciaSO - Aula 05 - Concorrencia
SO - Aula 05 - Concorrencia
 
SO - Aula 02 - Conceitos
SO - Aula 02 - ConceitosSO - Aula 02 - Conceitos
SO - Aula 02 - Conceitos
 
Governança de TI e ITIL
Governança de TI e ITILGovernança de TI e ITIL
Governança de TI e ITIL
 
Marcio iti lv3_3_projeto_deservicos
Marcio iti lv3_3_projeto_deservicosMarcio iti lv3_3_projeto_deservicos
Marcio iti lv3_3_projeto_deservicos
 
Apresentação itil
Apresentação itilApresentação itil
Apresentação itil
 
Itil
ItilItil
Itil
 
SO - Aula 01 - Introducao
SO - Aula 01 - IntroducaoSO - Aula 01 - Introducao
SO - Aula 01 - Introducao
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Announcements for Sunday, May 2nd 2010
Announcements for Sunday, May 2nd 2010Announcements for Sunday, May 2nd 2010
Announcements for Sunday, May 2nd 2010
 
RIMS Update - Best Practices for Roading Asset Managemment
RIMS Update - Best Practices for Roading Asset ManagemmentRIMS Update - Best Practices for Roading Asset Managemment
RIMS Update - Best Practices for Roading Asset Managemment
 
090601 担当者のコトバに振り回されるな!
090601 担当者のコトバに振り回されるな!090601 担当者のコトバに振り回されるな!
090601 担当者のコトバに振り回されるな!
 
SharePoint Saturday Houston: SharePoint 2010 Performance
SharePoint Saturday Houston: SharePoint 2010 PerformanceSharePoint Saturday Houston: SharePoint 2010 Performance
SharePoint Saturday Houston: SharePoint 2010 Performance
 
Alister webb
Alister webbAlister webb
Alister webb
 
MCH Curricula: Strategies for Developing Materials_Hanold_5.11.11
MCH Curricula: Strategies for Developing Materials_Hanold_5.11.11MCH Curricula: Strategies for Developing Materials_Hanold_5.11.11
MCH Curricula: Strategies for Developing Materials_Hanold_5.11.11
 
AC And DC Geared Motors by Strategi Automation Solutions Pvt. Ltd., Bengaluru
AC And DC Geared Motors by Strategi Automation Solutions Pvt. Ltd., BengaluruAC And DC Geared Motors by Strategi Automation Solutions Pvt. Ltd., Bengaluru
AC And DC Geared Motors by Strategi Automation Solutions Pvt. Ltd., Bengaluru
 
Microfiber goods
Microfiber goods Microfiber goods
Microfiber goods
 
Ill Cs Cib 01[1]
Ill Cs Cib 01[1]Ill Cs Cib 01[1]
Ill Cs Cib 01[1]
 
Tema 6. sector primario
Tema 6. sector primarioTema 6. sector primario
Tema 6. sector primario
 
Mobile Banking 2011: Clairmail
Mobile Banking 2011: ClairmailMobile Banking 2011: Clairmail
Mobile Banking 2011: Clairmail
 

Similaire à MongoDB

[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDBVinicius de Sá
 
Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7Christiano Anderson
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesChristiano Anderson
 
Desenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBDesenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBAri Stopassola Junior
 
Mongodb praquer-usar-uaijugcloudday2014
Mongodb praquer-usar-uaijugcloudday2014Mongodb praquer-usar-uaijugcloudday2014
Mongodb praquer-usar-uaijugcloudday2014Rogerio Fontes
 
Mongo Db - PHP Day Workshop
Mongo Db - PHP Day WorkshopMongo Db - PHP Day Workshop
Mongo Db - PHP Day WorkshopDiego Sana
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Railsismaelstahelin
 
MongoDB - Apresentação
MongoDB - ApresentaçãoMongoDB - Apresentação
MongoDB - ApresentaçãoTerra / Neo
 
TDC 2014 - SP - Bower & Robygems - Cada um no seu quadrado
TDC 2014 - SP - Bower & Robygems - Cada um no seu quadradoTDC 2014 - SP - Bower & Robygems - Cada um no seu quadrado
TDC 2014 - SP - Bower & Robygems - Cada um no seu quadradoCezinha Anjos
 
Fisl banco de dados no sql de código aberto
Fisl   banco de dados no sql de código abertoFisl   banco de dados no sql de código aberto
Fisl banco de dados no sql de código abertoSuissa
 
Desenvolvendo soluções com banco de dados não relacional - MongoDB
Desenvolvendo soluções com banco de dados não relacional - MongoDBDesenvolvendo soluções com banco de dados não relacional - MongoDB
Desenvolvendo soluções com banco de dados não relacional - MongoDBiMasters
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAThiago Cifani
 

Similaire à MongoDB (20)

[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB
 
Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7Django e MongoDB - Python Brasil 7
Django e MongoDB - Python Brasil 7
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentes
 
Desenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDBDesenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDB
 
Palestra nosql
Palestra nosqlPalestra nosql
Palestra nosql
 
MongoDB na Campus Party
MongoDB na Campus PartyMongoDB na Campus Party
MongoDB na Campus Party
 
Introdução ao NoSql
Introdução ao NoSqlIntrodução ao NoSql
Introdução ao NoSql
 
Mongodb praquer-usar-uaijugcloudday2014
Mongodb praquer-usar-uaijugcloudday2014Mongodb praquer-usar-uaijugcloudday2014
Mongodb praquer-usar-uaijugcloudday2014
 
Mongo Db - PHP Day Workshop
Mongo Db - PHP Day WorkshopMongo Db - PHP Day Workshop
Mongo Db - PHP Day Workshop
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Rails
 
Python e MongoDB - Ensol
Python e MongoDB - EnsolPython e MongoDB - Ensol
Python e MongoDB - Ensol
 
Mean Stack
Mean StackMean Stack
Mean Stack
 
MongoDB - Apresentação
MongoDB - ApresentaçãoMongoDB - Apresentação
MongoDB - Apresentação
 
Mongo + php
Mongo + phpMongo + php
Mongo + php
 
TDC 2014 - SP - Bower & Robygems - Cada um no seu quadrado
TDC 2014 - SP - Bower & Robygems - Cada um no seu quadradoTDC 2014 - SP - Bower & Robygems - Cada um no seu quadrado
TDC 2014 - SP - Bower & Robygems - Cada um no seu quadrado
 
Mongo db slides
Mongo db slidesMongo db slides
Mongo db slides
 
Bancos de dados NoSQL
Bancos de dados NoSQLBancos de dados NoSQL
Bancos de dados NoSQL
 
Fisl banco de dados no sql de código aberto
Fisl   banco de dados no sql de código abertoFisl   banco de dados no sql de código aberto
Fisl banco de dados no sql de código aberto
 
Desenvolvendo soluções com banco de dados não relacional - MongoDB
Desenvolvendo soluções com banco de dados não relacional - MongoDBDesenvolvendo soluções com banco de dados não relacional - MongoDB
Desenvolvendo soluções com banco de dados não relacional - MongoDB
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVA
 

Plus de Gabriel Feitosa Vilar

Plus de Gabriel Feitosa Vilar (6)

[Tutorial] The Godfather Varinha + Teor alcoolico = UP rápido
[Tutorial] The Godfather Varinha + Teor alcoolico = UP rápido[Tutorial] The Godfather Varinha + Teor alcoolico = UP rápido
[Tutorial] The Godfather Varinha + Teor alcoolico = UP rápido
 
[Tutorial] The Godfather - Animal
[Tutorial] The Godfather - Animal[Tutorial] The Godfather - Animal
[Tutorial] The Godfather - Animal
 
[Tutorial] The Godfather - Assinatura
[Tutorial] The Godfather - Assinatura[Tutorial] The Godfather - Assinatura
[Tutorial] The Godfather - Assinatura
 
[Tutorial] The Godfather - Trecos
[Tutorial] The Godfather - Trecos[Tutorial] The Godfather - Trecos
[Tutorial] The Godfather - Trecos
 
Stoq
StoqStoq
Stoq
 
Apresentacao Linux
Apresentacao LinuxApresentacao Linux
Apresentacao Linux
 

Dernier

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 

Dernier (9)

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

MongoDB

  • 1. Por Gabriel Feitosa Vilar TÓPICOS AVANÇADOS EM BANCO DE DADOS Banco de Dados Orientado a Documentos
  • 2. De acordo com a : “Banco de dados escalável, de alta perfomance, open-souce, schema-free, orientado-a-documentos.”
  • 3. SQL Structured Query Language SELECT * FROM * WHERE 1=1;
  • 6. NoSQL Not Only SQL SELECT * FROM comments WHERE author = 'Gabriel'; db.comments.find(:author => “Gabriel”)
  • 7. NoSQL ✔ 1998 como um bando de dados relacional e open- source, mas sem interface SQL; ✔ “Completamente distinto do modelo relacional”; ✔ Deveria se chamar NoREL; ✔ Voltou a ser usado em 2009 em um evento de banco de dados open-sources distribuídos; ✔ Vieram para suprir as necessidades do bandos de dados tradicionais; ✔ E como a própria mongoDB diz: “Banco de dados escalável, de alta perfomance, open-souce, schema-free, orientado-a- documentos.”
  • 8. Orientado a Documentos ✔ Modelo relacional: representa um mundo real (que é n-dimensional) usando uma abordagem bidimensional; ✔ Orientado a Documentos? Documentos é equivalente a Registros. ✔ Sintaxe JSON;
  • 10. JSON (JavaScript Object Notation) Gabriel = { nome: “Gabriel Feitosa Vilar”, apelido: “CoGUMm”, email: “cogumm@gmail.com”, site: “www.cogumm.net” } db.aulasql.save(Gabriel)
  • 11. SCHEMA-FREE ✔ Migrations; ✔ Linguagem com tipagem dinâmica (Like !); ✔ Altamente flexível;
  • 12. E na PRÁTICA? Database == Database Coleções == Tabelas Documento == Linha
  • 13. Então vamos ao que realmente interessa! #souDev
  • 14. Instalando o no Ubuntu ~$ sudo apt-get -y install tcsh git-core scons g++ libpcre++-dev libboost-dev libreadline-dev xulrunner-1.9.1-dev ~$ sudo apt-get install mongodb Testando: http://localhost:28017/ Instalando o no Rails gem install mongoid bson_ext
  • 15.
  • 16. Por quê usar ? Por quê eles usam!!!
  • 17. drivers para: ✔ C ✔ REST ✔ F# ✔ C++ ✔ C# e .NET ✔ Go ✔ Java ✔ Closure ✔ Groovy ✔ Javascript ✔ ColdFusion ✔ Haskell ✔ PHP ✔ Delphi ✔ Lua ✔ Perl ✔ Erlang ✔ Node.js ✔ Python ✔ Factor ✔ etc........ ✔ Ruby ✔ Fantom
  • 19. Obrigado!! /CoGUMm http://twitter.com/cogumm http://facebook.com/cogumm http://linkedin.com/in/cogumm
  • 20. Fontes ✔ http://www.mongodb.org/ ✔ http://mongoid.org/ ✔ http://railscasts.com/episodes/238-mongoid ✔ http://pt.asciicasts.com/episodes/238-mongoid ✔ http://railscasts.com/episodes/194-mongodb-and-mongomapper ✔ http://www.mongodb.org/display/DOCS/Drivers