SlideShare ist ein Scribd-Unternehmen logo
1 von 26
NoSQL na nuvem
UTILIZANDO O DOCUMENTDB
Renato Groffe
Microsoft Most Valuable Professional (MVP)
Microsoft Technical Audience Contributor (MTAC)
Mais de 15 anos de experiência na área de Tecnologia
Articulista e Palestrante
Agenda
◦ O paradigma NoSQL: uma visão geral
◦ Conhecendo o DocumentDB
◦ Exemplos práticos
O paradigma NoSQL: uma visão geral
Modelo relacional: um breve histórico
◦ Proposto por Edgar F. Codd na década de 1970
◦ Foco em uma estrutura mais rígida, com tabelas,
campos, linhas, relacionamentos e uma série de
restrições
◦ Linguagem SQL
◦ Muito utilizado no ambiente corporativo
Limitações do modelo relacional
◦ Disponibilidade
◦ Escalabilidade
◦ Estrutura nem sempre adequada a agrupamentos
de dados mais complexos
◦ Impedance mismatch → Conflitos entre
representação em memória (objetos) e o
equivalente numa base relacional
Uma alternativa: NoSQL (“Not only SQL”)
◦ Alta Disponibilidade
◦ Escalabilidade facilitada
◦ Flexibilidade
◦ Diversos tipos de soluções NoSQL
◦ Orientado a documentos
◦ Chave-valor
◦ Orientado a colunas
◦ Orientado a grafos
Bancos orientados a documentos
{
"id": 55,
"Pais": "Brasil",
"Regiao": "América do Sul",
"Populacao": 201032714,
"PrincipaisCidades": [
{
"NomeCidade": "São Paulo",
"Populacao": 1182876,
},
{
"NomeCidade": "Rio de Janeiro",
"Populacao": 6323037,
}
]
}
Bancos orientados a documentos
DocumentDB
Conhecendo o DocumentDB
DocumentDB: uma visão geral
◦ Banco de dados NoSQL orientado a documentos
◦ Serviço na nuvem
◦ Flexível por ser “schemaless”
◦ Uso do padrão JSON para a representação dos dados DocumentDB
DocumentDB: uma visão geral
◦ Comunicação via protocolo HTTP (REST)
◦ Suporte a transações baseado no modelo ACID
◦ Suporte a dados geoespaciais
◦ Consultas via LINQ ou expressões SQL
◦ Pago, com modalidades de cobrança baseadas no número
de requisições (RUs) e uso de storage
DocumentDB
Como o DocumentDB está estruturado?
Como utilizar o DocumentDB?
◦ Criar uma conta de acesso ao DocumentDB no Portal do
Azure
◦ Preencher as configurações para a conta de acesso
◦ Utilizando um SDK ou a API REST informar a URI da conta e
a Primary Key geradas no Portal do Azure
◦ Criar então novos databases, coleções e popular os
mesmos com dados
DocumentDB
E para testes locais?
◦ Azure DocumentDB Local Emulator
◦ Disponibilizado recentemente
◦ Apenas testes locais
◦ Não deve ser utilizado como um servidor local DocumentDB
Plataformas Suportadas
E quando não existir um SDK?
A solução neste caso seria utilizar o
Azure DocumentDB REST API
E no caso do .NET Framework?
◦ Instalar o package Microsoft.Azure.DocumentDB
◦ O pacote Newtonsoft.Json também será
adicionado
◦ Podem ser utilizadas classes convencionais,
objetos anônimos e estruturas baseadas em tipos
dinâmicos
Como migrar para o DocumentDB?
◦ Utilizando o DocumentDB Data Migration tool
◦ Suporte a inúmeras fontes
◦ Arquivos JSON
◦ MongoDB
◦ SQL Server
◦ Arquivos CSV
◦ Azure Table Storage
◦ Amazon DynamoDB
◦ HBase
◦ Coleções do próprio DocumentDB
DocumentDB
Como migrar para o DocumentDB?
◦ DocumentDB protocol support for MongoDB
◦ Suporte a operações de CRUD
◦ Simples alteração de uma connection string
◦ Uso de drivers existentes do MongoDB DocumentDB
Exemplos práticos
Exemplo
◦ Catálogo de produtos e serviços
◦ Criação de uma base chamada AzureFridaySP
◦ Criar uma coleção chamada Catalogo
Dúvidas?
Referências
◦ DocumentDB documentation
https://azure.microsoft.com/en-us/documentation/services/documentdb/
◦ NoSQL Guide
http://martinfowler.com/nosql.html
◦ Exemplos desta apresentação
https://github.com/renatogroffe/DocumentDB_AzureFridaySP
Contatos
◦ Facebook: https://www.facebook.com/renatogroff
◦ Site: http://renatogroffe.net/
◦ Canal .NET: https://www.facebook.com/canaldotnet
◦ LinkedIn: http://br.linkedin.com/in/renatogroffe
◦ GitHub: https://github.com/renatogroffe
Obrigado!

Weitere ähnliche Inhalte

Was ist angesagt?

Azure Cosmos DB - Campinas .NET - Janeiro-2018
Azure Cosmos DB - Campinas .NET - Janeiro-2018Azure Cosmos DB - Campinas .NET - Janeiro-2018
Azure Cosmos DB - Campinas .NET - Janeiro-2018Renato Groff
 
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São PauloNoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São PauloRenato Groff
 
Azure Cosmos DB - Azure Weekend SP - Outubro/2017
Azure Cosmos DB - Azure Weekend SP - Outubro/2017Azure Cosmos DB - Azure Weekend SP - Outubro/2017
Azure Cosmos DB - Azure Weekend SP - Outubro/2017Renato Groff
 
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017Renato Groff
 
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...Renato Groff
 
Azure Cosmos DB - TDC 2017 - São Paulo
Azure Cosmos DB - TDC 2017 - São PauloAzure Cosmos DB - TDC 2017 - São Paulo
Azure Cosmos DB - TDC 2017 - São PauloRenato Groff
 
Apresentação MongoDB
Apresentação MongoDBApresentação MongoDB
Apresentação MongoDBDavid de Lucca
 
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018Renato Groffe
 
Desenvolvendo uma Aplicação Javascript Fulll
Desenvolvendo uma Aplicação Javascript FulllDesenvolvendo uma Aplicação Javascript Fulll
Desenvolvendo uma Aplicação Javascript FulllDjanilson Alves
 
Bancos NoSQL no Microsoft Azure
Bancos NoSQL no Microsoft AzureBancos NoSQL no Microsoft Azure
Bancos NoSQL no Microsoft AzureJoel Rodrigues
 
Azure Cosmos DB: NoSQL na nuvem - TDC 2018 - São Paulo
Azure Cosmos DB: NoSQL na nuvem - TDC 2018 - São PauloAzure Cosmos DB: NoSQL na nuvem - TDC 2018 - São Paulo
Azure Cosmos DB: NoSQL na nuvem - TDC 2018 - São PauloRenato Groff
 
NPA - NoSQL Persistence API
NPA - NoSQL Persistence APINPA - NoSQL Persistence API
NPA - NoSQL Persistence APIWesley Fuchter
 
Monitorando os Recursos e Processos do Servidor, através do Power BI
Monitorando os Recursos e Processos do Servidor, através do Power BIMonitorando os Recursos e Processos do Servidor, através do Power BI
Monitorando os Recursos e Processos do Servidor, através do Power BISulamita Dantas
 
Backup Database - On Premisses no Azure
Backup Database - On Premisses no AzureBackup Database - On Premisses no Azure
Backup Database - On Premisses no AzureSulamita Dantas
 
MongoDB Aggregation Framework
MongoDB Aggregation FrameworkMongoDB Aggregation Framework
MongoDB Aggregation FrameworkLeandro Domingues
 
Performance Codificando Night Week 2016
Performance Codificando Night Week 2016Performance Codificando Night Week 2016
Performance Codificando Night Week 2016Rodolfo Fadino Junior
 
Criando um baseline de seu ambiente completo utilizando SSIS e SSRS
Criando um baseline de seu ambiente completo utilizando SSIS e SSRSCriando um baseline de seu ambiente completo utilizando SSIS e SSRS
Criando um baseline de seu ambiente completo utilizando SSIS e SSRSMarcos Freccia
 
[MinhaVida TechDay] NoSQL
[MinhaVida TechDay] NoSQL[MinhaVida TechDay] NoSQL
[MinhaVida TechDay] NoSQLCleber Dantas
 

Was ist angesagt? (20)

Mongo db
Mongo dbMongo db
Mongo db
 
Azure Cosmos DB - Campinas .NET - Janeiro-2018
Azure Cosmos DB - Campinas .NET - Janeiro-2018Azure Cosmos DB - Campinas .NET - Janeiro-2018
Azure Cosmos DB - Campinas .NET - Janeiro-2018
 
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São PauloNoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
 
Azure Cosmos DB - Azure Weekend SP - Outubro/2017
Azure Cosmos DB - Azure Weekend SP - Outubro/2017Azure Cosmos DB - Azure Weekend SP - Outubro/2017
Azure Cosmos DB - Azure Weekend SP - Outubro/2017
 
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
 
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...
 
Mongo db slides
Mongo db slidesMongo db slides
Mongo db slides
 
Azure Cosmos DB - TDC 2017 - São Paulo
Azure Cosmos DB - TDC 2017 - São PauloAzure Cosmos DB - TDC 2017 - São Paulo
Azure Cosmos DB - TDC 2017 - São Paulo
 
Apresentação MongoDB
Apresentação MongoDBApresentação MongoDB
Apresentação MongoDB
 
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
 
Desenvolvendo uma Aplicação Javascript Fulll
Desenvolvendo uma Aplicação Javascript FulllDesenvolvendo uma Aplicação Javascript Fulll
Desenvolvendo uma Aplicação Javascript Fulll
 
Bancos NoSQL no Microsoft Azure
Bancos NoSQL no Microsoft AzureBancos NoSQL no Microsoft Azure
Bancos NoSQL no Microsoft Azure
 
Azure Cosmos DB: NoSQL na nuvem - TDC 2018 - São Paulo
Azure Cosmos DB: NoSQL na nuvem - TDC 2018 - São PauloAzure Cosmos DB: NoSQL na nuvem - TDC 2018 - São Paulo
Azure Cosmos DB: NoSQL na nuvem - TDC 2018 - São Paulo
 
NPA - NoSQL Persistence API
NPA - NoSQL Persistence APINPA - NoSQL Persistence API
NPA - NoSQL Persistence API
 
Monitorando os Recursos e Processos do Servidor, através do Power BI
Monitorando os Recursos e Processos do Servidor, através do Power BIMonitorando os Recursos e Processos do Servidor, através do Power BI
Monitorando os Recursos e Processos do Servidor, através do Power BI
 
Backup Database - On Premisses no Azure
Backup Database - On Premisses no AzureBackup Database - On Premisses no Azure
Backup Database - On Premisses no Azure
 
MongoDB Aggregation Framework
MongoDB Aggregation FrameworkMongoDB Aggregation Framework
MongoDB Aggregation Framework
 
Performance Codificando Night Week 2016
Performance Codificando Night Week 2016Performance Codificando Night Week 2016
Performance Codificando Night Week 2016
 
Criando um baseline de seu ambiente completo utilizando SSIS e SSRS
Criando um baseline de seu ambiente completo utilizando SSIS e SSRSCriando um baseline de seu ambiente completo utilizando SSIS e SSRS
Criando um baseline de seu ambiente completo utilizando SSIS e SSRS
 
[MinhaVida TechDay] NoSQL
[MinhaVida TechDay] NoSQL[MinhaVida TechDay] NoSQL
[MinhaVida TechDay] NoSQL
 

Andere mochten auch

APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016
APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016
APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016Renato Groff
 
Experts by Experience: Hands-on Experts in Poverty and their Added Value in I...
Experts by Experience: Hands-on Experts in Poverty and their Added Value in I...Experts by Experience: Hands-on Experts in Poverty and their Added Value in I...
Experts by Experience: Hands-on Experts in Poverty and their Added Value in I...FEANTSA
 
Wniosek o nadanie nazwy im. Wiadrowników
Wniosek o nadanie nazwy im. WiadrownikówWniosek o nadanie nazwy im. Wiadrowników
Wniosek o nadanie nazwy im. WiadrownikówRadioGdansk
 
Propuesta de Investigación
Propuesta de Investigación  Propuesta de Investigación
Propuesta de Investigación Jaileen_Carrion
 
Journalism week 1
Journalism week 1Journalism week 1
Journalism week 1Fatima B
 
Journalism week 3
Journalism week 3Journalism week 3
Journalism week 3Fatima B
 
Lea, Teo eta Mika lagunak!
Lea, Teo eta Mika lagunak! Lea, Teo eta Mika lagunak!
Lea, Teo eta Mika lagunak! Olaia Salgueiro
 
中国制造业与互联网融合机理及促进措施研究
中国制造业与互联网融合机理及促进措施研究中国制造业与互联网融合机理及促进措施研究
中国制造业与互联网融合机理及促进措施研究Linda LI
 
Objeto digital-Fugas de Prisioneros de la Isla del Diablo
Objeto digital-Fugas de Prisioneros de la Isla del DiabloObjeto digital-Fugas de Prisioneros de la Isla del Diablo
Objeto digital-Fugas de Prisioneros de la Isla del DiabloKrussheska Ching
 
May16 - Sellstate - RIS Real Estate Magzine
May16 - Sellstate - RIS Real Estate MagzineMay16 - Sellstate - RIS Real Estate Magzine
May16 - Sellstate - RIS Real Estate MagzineSuzanne Walters
 
Communicate magazine_ The winners - Corporate & Financial - Awards
Communicate magazine_ The winners - Corporate & Financial - AwardsCommunicate magazine_ The winners - Corporate & Financial - Awards
Communicate magazine_ The winners - Corporate & Financial - AwardsDamien Donlon
 
Lorton VRE Parking Lot Expansion
Lorton VRE Parking Lot ExpansionLorton VRE Parking Lot Expansion
Lorton VRE Parking Lot ExpansionFairfax County
 

Andere mochten auch (20)

APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016
APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016
APIs na nuvem com Azure e ASP.NET Core - Azure Weekend 2016
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Experts by Experience: Hands-on Experts in Poverty and their Added Value in I...
Experts by Experience: Hands-on Experts in Poverty and their Added Value in I...Experts by Experience: Hands-on Experts in Poverty and their Added Value in I...
Experts by Experience: Hands-on Experts in Poverty and their Added Value in I...
 
1.gay me va tang px phe quan
1.gay me va tang px phe quan1.gay me va tang px phe quan
1.gay me va tang px phe quan
 
Wniosek o nadanie nazwy im. Wiadrowników
Wniosek o nadanie nazwy im. WiadrownikówWniosek o nadanie nazwy im. Wiadrowników
Wniosek o nadanie nazwy im. Wiadrowników
 
Propuesta de Investigación
Propuesta de Investigación  Propuesta de Investigación
Propuesta de Investigación
 
Journalism week 1
Journalism week 1Journalism week 1
Journalism week 1
 
Guia integracion alumnado
Guia integracion alumnadoGuia integracion alumnado
Guia integracion alumnado
 
10 Tips para tener un gran día
10 Tips para tener un gran día10 Tips para tener un gran día
10 Tips para tener un gran día
 
Journalism week 3
Journalism week 3Journalism week 3
Journalism week 3
 
Lea, Teo eta Mika lagunak!
Lea, Teo eta Mika lagunak! Lea, Teo eta Mika lagunak!
Lea, Teo eta Mika lagunak!
 
中国制造业与互联网融合机理及促进措施研究
中国制造业与互联网融合机理及促进措施研究中国制造业与互联网融合机理及促进措施研究
中国制造业与互联网融合机理及促进措施研究
 
Objeto digital-Fugas de Prisioneros de la Isla del Diablo
Objeto digital-Fugas de Prisioneros de la Isla del DiabloObjeto digital-Fugas de Prisioneros de la Isla del Diablo
Objeto digital-Fugas de Prisioneros de la Isla del Diablo
 
May16 - Sellstate - RIS Real Estate Magzine
May16 - Sellstate - RIS Real Estate MagzineMay16 - Sellstate - RIS Real Estate Magzine
May16 - Sellstate - RIS Real Estate Magzine
 
Administración Empresas Familiares-Aspectos legales
Administración Empresas Familiares-Aspectos legalesAdministración Empresas Familiares-Aspectos legales
Administración Empresas Familiares-Aspectos legales
 
Communicate magazine_ The winners - Corporate & Financial - Awards
Communicate magazine_ The winners - Corporate & Financial - AwardsCommunicate magazine_ The winners - Corporate & Financial - Awards
Communicate magazine_ The winners - Corporate & Financial - Awards
 
13 a jerrodthomas
13 a jerrodthomas13 a jerrodthomas
13 a jerrodthomas
 
Cuarto de hora institucional
Cuarto de hora institucionalCuarto de hora institucional
Cuarto de hora institucional
 
Lorton VRE Parking Lot Expansion
Lorton VRE Parking Lot ExpansionLorton VRE Parking Lot Expansion
Lorton VRE Parking Lot Expansion
 
The final reflection
The final reflectionThe final reflection
The final reflection
 

Ähnlich wie DocumentDB - Azure Fridays São Paulo

No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documentoAlex Martins
 
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
 
Ruby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkRuby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkGuilherme Carlos
 
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas DistribuídosBanco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas DistribuídosJoão Helis Bernardo
 
FireDAC para BigDATA: Teradata e MongoDB
FireDAC para BigDATA: Teradata e MongoDBFireDAC para BigDATA: Teradata e MongoDB
FireDAC para BigDATA: Teradata e MongoDBAlan Glei
 
Alinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQLAlinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQLpichiliani
 
I nd t_bigdata(1)
I nd t_bigdata(1)I nd t_bigdata(1)
I nd t_bigdata(1)wchevreuil
 
Minicurso Epoca mongoDB
Minicurso Epoca mongoDBMinicurso Epoca mongoDB
Minicurso Epoca mongoDBLelyBarros
 
MongoDB também no Azure? SIM! - DevOps Summit 2017
MongoDB também no Azure? SIM! - DevOps Summit 2017MongoDB também no Azure? SIM! - DevOps Summit 2017
MongoDB também no Azure? SIM! - DevOps Summit 2017Renato Groff
 
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na WebMeritt - Cada Aluno é Único
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalierGleicon Moraes
 
SQL Server Heterogêneo: SQL Server + BigData
SQL Server Heterogêneo: SQL Server + BigDataSQL Server Heterogêneo: SQL Server + BigData
SQL Server Heterogêneo: SQL Server + BigDataRodrigo Dornel
 
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018Renato Groff
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Renato Groff
 

Ähnlich wie DocumentDB - Azure Fridays São Paulo (20)

NoSql e NewSql
NoSql e NewSqlNoSql e NewSql
NoSql e NewSql
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
 
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
 
Ruby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao FrameworkRuby on Rails - Introdução ao Framework
Ruby on Rails - Introdução ao Framework
 
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas DistribuídosBanco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
 
FireDAC para BigDATA: Teradata e MongoDB
FireDAC para BigDATA: Teradata e MongoDBFireDAC para BigDATA: Teradata e MongoDB
FireDAC para BigDATA: Teradata e MongoDB
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
Alinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQLAlinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQL
 
I nd t_bigdata(1)
I nd t_bigdata(1)I nd t_bigdata(1)
I nd t_bigdata(1)
 
Minicurso Epoca mongoDB
Minicurso Epoca mongoDBMinicurso Epoca mongoDB
Minicurso Epoca mongoDB
 
Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0Ruby on Rails for beginners 2.0
Ruby on Rails for beginners 2.0
 
MongoDB também no Azure? SIM! - DevOps Summit 2017
MongoDB também no Azure? SIM! - DevOps Summit 2017MongoDB também no Azure? SIM! - DevOps Summit 2017
MongoDB também no Azure? SIM! - DevOps Summit 2017
 
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalier
 
SQL Server Heterogêneo: SQL Server + BigData
SQL Server Heterogêneo: SQL Server + BigDataSQL Server Heterogêneo: SQL Server + BigData
SQL Server Heterogêneo: SQL Server + BigData
 
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Banco de Dados - NoSQL
Banco de Dados - NoSQLBanco de Dados - NoSQL
Banco de Dados - NoSQL
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
 

Mehr von Renato Groff

Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Renato Groff
 
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Renato Groff
 
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Renato Groff
 
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Renato Groff
 
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...Renato Groff
 
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...Renato Groff
 
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...Renato Groff
 
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...Renato Groff
 
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020Renato Groff
 
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Renato Groff
 
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |....NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...Renato Groff
 
Aplicações Distribuídas com .NET | TDC Recife Online 2020
Aplicações Distribuídas com .NET | TDC Recife Online 2020Aplicações Distribuídas com .NET | TDC Recife Online 2020
Aplicações Distribuídas com .NET | TDC Recife Online 2020Renato Groff
 
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020Renato Groff
 
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...Renato Groff
 
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Renato Groff
 
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - MackenzieRenato Groff
 
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...Renato Groff
 
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na PráticaKubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na PráticaRenato Groff
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020Renato Groff
 
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020Renato Groff
 

Mehr von Renato Groff (20)

Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
 
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
 
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
 
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
 
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
 
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
 
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
 
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
 
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
 
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
 
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |....NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
 
Aplicações Distribuídas com .NET | TDC Recife Online 2020
Aplicações Distribuídas com .NET | TDC Recife Online 2020Aplicações Distribuídas com .NET | TDC Recife Online 2020
Aplicações Distribuídas com .NET | TDC Recife Online 2020
 
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
 
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
 
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
 
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
 
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
 
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na PráticaKubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
 
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
 

DocumentDB - Azure Fridays São Paulo

  • 2. Renato Groffe Microsoft Most Valuable Professional (MVP) Microsoft Technical Audience Contributor (MTAC) Mais de 15 anos de experiência na área de Tecnologia Articulista e Palestrante
  • 3. Agenda ◦ O paradigma NoSQL: uma visão geral ◦ Conhecendo o DocumentDB ◦ Exemplos práticos
  • 4. O paradigma NoSQL: uma visão geral
  • 5. Modelo relacional: um breve histórico ◦ Proposto por Edgar F. Codd na década de 1970 ◦ Foco em uma estrutura mais rígida, com tabelas, campos, linhas, relacionamentos e uma série de restrições ◦ Linguagem SQL ◦ Muito utilizado no ambiente corporativo
  • 6. Limitações do modelo relacional ◦ Disponibilidade ◦ Escalabilidade ◦ Estrutura nem sempre adequada a agrupamentos de dados mais complexos ◦ Impedance mismatch → Conflitos entre representação em memória (objetos) e o equivalente numa base relacional
  • 7. Uma alternativa: NoSQL (“Not only SQL”) ◦ Alta Disponibilidade ◦ Escalabilidade facilitada ◦ Flexibilidade ◦ Diversos tipos de soluções NoSQL ◦ Orientado a documentos ◦ Chave-valor ◦ Orientado a colunas ◦ Orientado a grafos
  • 8. Bancos orientados a documentos { "id": 55, "Pais": "Brasil", "Regiao": "América do Sul", "Populacao": 201032714, "PrincipaisCidades": [ { "NomeCidade": "São Paulo", "Populacao": 1182876, }, { "NomeCidade": "Rio de Janeiro", "Populacao": 6323037, } ] }
  • 9. Bancos orientados a documentos DocumentDB
  • 11. DocumentDB: uma visão geral ◦ Banco de dados NoSQL orientado a documentos ◦ Serviço na nuvem ◦ Flexível por ser “schemaless” ◦ Uso do padrão JSON para a representação dos dados DocumentDB
  • 12. DocumentDB: uma visão geral ◦ Comunicação via protocolo HTTP (REST) ◦ Suporte a transações baseado no modelo ACID ◦ Suporte a dados geoespaciais ◦ Consultas via LINQ ou expressões SQL ◦ Pago, com modalidades de cobrança baseadas no número de requisições (RUs) e uso de storage DocumentDB
  • 13. Como o DocumentDB está estruturado?
  • 14. Como utilizar o DocumentDB? ◦ Criar uma conta de acesso ao DocumentDB no Portal do Azure ◦ Preencher as configurações para a conta de acesso ◦ Utilizando um SDK ou a API REST informar a URI da conta e a Primary Key geradas no Portal do Azure ◦ Criar então novos databases, coleções e popular os mesmos com dados DocumentDB
  • 15. E para testes locais? ◦ Azure DocumentDB Local Emulator ◦ Disponibilizado recentemente ◦ Apenas testes locais ◦ Não deve ser utilizado como um servidor local DocumentDB
  • 17. E quando não existir um SDK? A solução neste caso seria utilizar o Azure DocumentDB REST API
  • 18. E no caso do .NET Framework? ◦ Instalar o package Microsoft.Azure.DocumentDB ◦ O pacote Newtonsoft.Json também será adicionado ◦ Podem ser utilizadas classes convencionais, objetos anônimos e estruturas baseadas em tipos dinâmicos
  • 19. Como migrar para o DocumentDB? ◦ Utilizando o DocumentDB Data Migration tool ◦ Suporte a inúmeras fontes ◦ Arquivos JSON ◦ MongoDB ◦ SQL Server ◦ Arquivos CSV ◦ Azure Table Storage ◦ Amazon DynamoDB ◦ HBase ◦ Coleções do próprio DocumentDB DocumentDB
  • 20. Como migrar para o DocumentDB? ◦ DocumentDB protocol support for MongoDB ◦ Suporte a operações de CRUD ◦ Simples alteração de uma connection string ◦ Uso de drivers existentes do MongoDB DocumentDB
  • 22. Exemplo ◦ Catálogo de produtos e serviços ◦ Criação de uma base chamada AzureFridaySP ◦ Criar uma coleção chamada Catalogo
  • 24. Referências ◦ DocumentDB documentation https://azure.microsoft.com/en-us/documentation/services/documentdb/ ◦ NoSQL Guide http://martinfowler.com/nosql.html ◦ Exemplos desta apresentação https://github.com/renatogroffe/DocumentDB_AzureFridaySP
  • 25. Contatos ◦ Facebook: https://www.facebook.com/renatogroff ◦ Site: http://renatogroffe.net/ ◦ Canal .NET: https://www.facebook.com/canaldotnet ◦ LinkedIn: http://br.linkedin.com/in/renatogroffe ◦ GitHub: https://github.com/renatogroffe