SlideShare uma empresa Scribd logo
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 e Gremlin (grafos)
• 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

PPTX
Azure Cosmos DB - Campinas .NET - Janeiro-2018
PPTX
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
PPTX
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
PPTX
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...
PPT
Azure Cosmos DB - TDC 2017 - São Paulo
PPTX
Azure Cosmos DB: NoSQL na nuvem - TDC 2018 - São Paulo
PPTX
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
PPTX
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017
Azure Cosmos DB - Campinas .NET - Janeiro-2018
Azure Cosmos DB para Desenvolvedores - From Zero to Hero - Março-2018
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
Tecnologias de bancos de dados no Azure: conhecendo as opções relacionais e N...
Azure Cosmos DB - TDC 2017 - São Paulo
Azure Cosmos DB: NoSQL na nuvem - TDC 2018 - São Paulo
NoSQL para Desenvolvedores .NET - SQLSaturday #804 - São Paulo
NoSQL no Microsoft Azure - Global Azure Bootcamp 2017

Mais procurados (20)

PPTX
DocumentDB - Azure Fridays São Paulo
PPTX
Novidades do VS11, .Net 4.5 e EF5
PPTX
NoSQL no Azure - Azure Tech Nights - 2017
PPTX
TypeScript + Node.js + cosmos db
PDF
Sass - Syntactically Awesome Style Sheets
PPS
NoSQL - Soluções alternativas para bancos de dados
PDF
Aula 4 e 5 css e java script
PPTX
Arquitetura de banco de dados
PPTX
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012
PPTX
Backup Database - On Premisses no Azure
PPT
Estudo de caso do "O Curioso" (Rio on Rails)
PPTX
Webservices em PHP e a liberdade da Web
PPTX
NoSQL CosmosDB e IOT na era Serveless
PPTX
Monitorando os Recursos e Processos do Servidor, através do Power BI
PDF
Banco de dados na nuvem e isso é possível
PDF
Windows Aazure
PDF
Desenvolvimento Web com RubyOnRails
PPTX
Gerando arquivos CSS de forma mais produtiva
ODP
Desenvolvimento Web Com Software Livre
DocumentDB - Azure Fridays São Paulo
Novidades do VS11, .Net 4.5 e EF5
NoSQL no Azure - Azure Tech Nights - 2017
TypeScript + Node.js + cosmos db
Sass - Syntactically Awesome Style Sheets
NoSQL - Soluções alternativas para bancos de dados
Aula 4 e 5 css e java script
Arquitetura de banco de dados
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012
Backup Database - On Premisses no Azure
Estudo de caso do "O Curioso" (Rio on Rails)
Webservices em PHP e a liberdade da Web
NoSQL CosmosDB e IOT na era Serveless
Monitorando os Recursos e Processos do Servidor, através do Power BI
Banco de dados na nuvem e isso é possível
Windows Aazure
Desenvolvimento Web com RubyOnRails
Gerando arquivos CSS de forma mais produtiva
Desenvolvimento Web Com Software Livre
Anúncio

Semelhante a Azure Cosmos DB - Azure Weekend SP - Outubro/2017 (20)

PPTX
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
PPTX
NoSQL Multi-Model - Conheça o CosmosDB
PPTX
Introdução ao Nosql
PDF
Introducao a base de dados IBD07 NoSQL.pdf
PPTX
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
PPTX
No sql Orientado a documento
PPTX
NoSQL, Base VS ACID e Teorema CAP
PPT
Interoperabilidade entre bancos de dados
PPT
Interoperabilidade entre bancos de dados
PDF
NoSql e NewSql
PPTX
DDD e Restful SOA
PPTX
MongoDB também no Azure? SIM! - DevOps Summit 2017
PPT
L'esprit de l'escalier
PPTX
NoSQL na nuvem: utilizando o DocumentDB
PPT
MongoDB no Microsoft Azure - DBA Brasil 2.0
PPT
I nd t_bigdata(1)
PPTX
Mongo db
PDF
Web Scale Data Management
PPT
NOSQL - Uma real alternativa
PDF
Estudo de técnicas de persistência e acesso concorrente a ontologias
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
NoSQL Multi-Model - Conheça o CosmosDB
Introdução ao Nosql
Introducao a base de dados IBD07 NoSQL.pdf
PASS SQLSATURDAY 663 Rio de Janeiro, Brazil
No sql Orientado a documento
NoSQL, Base VS ACID e Teorema CAP
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
NoSql e NewSql
DDD e Restful SOA
MongoDB também no Azure? SIM! - DevOps Summit 2017
L'esprit de l'escalier
NoSQL na nuvem: utilizando o DocumentDB
MongoDB no Microsoft Azure - DBA Brasil 2.0
I nd t_bigdata(1)
Mongo db
Web Scale Data Management
NOSQL - Uma real alternativa
Estudo de técnicas de persistência e acesso concorrente a ontologias
Anúncio

Mais de Renato Groff (20)

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

Último (7)

PPTX
Curso de Windows 11 resumido na prática.pptx
PDF
Evolução em código: algoritmos genéticos com PHP
DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
DOC
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
PDF
apresentacao introducao computacao ead.pdf
PPTX
Mapeamento de Objeto para Tabela Relacional
PDF
Dos requisitos ao código: como criar código rastreável em PHP
Curso de Windows 11 resumido na prática.pptx
Evolução em código: algoritmos genéticos com PHP
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
apresentacao introducao computacao ead.pdf
Mapeamento de Objeto para Tabela Relacional
Dos requisitos ao código: como criar código rastreável em PHP

Azure Cosmos DB - Azure Weekend SP - Outubro/2017

  • 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 e Gremlin (grafos) • 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