2. Renato Groffe
◦ Mais de 15 anos de experiência na área de Tecnologia
◦ Microsoft Most Valuable Professional (MVP)
◦ Multi-Plataform Technical Audience Contributor (MTAC)
◦ Articulista e Palestrante
6. 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
7. 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
8. Uma alternativa: NoSQL (“Not only SQL”)
◦ Alta Disponibilidade
◦ Escalabilidade facilitada
◦ Flexibilidade
◦ Diversos tipos de soluções NoSQL
◦ Chave-valor
◦ Orientado a documentos
15. 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
16. 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 e uso de storage
DocumentDB
19. E quando não existir um SDK?
A solução neste caso seria utilizar o
Azure DocumentDB REST API
20. E no caso do .NET Framework?
◦ Instalar o package Microsoft.Azure.DocumentDB
ou Microsoft.Azure.DocumentDB.Core
◦ O pacote Newtonsoft.Json também será
adicionado
◦ Podem ser utilizadas classes convencionais,
objetos anônimos e estruturas baseadas em tipos
dinâmicos
21. 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
22. 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