documentdb - azure fridays são paulo
TRANSCRIPT
![Page 1: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/1.jpg)
NoSQL na nuvemUTILIZANDO O DOCUMENTDB
![Page 2: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/2.jpg)
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
![Page 3: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/3.jpg)
Agenda
◦ O paradigma NoSQL: uma visão geral
◦ Conhecendo o DocumentDB
◦ Exemplos práticos
![Page 4: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/4.jpg)
O paradigma NoSQL: uma visão geral
![Page 5: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/5.jpg)
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
![Page 6: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/6.jpg)
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
![Page 7: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/7.jpg)
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
![Page 8: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/8.jpg)
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, } ]}
![Page 9: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/9.jpg)
Bancos orientados a documentos
DocumentDB
![Page 10: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/10.jpg)
Conhecendo o DocumentDB
![Page 11: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/11.jpg)
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 dadosDocumentDB
![Page 12: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/12.jpg)
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
![Page 13: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/13.jpg)
Como o DocumentDB está estruturado?
![Page 14: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/14.jpg)
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
![Page 15: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/15.jpg)
E para testes locais?◦ Azure DocumentDB Local Emulator
◦ Disponibilizado recentemente
◦ Apenas testes locais
◦ Não deve ser utilizado como um servidor local DocumentDB
![Page 16: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/16.jpg)
Plataformas Suportadas
![Page 17: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/17.jpg)
E quando não existir um SDK?
A solução neste caso seria utilizar o Azure DocumentDB REST API
![Page 18: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/18.jpg)
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
![Page 19: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/19.jpg)
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
![Page 20: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/20.jpg)
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
![Page 21: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/21.jpg)
Exemplos práticos
![Page 22: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/22.jpg)
Exemplo◦ Catálogo de produtos e serviços
◦ Criação de uma base chamada AzureFridaySP
◦ Criar uma coleção chamada Catalogo
![Page 23: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/23.jpg)
Dúvidas?
![Page 24: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/24.jpg)
Referências◦ DocumentDB documentation
https://azure.microsoft.com/en-us/documentation/services/documentdb/
◦ NoSQL Guidehttp://martinfowler.com/nosql.html
◦ Exemplos desta apresentaçãohttps://github.com/renatogroffe/DocumentDB_AzureFridaySP
![Page 25: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/25.jpg)
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
![Page 26: DocumentDB - Azure Fridays São Paulo](https://reader033.vdocuments.net/reader033/viewer/2022052418/5874f6921a28ab917a8b80a5/html5/thumbnails/26.jpg)
Obrigado!