SlideShare uma empresa Scribd logo
1 de 30
Azure Cosmos DB
Renato Groffe (Microsoft MVP, MTAC)
http://renatogroffe.net/
Renato Groffe
• Microsoft Most Valuable Professional (MVP)
• Multi-Plataform Technical Audience Contributor (MTAC)
• Mais de 15 anos de experiência na área de Tecnologia
• Autor Técnico e Palestrante
Contatos – Renato Groffe
/renatogroffe /in/renatogroffe
/canaldotnet
/renatogroffe/@renato.groffe
/canaldotnet
Agenda
• O paradigm NoSQL: uma visão geral
• Azure Cosmos DB
• Exemplos práticos
Uma visão geral
Modelo relacional: um breve histórico
• Proposto na década de 1970
• Estrutura mais rígida → tabelas, campos, linhas,
relacionamentos e uma série de restrições
• Linguagem SQL
• Muito presente no ambiente corporativo
Limitações do modelo relacional
• Disponibilidade
• Escalabilidade
• Dificuldades em gerenciar agrupamentos de
dados mais complexos
• Impedance mismatch → dificuldades
conciliando conceitos relacionais e de OO
Uma alternativa: NoSQL (“Not Only SQL”)
• Alta Disponibilidade
• Escalabilidade facilitada
• Flexibilidade
• Diversos tipos de soluções NoSQL →
Chave-valor, orientado a documentos
Bancos do tipo chave-valor
Chave 1 Valor 1
Chave 2 Valor 2
Chave n Valor n
. . .
Bancos do tipo chave-valor
Redis
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
Azure Cosmos DB
Azure Cosmos DB
• Lançamento oficial durante o Build 2017 (Maio)
• Solução NoSQL oferecida como serviço na nuvem
• Serviço de banco de dados de distribuição global
• “Evolução” do Document DB
Azure Cosmos DB – Resumo
Azure Cosmos DB – Características
Distribuição Global
• Possibilidade de replicação em várias regiões
• Sem preocupações com questões de infra estrutura
Baixa Latência
• Abaixo de 10 ms para leituras
• Abaixo de 15 ms para escritas
• Otimizações na escrita
• Indexação automática
Azure Cosmos DB – Características
Azure Cosmos DB – Características
Multi-model
• Suporte a DocumentDB (SQL), MongoDB,
Azure Tables, Gremlin (grafos) e
Cassandra
• Database Account
– Bancos de dados
• Usuários
– Permissões
• Container (Coleções, Tabelas, Grafos)
– Itens (Documentos, Itens, Nodes)
– Procedures, triggers, functions
Azure Cosmos DB – Características
Múltiplos modelos de consistência
Azure Cosmos DB – Características
Escalabilidade
• Horizontal (Throughput e Storage)
• Elasticidade
SLAs
• Garantias de 99,99% para alta disponibilidade,
throughput, baixa latência e consistência
DocumentDB
DocumentDB: uma visão geral
• Mais uma solução NoSQL do Microsoft Azure
• Orientado a documentos
• Flexível por ser “schemaless”
• Uso do padrão JSON para a representação dos dados
• Possui emulador local
DocumentDB: uma visão geral
• Suporte a transações baseado no modelo ACID
• Suporte a dados geoespaciais
• Consultas via LINQ ou expressões SQL
Estrutura geral do DocumentDB
DocumentDB – Suporte
E quando não existir um SDK?
A solução neste caso seria utilizar o
Azure DocumentDB REST API
Como migrar para o DocumentDB?
Utilizando o DocumentDB Data Migration Tool
• Executável disponível para download
• Suporte a inúmeras fontes (arquivos JSON,
MongoDB, SQL Server, arquivos CSV etc.)
Demos
Dúvidas?
Obrigado!

Mais conteúdo relacionado

Mais procurados

DocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São PauloDocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São PauloRenato Groff
 
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
 
Novidades do VS11, .Net 4.5 e EF5
Novidades do VS11, .Net 4.5 e EF5Novidades do VS11, .Net 4.5 e EF5
Novidades do VS11, .Net 4.5 e EF5Bruno Maestro
 
TypeScript + Node.js + cosmos db
TypeScript + Node.js + cosmos dbTypeScript + Node.js + cosmos db
TypeScript + Node.js + cosmos dbMVP Microsoft
 
NoSQL - Soluções alternativas para bancos de dados
NoSQL - Soluções alternativas para bancos de dadosNoSQL - Soluções alternativas para bancos de dados
NoSQL - Soluções alternativas para bancos de dadosNicolas Ibanheiz
 
Aula 4 e 5 css e java script
Aula 4 e 5   css e java scriptAula 4 e 5   css e java script
Aula 4 e 5 css e java scriptandreluizlc
 
Arquitetura de banco de dados
Arquitetura de banco de dadosArquitetura de banco de dados
Arquitetura de banco de dadosFelipe Correia
 
Estudo de caso do "O Curioso" (Rio on Rails)
Estudo de caso do "O Curioso" (Rio on Rails)Estudo de caso do "O Curioso" (Rio on Rails)
Estudo de caso do "O Curioso" (Rio on Rails)guestf4f70f
 
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012Diego Nogare
 
Backup Database - On Premisses no Azure
Backup Database - On Premisses no AzureBackup Database - On Premisses no Azure
Backup Database - On Premisses no AzureSulamita Dantas
 
Gerando arquivos CSS de forma mais produtiva
Gerando arquivos CSS de forma mais produtivaGerando arquivos CSS de forma mais produtiva
Gerando arquivos CSS de forma mais produtivaIgor Lopes
 
Webservices em PHP e a liberdade da Web
Webservices em PHP e a liberdade da WebWebservices em PHP e a liberdade da Web
Webservices em PHP e a liberdade da WebAlexandre Andrade
 
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
 
Banco de dados na nuvem e isso é possível
Banco de dados na nuvem e isso é possívelBanco de dados na nuvem e isso é possível
Banco de dados na nuvem e isso é possívelMarcos Freccia
 
Desenvolvimento Web Com Software Livre
Desenvolvimento Web Com Software LivreDesenvolvimento Web Com Software Livre
Desenvolvimento Web Com Software LivreGivanaldo Rocha
 
Desenvolvimento Web com RubyOnRails
Desenvolvimento Web com RubyOnRailsDesenvolvimento Web com RubyOnRails
Desenvolvimento Web com RubyOnRailsRoberto Soares
 
NoSQL, o que realmente é?
NoSQL, o que realmente é?NoSQL, o que realmente é?
NoSQL, o que realmente é?Thiago Avelino
 

Mais procurados (20)

DocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São PauloDocumentDB - Azure Fridays São Paulo
DocumentDB - Azure Fridays São Paulo
 
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
 
Novidades do VS11, .Net 4.5 e EF5
Novidades do VS11, .Net 4.5 e EF5Novidades do VS11, .Net 4.5 e EF5
Novidades do VS11, .Net 4.5 e EF5
 
TypeScript + Node.js + cosmos db
TypeScript + Node.js + cosmos dbTypeScript + Node.js + cosmos db
TypeScript + Node.js + cosmos db
 
Sass - Syntactically Awesome Style Sheets
Sass - Syntactically Awesome Style SheetsSass - Syntactically Awesome Style Sheets
Sass - Syntactically Awesome Style Sheets
 
NoSQL - Soluções alternativas para bancos de dados
NoSQL - Soluções alternativas para bancos de dadosNoSQL - Soluções alternativas para bancos de dados
NoSQL - Soluções alternativas para bancos de dados
 
Aula 4 e 5 css e java script
Aula 4 e 5   css e java scriptAula 4 e 5   css e java script
Aula 4 e 5 css e java script
 
Arquitetura de banco de dados
Arquitetura de banco de dadosArquitetura de banco de dados
Arquitetura de banco de dados
 
Estudo de caso do "O Curioso" (Rio on Rails)
Estudo de caso do "O Curioso" (Rio on Rails)Estudo de caso do "O Curioso" (Rio on Rails)
Estudo de caso do "O Curioso" (Rio on Rails)
 
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012
 
Backup Database - On Premisses no Azure
Backup Database - On Premisses no AzureBackup Database - On Premisses no Azure
Backup Database - On Premisses no Azure
 
NoSQL CosmosDB e IOT na era Serveless
NoSQL CosmosDB e IOT na era ServelessNoSQL CosmosDB e IOT na era Serveless
NoSQL CosmosDB e IOT na era Serveless
 
Gerando arquivos CSS de forma mais produtiva
Gerando arquivos CSS de forma mais produtivaGerando arquivos CSS de forma mais produtiva
Gerando arquivos CSS de forma mais produtiva
 
Windows Aazure
Windows AazureWindows Aazure
Windows Aazure
 
Webservices em PHP e a liberdade da Web
Webservices em PHP e a liberdade da WebWebservices em PHP e a liberdade da Web
Webservices em PHP e a liberdade da Web
 
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
 
Banco de dados na nuvem e isso é possível
Banco de dados na nuvem e isso é possívelBanco de dados na nuvem e isso é possível
Banco de dados na nuvem e isso é possível
 
Desenvolvimento Web Com Software Livre
Desenvolvimento Web Com Software LivreDesenvolvimento Web Com Software Livre
Desenvolvimento Web Com Software Livre
 
Desenvolvimento Web com RubyOnRails
Desenvolvimento Web com RubyOnRailsDesenvolvimento Web com RubyOnRails
Desenvolvimento Web com RubyOnRails
 
NoSQL, o que realmente é?
NoSQL, o que realmente é?NoSQL, o que realmente é?
NoSQL, o que realmente é?
 

Semelhante a Azure Cosmos DB: Uma visão geral do banco de dados global e multi-modelo

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
 
Introdução ao Nosql
Introdução ao NosqlIntrodução ao Nosql
Introdução ao NosqlJosé Silva
 
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PASS SQLSATURDAY 663 Rio de Janeiro, BrazilPASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PASS SQLSATURDAY 663 Rio de Janeiro, BrazilAlexandre Araujo
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documentoAlex Martins
 
NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPAricelio Souza
 
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
 
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
 
NoSQL na nuvem: utilizando o DocumentDB
NoSQL na nuvem: utilizando o DocumentDBNoSQL na nuvem: utilizando o DocumentDB
NoSQL na nuvem: utilizando o DocumentDBRenato Groff
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalierGleicon Moraes
 
I nd t_bigdata(1)
I nd t_bigdata(1)I nd t_bigdata(1)
I nd t_bigdata(1)wchevreuil
 
MongoDB no Microsoft Azure - DBA Brasil 2.0
MongoDB no Microsoft Azure - DBA Brasil 2.0MongoDB no Microsoft Azure - DBA Brasil 2.0
MongoDB no Microsoft Azure - DBA Brasil 2.0Renato Groff
 
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
 
Estudo de técnicas de persistência e acesso concorrente a ontologias
Estudo de técnicas de persistência e acesso concorrente a ontologiasEstudo de técnicas de persistência e acesso concorrente a ontologias
Estudo de técnicas de persistência e acesso concorrente a ontologiasHelio Henrique L. C. Monte-Alto
 

Semelhante a Azure Cosmos DB: Uma visão geral do banco de dados global e multi-modelo (20)

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
 
NoSQL Multi-Model - Conheça o CosmosDB
NoSQL Multi-Model - Conheça o CosmosDB NoSQL Multi-Model - Conheça o CosmosDB
NoSQL Multi-Model - Conheça o CosmosDB
 
Introdução ao Nosql
Introdução ao NosqlIntrodução ao Nosql
Introdução ao Nosql
 
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PASS SQLSATURDAY 663 Rio de Janeiro, BrazilPASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
 
NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAP
 
NoSql e NewSql
NoSql e NewSqlNoSql e NewSql
NoSql e NewSql
 
DDD e Restful SOA
DDD e Restful SOADDD e Restful SOA
DDD e Restful SOA
 
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
 
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
 
NoSQL na nuvem: utilizando o DocumentDB
NoSQL na nuvem: utilizando o DocumentDBNoSQL na nuvem: utilizando o DocumentDB
NoSQL na nuvem: utilizando o DocumentDB
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalier
 
I nd t_bigdata(1)
I nd t_bigdata(1)I nd t_bigdata(1)
I nd t_bigdata(1)
 
MongoDB no Microsoft Azure - DBA Brasil 2.0
MongoDB no Microsoft Azure - DBA Brasil 2.0MongoDB no Microsoft Azure - DBA Brasil 2.0
MongoDB no Microsoft Azure - DBA Brasil 2.0
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
Mongo db
Mongo dbMongo db
Mongo db
 
NOSQL - Uma real alternativa
NOSQL - Uma real alternativaNOSQL - Uma real alternativa
NOSQL - Uma real alternativa
 
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
 
Estudo de técnicas de persistência e acesso concorrente a ontologias
Estudo de técnicas de persistência e acesso concorrente a ontologiasEstudo de técnicas de persistência e acesso concorrente a ontologias
Estudo de técnicas de persistência e acesso concorrente a ontologias
 

Mais de 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
 

Mais de 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
 

Azure Cosmos DB: Uma visão geral do banco de dados global e multi-modelo

  • 1. Azure Cosmos DB Renato Groffe (Microsoft MVP, MTAC) http://renatogroffe.net/
  • 2. Renato Groffe • Microsoft Most Valuable Professional (MVP) • Multi-Plataform Technical Audience Contributor (MTAC) • Mais de 15 anos de experiência na área de Tecnologia • Autor Técnico e Palestrante
  • 3. Contatos – Renato Groffe /renatogroffe /in/renatogroffe /canaldotnet /renatogroffe/@renato.groffe /canaldotnet
  • 4. Agenda • O paradigm NoSQL: uma visão geral • Azure Cosmos DB • Exemplos práticos
  • 6. Modelo relacional: um breve histórico • Proposto na década de 1970 • Estrutura mais rígida → tabelas, campos, linhas, relacionamentos e uma série de restrições • Linguagem SQL • Muito presente no ambiente corporativo
  • 7. Limitações do modelo relacional • Disponibilidade • Escalabilidade • Dificuldades em gerenciar agrupamentos de dados mais complexos • Impedance mismatch → dificuldades conciliando conceitos relacionais e de OO
  • 8. Uma alternativa: NoSQL (“Not Only SQL”) • Alta Disponibilidade • Escalabilidade facilitada • Flexibilidade • Diversos tipos de soluções NoSQL → Chave-valor, orientado a documentos
  • 9. Bancos do tipo chave-valor Chave 1 Valor 1 Chave 2 Valor 2 Chave n Valor n . . .
  • 10. Bancos do tipo chave-valor Redis
  • 11. 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, } ] }
  • 12. Bancos orientados a documentos DocumentDB
  • 14. Azure Cosmos DB • Lançamento oficial durante o Build 2017 (Maio) • Solução NoSQL oferecida como serviço na nuvem • Serviço de banco de dados de distribuição global • “Evolução” do Document DB
  • 15. Azure Cosmos DB – Resumo
  • 16. Azure Cosmos DB – Características Distribuição Global • Possibilidade de replicação em várias regiões • Sem preocupações com questões de infra estrutura Baixa Latência • Abaixo de 10 ms para leituras • Abaixo de 15 ms para escritas • Otimizações na escrita • Indexação automática
  • 17. Azure Cosmos DB – Características
  • 18. Azure Cosmos DB – Características Multi-model • Suporte a DocumentDB (SQL), MongoDB, Azure Tables, Gremlin (grafos) e Cassandra • Database Account – Bancos de dados • Usuários – Permissões • Container (Coleções, Tabelas, Grafos) – Itens (Documentos, Itens, Nodes) – Procedures, triggers, functions
  • 19. Azure Cosmos DB – Características Múltiplos modelos de consistência
  • 20. Azure Cosmos DB – Características Escalabilidade • Horizontal (Throughput e Storage) • Elasticidade SLAs • Garantias de 99,99% para alta disponibilidade, throughput, baixa latência e consistência
  • 22. DocumentDB: uma visão geral • Mais uma solução NoSQL do Microsoft Azure • Orientado a documentos • Flexível por ser “schemaless” • Uso do padrão JSON para a representação dos dados • Possui emulador local
  • 23. DocumentDB: uma visão geral • Suporte a transações baseado no modelo ACID • Suporte a dados geoespaciais • Consultas via LINQ ou expressões SQL
  • 24. Estrutura geral do DocumentDB
  • 26. E quando não existir um SDK? A solução neste caso seria utilizar o Azure DocumentDB REST API
  • 27. Como migrar para o DocumentDB? Utilizando o DocumentDB Data Migration Tool • Executável disponível para download • Suporte a inúmeras fontes (arquivos JSON, MongoDB, SQL Server, arquivos CSV etc.)
  • 28. Demos