SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
NoSQL, MongoDB e MEAN
PROFESSOR: LEONARDO VITAZIK NETO
ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY
Centro Universitário - Católica de Santa Catarina
2
PROFESSOR: LEONARDO VITAZIK NETO
ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY
Cetro Universitário Católica Santa Catarina
NoSQL – História
O termo NoSQL foi utilizado pela primeira vez em 1998 como nome de um
banco de dados relacional de código aberto que não possuía um interface
SQL.
Seu autor, Carlo Strozzi, alega que o movimento NoSQL "é completamente
distinto do modelo relacional e portanto deveria ser mais propriadamente
chamado "NoREL" ou algo que produzisse o mesmo efeito".
Porém, o termo só voltou a ser assunto em 2009 por um funcionário do
Rackspace, Eric Evans, quando Johan Oskarsson da Last.fm queria organizar
um evento para discutir bancos de dados open source distribuídos.
3
PROFESSOR: LEONARDO VITAZIK NETO
ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY
Cetro Universitário Católica Santa Catarina
NoSQL – O que é
NoSQL são diferentes sistemas de armazenamento que vieram para suprir
necessidades nas quais os bancos de dados tradicionais (relacionais) são
ineficazes.
Muitas dessas bases apresentam características interessantes, como: alta
performance, escalabilidade, replicação, suporte a dados estruturados, grafos
e sub-colunas.
O NoSQL tem uma grande facilidade na distribuição horizontal, ou seja, mais
dados, mais servidores, não necessariamente de alta performance.
4
PROFESSOR: LEONARDO VITAZIK NETO
ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY
Cetro Universitário Católica Santa Catarina
NoSQL – Tipos de Armazenamento
• Key-Value Store
• Wide Columns Store
• Document Store
• Graph Store
• Column Oriented Store
5
PROFESSOR: LEONARDO VITAZIK NETO
ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY
Cetro Universitário Católica Santa Catarina
MongoDB – História
Criado pelo ex-Fundador do DoubleClick e CTO Dwight Merriman e
DoubleClick ex-engenheiro e fundador ShopWiki e Eliot CTO Horowitz.
Eles se basearam as suas experiências em construção de grande escala, alta
disponibilidade, sistemas robustos para criar um novo tipo de banco de dados.
O MongoDB não foi concebido em um laboratório. Nós construímos o
MongoDB com base em nossas experiências na construção de sistemas
robustos de grande escala e alta disponibilidade. Não começamos do zero,
realmente tentamos descobrir o que estava quebrado, e combater isso. Assim,
a maneira que eu penso sobre MongoDB é que se você pegar o MySql, e
alterar o modelo de dados do relacional para orientado a documento, você
ganha uma grande quantidade de recursos: documentos embarcados para
velocidade, facilidade de gerenciamento, desenvolvimento ágil com bancos de
dados sem “schema”, escalabilidade horizontal mais fácil, pois “joins” não são
tão importantes. Há muitas coisas que funcionam muito bem nas bases de
dados relacionais: índices, consultas dinâmicas e atualizações para citar
alguns, e nós não mudamos muito neste ponto. Por exemplo, a maneira de
projetar seus índices no MongoDB deve ser exatamente do jeito que você faz
isso no MySQL ou Oracle, você só ganha a opção de indexar um campo
embarcado.
– Eliot Horowitz, CTO 10gen e Co-fundador
7
PROFESSOR: LEONARDO VITAZIK NETO
ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY
Cetro Universitário Católica Santa Catarina
MongoDB – O que é
O MongoDB é um dos bancos NoSQL mais utilizados, pela sua facilidade de
instalação, sua documentação e os diversos drivers para inúmeras linguagens
de programação.
Ele é um banco de dados orientado a documentos, escalável, livre de
esquema, de alto desempenho e código aberto escrito em C++.
8
PROFESSOR: LEONARDO VITAZIK NETO
ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY
Cetro Universitário Católica Santa Catarina
MongoDB – Principais Funcionalidades
• Orientação a documentos(JSON/BSON)
• Suporte a index
• Replicação e alta disponibilidade
• Auto-sharding
• Map/reduce GridFS
• Suporte comercial da 10gen.
9
PROFESSOR: LEONARDO VITAZIK NETO
ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY
Cetro Universitário Católica Santa Catarina
MongoDB – Principais Caracteristicas
• Open Source
• Alta Performance
• Schema Aberto – para fácil evolução do esquema
• Banco de Dados Orientado a Documento
• Preparador para trabalhar na nuvem
• Atualmente na versão 3.2.10 estável
MongoGB é um banco de dados de documento, e isto quer
dizer que podemos armazenar dados como documentos.
10
PROFESSOR: LEONARDO VITAZIK NETO
ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY
Cetro Universitário Católica Santa Catarina
NodeJS
Node.js é uma plataforma para desenvolvimento de aplicações
server-side baseadas em rede utilizando JavaScript e o V8
JavaScript Engine, ou seja, com Node.js podemos criar uma
variedade de aplicações Web utilizando apenas código em
JavaScript
11
PROFESSOR: LEONARDO VITAZIK NETO
ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY
Cetro Universitário Católica Santa Catarina
Express
O Express é um framework para aplicativo da web do Node.js
mínimo e flexível que fornece um conjunto robusto de recursos
para aplicativos web e móvel.
Com uma miríade de métodos utilitários HTTP e middleware a
seu dispor, criar uma API robusta é rápido e fácil.
O Express fornece uma camada fina de recursos fundamentar
para aplicativos da web, sem obscurecer os recursos do
Node.js que você conhece e ama.
12
PROFESSOR: LEONARDO VITAZIK NETO
ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY
Cetro Universitário Católica Santa Catarina
Angular
AngularJS é um framework JavaScript open-source, mantido
pelo Google, que auxilia na execução de single-page
applications.
Seu objetivo é aumentar aplicativos que podem ser acessados
por um navegador web, foi construído sob o padrão model-
view-view-model (MVVM), em um esforço para facilitar tanto o
desenvolvimento quanto o teste dos aplicativos.
13
PROFESSOR: LEONARDO VITAZIK NETO
ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY
Cetro Universitário Católica Santa Catarina
MEAN
MEAN Stack é o empilhamento de quatro outras ferramentas
de desenvolvimento: MongoDB, ExpressJS, AngularJS e
Node.js (e o Node é a principal razão dele existir) -
então nós vamos chama-los de PRIMES.
Usando essas quatro ferramentas juntas você vai desenvolver
aplicações eficientes, bem organizadas e interativas com
agilidade.
14
PROFESSOR: LEONARDO VITAZIK NETO
ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY
Cetro Universitário Católica Santa Catarina
MEAN
Uma vez que todos os PRIMES (os componentes da pilha)
usam JavaScript, você vai conseguir transitar por todas as
camadas do seu sistema sem problemas.
Com eles, você vai poder:
• Usar JavaScript no server-side com Node e Experss
• Usar JavaScript no cliente-side com Angular
• Persistir seus objetos JSON (JavaScript Object Notation) no MongoDB
• Usar objetos JSON para enviar dados do banco para servidor e daí
pro browser.
15
PROFESSOR: LEONARDO VITAZIK NETO
ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY
Cetro Universitário Católica Santa Catarina
Exemplo na prática
https://github.com/osmarpetry/alurapic-mean

Más contenido relacionado

La actualidad más candente

NoSQL no Azure - Azure Tech Nights - 2017
NoSQL no Azure - Azure Tech Nights - 2017NoSQL no Azure - Azure Tech Nights - 2017
NoSQL no Azure - Azure Tech Nights - 2017Renato Groff
 
Apresentação - MongoDB
Apresentação - MongoDBApresentação - MongoDB
Apresentação - MongoDBJDSBD
 
Web 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na RedeWeb 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na RedeElvis Fusco
 
Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Thiago de Azeredo
 
SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018
SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018
SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018Renato Groff
 
Rails: Porque programar deve ser divertido
Rails: Porque programar deve ser divertidoRails: Porque programar deve ser divertido
Rails: Porque programar deve ser divertidoLuiz Carvalho
 
Node js - O poder do JavaScript do lado do servidor
Node js  - O poder do JavaScript do lado do servidorNode js  - O poder do JavaScript do lado do servidor
Node js - O poder do JavaScript do lado do servidorRomulo Fagundes
 
Atec cursowebdesign aula02
Atec cursowebdesign aula02Atec cursowebdesign aula02
Atec cursowebdesign aula02Wcre8tive
 

La actualidad más candente (11)

NoSQL no Azure - Azure Tech Nights - 2017
NoSQL no Azure - Azure Tech Nights - 2017NoSQL no Azure - Azure Tech Nights - 2017
NoSQL no Azure - Azure Tech Nights - 2017
 
Introdução ao NoSql
Introdução ao NoSqlIntrodução ao NoSql
Introdução ao NoSql
 
Mongo
MongoMongo
Mongo
 
Apresentação - MongoDB
Apresentação - MongoDBApresentação - MongoDB
Apresentação - MongoDB
 
Web 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na RedeWeb 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na Rede
 
Spring boot
Spring bootSpring boot
Spring boot
 
Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)
 
SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018
SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018
SQL Server 2016 e 2017 para Desenvolvedores - Grupo Bandeirantes - Janeiro-2018
 
Rails: Porque programar deve ser divertido
Rails: Porque programar deve ser divertidoRails: Porque programar deve ser divertido
Rails: Porque programar deve ser divertido
 
Node js - O poder do JavaScript do lado do servidor
Node js  - O poder do JavaScript do lado do servidorNode js  - O poder do JavaScript do lado do servidor
Node js - O poder do JavaScript do lado do servidor
 
Atec cursowebdesign aula02
Atec cursowebdesign aula02Atec cursowebdesign aula02
Atec cursowebdesign aula02
 

Destacado

Win 20160627 230412
Win 20160627 230412Win 20160627 230412
Win 20160627 230412Toa Almeida
 
Complete Lecture on Css presentation
Complete Lecture on Css presentation Complete Lecture on Css presentation
Complete Lecture on Css presentation Salman Memon
 
SERVIÇO DE MONITORAMENTO, INFORMAÇÃO E AÇÃO NAS MÍDIAS SOCIAIS EXCLUSIVO PARA...
SERVIÇO DE MONITORAMENTO, INFORMAÇÃO E AÇÃO NAS MÍDIAS SOCIAIS EXCLUSIVO PARA...SERVIÇO DE MONITORAMENTO, INFORMAÇÃO E AÇÃO NAS MÍDIAS SOCIAIS EXCLUSIVO PARA...
SERVIÇO DE MONITORAMENTO, INFORMAÇÃO E AÇÃO NAS MÍDIAS SOCIAIS EXCLUSIVO PARA...Rodrigo Mesquita
 
2016 Video Trends for School Communicators
2016 Video Trends for School Communicators2016 Video Trends for School Communicators
2016 Video Trends for School CommunicatorsCapture Video
 
MEAN Full Stack JavaScript - TaSafoConf 2015
MEAN Full Stack JavaScript - TaSafoConf 2015MEAN Full Stack JavaScript - TaSafoConf 2015
MEAN Full Stack JavaScript - TaSafoConf 2015Kaio Valente
 
Sharing Penelitian S3 Lab Elins FMIPA UGM - 17 Februari 2016
Sharing Penelitian S3 Lab Elins FMIPA UGM - 17 Februari 2016Sharing Penelitian S3 Lab Elins FMIPA UGM - 17 Februari 2016
Sharing Penelitian S3 Lab Elins FMIPA UGM - 17 Februari 2016Achmad Solichin
 
Operator Precedence and Associativity
Operator Precedence and AssociativityOperator Precedence and Associativity
Operator Precedence and AssociativityNicole Ynne Estabillo
 
Construction equpiment
Construction equpimentConstruction equpiment
Construction equpimentRahul
 

Destacado (12)

Google workshop
Google workshopGoogle workshop
Google workshop
 
Win 20160627 230412
Win 20160627 230412Win 20160627 230412
Win 20160627 230412
 
Complete Lecture on Css presentation
Complete Lecture on Css presentation Complete Lecture on Css presentation
Complete Lecture on Css presentation
 
SERVIÇO DE MONITORAMENTO, INFORMAÇÃO E AÇÃO NAS MÍDIAS SOCIAIS EXCLUSIVO PARA...
SERVIÇO DE MONITORAMENTO, INFORMAÇÃO E AÇÃO NAS MÍDIAS SOCIAIS EXCLUSIVO PARA...SERVIÇO DE MONITORAMENTO, INFORMAÇÃO E AÇÃO NAS MÍDIAS SOCIAIS EXCLUSIVO PARA...
SERVIÇO DE MONITORAMENTO, INFORMAÇÃO E AÇÃO NAS MÍDIAS SOCIAIS EXCLUSIVO PARA...
 
2016 Video Trends for School Communicators
2016 Video Trends for School Communicators2016 Video Trends for School Communicators
2016 Video Trends for School Communicators
 
NJO_brochure
NJO_brochureNJO_brochure
NJO_brochure
 
OIC
OICOIC
OIC
 
MEAN Full Stack JavaScript - TaSafoConf 2015
MEAN Full Stack JavaScript - TaSafoConf 2015MEAN Full Stack JavaScript - TaSafoConf 2015
MEAN Full Stack JavaScript - TaSafoConf 2015
 
Sharing Penelitian S3 Lab Elins FMIPA UGM - 17 Februari 2016
Sharing Penelitian S3 Lab Elins FMIPA UGM - 17 Februari 2016Sharing Penelitian S3 Lab Elins FMIPA UGM - 17 Februari 2016
Sharing Penelitian S3 Lab Elins FMIPA UGM - 17 Februari 2016
 
Data clustring
Data clustring Data clustring
Data clustring
 
Operator Precedence and Associativity
Operator Precedence and AssociativityOperator Precedence and Associativity
Operator Precedence and Associativity
 
Construction equpiment
Construction equpimentConstruction equpiment
Construction equpiment
 

Similar a NoSQL, MongoDB e MEAN Stack

Cobo, Cristiane Brandão. Especialização Banco de Dados
Cobo, Cristiane Brandão. Especialização Banco de DadosCobo, Cristiane Brandão. Especialização Banco de Dados
Cobo, Cristiane Brandão. Especialização Banco de Dadoscris.finholdt
 
BANCO DE DADOS MONGODB VS BANCO DE DADOS SQL SERVER 2008
BANCO DE DADOS MONGODB VS BANCO DE DADOS SQL SERVER 2008BANCO DE DADOS MONGODB VS BANCO DE DADOS SQL SERVER 2008
BANCO DE DADOS MONGODB VS BANCO DE DADOS SQL SERVER 2008CharlesAlfenasmg
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à práticaMario Guedes
 
Arquitetura de banco de dados
Arquitetura de banco de dadosArquitetura de banco de dados
Arquitetura de banco de dadosFelipe Correia
 
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
 
MongoDB e OpenShift - JUDCon2014
MongoDB e OpenShift - JUDCon2014MongoDB e OpenShift - JUDCon2014
MongoDB e OpenShift - JUDCon2014Fernando Boaglio
 
NoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaNoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaAugusto Giles
 
4 semestre trabalho individual analise e desenvolvimento de sistemas 2014
4 semestre trabalho individual analise e desenvolvimento de sistemas 20144 semestre trabalho individual analise e desenvolvimento de sistemas 2014
4 semestre trabalho individual analise e desenvolvimento de sistemas 2014WANDERSON JONER
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documentoAlex Martins
 
Ver
VerVer
Vercsmp
 
Modeloestruturaçaoads
ModeloestruturaçaoadsModeloestruturaçaoads
Modeloestruturaçaoadscsmp
 
Introdução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDBIntrodução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDBJhonathan de Souza Soares
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemRodrigo Valerio
 
MongoDB com Java - SouJava
MongoDB com Java - SouJavaMongoDB com Java - SouJava
MongoDB com Java - SouJavaFernando Boaglio
 

Similar a NoSQL, MongoDB e MEAN Stack (20)

#1 Introdução ao MongoDB
#1   Introdução ao MongoDB#1   Introdução ao MongoDB
#1 Introdução ao MongoDB
 
Cobo, Cristiane Brandão. Especialização Banco de Dados
Cobo, Cristiane Brandão. Especialização Banco de DadosCobo, Cristiane Brandão. Especialização Banco de Dados
Cobo, Cristiane Brandão. Especialização Banco de Dados
 
BANCO DE DADOS MONGODB VS BANCO DE DADOS SQL SERVER 2008
BANCO DE DADOS MONGODB VS BANCO DE DADOS SQL SERVER 2008BANCO DE DADOS MONGODB VS BANCO DE DADOS SQL SERVER 2008
BANCO DE DADOS MONGODB VS BANCO DE DADOS SQL SERVER 2008
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à prática
 
Tcc versao final-15-12
Tcc versao final-15-12Tcc versao final-15-12
Tcc versao final-15-12
 
Arquitetura de banco de dados
Arquitetura de banco de dadosArquitetura de banco de dados
Arquitetura de banco de dados
 
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
 
MongoDB e OpenShift - JUDCon2014
MongoDB e OpenShift - JUDCon2014MongoDB e OpenShift - JUDCon2014
MongoDB e OpenShift - JUDCon2014
 
Apresentação
ApresentaçãoApresentação
Apresentação
 
mongodb.pdf
mongodb.pdfmongodb.pdf
mongodb.pdf
 
Palestra nosql
Palestra nosqlPalestra nosql
Palestra nosql
 
NoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaNoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas Monografia
 
4 semestre trabalho individual analise e desenvolvimento de sistemas 2014
4 semestre trabalho individual analise e desenvolvimento de sistemas 20144 semestre trabalho individual analise e desenvolvimento de sistemas 2014
4 semestre trabalho individual analise e desenvolvimento de sistemas 2014
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
 
Ver
VerVer
Ver
 
Modeloestruturaçaoads
ModeloestruturaçaoadsModeloestruturaçaoads
Modeloestruturaçaoads
 
Introdução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDBIntrodução ao NoSQL e modelagem de dados com MongoDB
Introdução ao NoSQL e modelagem de dados com MongoDB
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvem
 
MongoDB com Java - SouJava
MongoDB com Java - SouJavaMongoDB com Java - SouJava
MongoDB com Java - SouJava
 

Más de Osmar Petry

Testes em integração contínua
Testes em integração contínuaTestes em integração contínua
Testes em integração contínuaOsmar Petry
 
Biblioteca React-Query
Biblioteca React-QueryBiblioteca React-Query
Biblioteca React-QueryOsmar Petry
 
Publicar pacote NPM na Zup
Publicar pacote NPM na ZupPublicar pacote NPM na Zup
Publicar pacote NPM na ZupOsmar Petry
 
Introdução ao React
Introdução ao ReactIntrodução ao React
Introdução ao ReactOsmar Petry
 
Observables RXJS
Observables RXJSObservables RXJS
Observables RXJSOsmar Petry
 
Aulão (iniciante) de programação com Clojure
Aulão (iniciante) de programação com ClojureAulão (iniciante) de programação com Clojure
Aulão (iniciante) de programação com ClojureOsmar Petry
 
Aulão (iniciante) de Clojure REST
Aulão (iniciante) de Clojure RESTAulão (iniciante) de Clojure REST
Aulão (iniciante) de Clojure RESTOsmar Petry
 
Aulão (iniciante) de programação funcional
Aulão (iniciante) de programação funcionalAulão (iniciante) de programação funcional
Aulão (iniciante) de programação funcionalOsmar Petry
 
Matemática discreta: Código de Hamming
Matemática discreta: Código de HammingMatemática discreta: Código de Hamming
Matemática discreta: Código de HammingOsmar Petry
 
Probabilidade e Estatística: Regressão linear, quadrática e exponencial
Probabilidade e Estatística: Regressão linear, quadrática e exponencialProbabilidade e Estatística: Regressão linear, quadrática e exponencial
Probabilidade e Estatística: Regressão linear, quadrática e exponencialOsmar Petry
 
Matemática computacional: Cálculo de áreas usando integrais
Matemática computacional: Cálculo de áreas usando integraisMatemática computacional: Cálculo de áreas usando integrais
Matemática computacional: Cálculo de áreas usando integraisOsmar Petry
 
Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)
Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)
Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)Osmar Petry
 
Gestão de conhecimento
Gestão de conhecimentoGestão de conhecimento
Gestão de conhecimentoOsmar Petry
 
Ferramenta Ghost CMS
Ferramenta Ghost CMSFerramenta Ghost CMS
Ferramenta Ghost CMSOsmar Petry
 
Process mining process discovery and prediction
Process mining process discovery and predictionProcess mining process discovery and prediction
Process mining process discovery and predictionOsmar Petry
 
Integração contínua com Maven e Jenkins
Integração contínua com Maven e JenkinsIntegração contínua com Maven e Jenkins
Integração contínua com Maven e JenkinsOsmar Petry
 

Más de Osmar Petry (20)

Testes em integração contínua
Testes em integração contínuaTestes em integração contínua
Testes em integração contínua
 
Biblioteca React-Query
Biblioteca React-QueryBiblioteca React-Query
Biblioteca React-Query
 
Publicar pacote NPM na Zup
Publicar pacote NPM na ZupPublicar pacote NPM na Zup
Publicar pacote NPM na Zup
 
Introdução ao React
Introdução ao ReactIntrodução ao React
Introdução ao React
 
Observables RXJS
Observables RXJSObservables RXJS
Observables RXJS
 
Flutter
FlutterFlutter
Flutter
 
Design Tokens
Design TokensDesign Tokens
Design Tokens
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Aulão (iniciante) de programação com Clojure
Aulão (iniciante) de programação com ClojureAulão (iniciante) de programação com Clojure
Aulão (iniciante) de programação com Clojure
 
Aulão (iniciante) de Clojure REST
Aulão (iniciante) de Clojure RESTAulão (iniciante) de Clojure REST
Aulão (iniciante) de Clojure REST
 
Aulão (iniciante) de programação funcional
Aulão (iniciante) de programação funcionalAulão (iniciante) de programação funcional
Aulão (iniciante) de programação funcional
 
Matemática discreta: Código de Hamming
Matemática discreta: Código de HammingMatemática discreta: Código de Hamming
Matemática discreta: Código de Hamming
 
Probabilidade e Estatística: Regressão linear, quadrática e exponencial
Probabilidade e Estatística: Regressão linear, quadrática e exponencialProbabilidade e Estatística: Regressão linear, quadrática e exponencial
Probabilidade e Estatística: Regressão linear, quadrática e exponencial
 
Matemática computacional: Cálculo de áreas usando integrais
Matemática computacional: Cálculo de áreas usando integraisMatemática computacional: Cálculo de áreas usando integrais
Matemática computacional: Cálculo de áreas usando integrais
 
Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)
Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)
Gerenciamento de continuidade e disponibilidade na ITIL v3 2011 (versão atual)
 
Gestão de conhecimento
Gestão de conhecimentoGestão de conhecimento
Gestão de conhecimento
 
Raspberry PI
Raspberry PIRaspberry PI
Raspberry PI
 
Ferramenta Ghost CMS
Ferramenta Ghost CMSFerramenta Ghost CMS
Ferramenta Ghost CMS
 
Process mining process discovery and prediction
Process mining process discovery and predictionProcess mining process discovery and prediction
Process mining process discovery and prediction
 
Integração contínua com Maven e Jenkins
Integração contínua com Maven e JenkinsIntegração contínua com Maven e Jenkins
Integração contínua com Maven e Jenkins
 

NoSQL, MongoDB e MEAN Stack

  • 1. NoSQL, MongoDB e MEAN PROFESSOR: LEONARDO VITAZIK NETO ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY Centro Universitário - Católica de Santa Catarina
  • 2. 2 PROFESSOR: LEONARDO VITAZIK NETO ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY Cetro Universitário Católica Santa Catarina NoSQL – História O termo NoSQL foi utilizado pela primeira vez em 1998 como nome de um banco de dados relacional de código aberto que não possuía um interface SQL. Seu autor, Carlo Strozzi, alega que o movimento NoSQL "é completamente distinto do modelo relacional e portanto deveria ser mais propriadamente chamado "NoREL" ou algo que produzisse o mesmo efeito". Porém, o termo só voltou a ser assunto em 2009 por um funcionário do Rackspace, Eric Evans, quando Johan Oskarsson da Last.fm queria organizar um evento para discutir bancos de dados open source distribuídos.
  • 3. 3 PROFESSOR: LEONARDO VITAZIK NETO ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY Cetro Universitário Católica Santa Catarina NoSQL – O que é NoSQL são diferentes sistemas de armazenamento que vieram para suprir necessidades nas quais os bancos de dados tradicionais (relacionais) são ineficazes. Muitas dessas bases apresentam características interessantes, como: alta performance, escalabilidade, replicação, suporte a dados estruturados, grafos e sub-colunas. O NoSQL tem uma grande facilidade na distribuição horizontal, ou seja, mais dados, mais servidores, não necessariamente de alta performance.
  • 4. 4 PROFESSOR: LEONARDO VITAZIK NETO ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY Cetro Universitário Católica Santa Catarina NoSQL – Tipos de Armazenamento • Key-Value Store • Wide Columns Store • Document Store • Graph Store • Column Oriented Store
  • 5. 5 PROFESSOR: LEONARDO VITAZIK NETO ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY Cetro Universitário Católica Santa Catarina MongoDB – História Criado pelo ex-Fundador do DoubleClick e CTO Dwight Merriman e DoubleClick ex-engenheiro e fundador ShopWiki e Eliot CTO Horowitz. Eles se basearam as suas experiências em construção de grande escala, alta disponibilidade, sistemas robustos para criar um novo tipo de banco de dados.
  • 6. O MongoDB não foi concebido em um laboratório. Nós construímos o MongoDB com base em nossas experiências na construção de sistemas robustos de grande escala e alta disponibilidade. Não começamos do zero, realmente tentamos descobrir o que estava quebrado, e combater isso. Assim, a maneira que eu penso sobre MongoDB é que se você pegar o MySql, e alterar o modelo de dados do relacional para orientado a documento, você ganha uma grande quantidade de recursos: documentos embarcados para velocidade, facilidade de gerenciamento, desenvolvimento ágil com bancos de dados sem “schema”, escalabilidade horizontal mais fácil, pois “joins” não são tão importantes. Há muitas coisas que funcionam muito bem nas bases de dados relacionais: índices, consultas dinâmicas e atualizações para citar alguns, e nós não mudamos muito neste ponto. Por exemplo, a maneira de projetar seus índices no MongoDB deve ser exatamente do jeito que você faz isso no MySQL ou Oracle, você só ganha a opção de indexar um campo embarcado. – Eliot Horowitz, CTO 10gen e Co-fundador
  • 7. 7 PROFESSOR: LEONARDO VITAZIK NETO ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY Cetro Universitário Católica Santa Catarina MongoDB – O que é O MongoDB é um dos bancos NoSQL mais utilizados, pela sua facilidade de instalação, sua documentação e os diversos drivers para inúmeras linguagens de programação. Ele é um banco de dados orientado a documentos, escalável, livre de esquema, de alto desempenho e código aberto escrito em C++.
  • 8. 8 PROFESSOR: LEONARDO VITAZIK NETO ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY Cetro Universitário Católica Santa Catarina MongoDB – Principais Funcionalidades • Orientação a documentos(JSON/BSON) • Suporte a index • Replicação e alta disponibilidade • Auto-sharding • Map/reduce GridFS • Suporte comercial da 10gen.
  • 9. 9 PROFESSOR: LEONARDO VITAZIK NETO ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY Cetro Universitário Católica Santa Catarina MongoDB – Principais Caracteristicas • Open Source • Alta Performance • Schema Aberto – para fácil evolução do esquema • Banco de Dados Orientado a Documento • Preparador para trabalhar na nuvem • Atualmente na versão 3.2.10 estável MongoGB é um banco de dados de documento, e isto quer dizer que podemos armazenar dados como documentos.
  • 10. 10 PROFESSOR: LEONARDO VITAZIK NETO ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY Cetro Universitário Católica Santa Catarina NodeJS Node.js é uma plataforma para desenvolvimento de aplicações server-side baseadas em rede utilizando JavaScript e o V8 JavaScript Engine, ou seja, com Node.js podemos criar uma variedade de aplicações Web utilizando apenas código em JavaScript
  • 11. 11 PROFESSOR: LEONARDO VITAZIK NETO ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY Cetro Universitário Católica Santa Catarina Express O Express é um framework para aplicativo da web do Node.js mínimo e flexível que fornece um conjunto robusto de recursos para aplicativos web e móvel. Com uma miríade de métodos utilitários HTTP e middleware a seu dispor, criar uma API robusta é rápido e fácil. O Express fornece uma camada fina de recursos fundamentar para aplicativos da web, sem obscurecer os recursos do Node.js que você conhece e ama.
  • 12. 12 PROFESSOR: LEONARDO VITAZIK NETO ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY Cetro Universitário Católica Santa Catarina Angular AngularJS é um framework JavaScript open-source, mantido pelo Google, que auxilia na execução de single-page applications. Seu objetivo é aumentar aplicativos que podem ser acessados por um navegador web, foi construído sob o padrão model- view-view-model (MVVM), em um esforço para facilitar tanto o desenvolvimento quanto o teste dos aplicativos.
  • 13. 13 PROFESSOR: LEONARDO VITAZIK NETO ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY Cetro Universitário Católica Santa Catarina MEAN MEAN Stack é o empilhamento de quatro outras ferramentas de desenvolvimento: MongoDB, ExpressJS, AngularJS e Node.js (e o Node é a principal razão dele existir) - então nós vamos chama-los de PRIMES. Usando essas quatro ferramentas juntas você vai desenvolver aplicações eficientes, bem organizadas e interativas com agilidade.
  • 14. 14 PROFESSOR: LEONARDO VITAZIK NETO ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY Cetro Universitário Católica Santa Catarina MEAN Uma vez que todos os PRIMES (os componentes da pilha) usam JavaScript, você vai conseguir transitar por todas as camadas do seu sistema sem problemas. Com eles, você vai poder: • Usar JavaScript no server-side com Node e Experss • Usar JavaScript no cliente-side com Angular • Persistir seus objetos JSON (JavaScript Object Notation) no MongoDB • Usar objetos JSON para enviar dados do banco para servidor e daí pro browser.
  • 15. 15 PROFESSOR: LEONARDO VITAZIK NETO ALUNOS: DJIOVANI CABRAL LUIS MACHADO E, OSMAR PETRY Cetro Universitário Católica Santa Catarina Exemplo na prática https://github.com/osmarpetry/alurapic-mean