Apresentação sobre o Azure DocumentDB (solução que integra o Microsoft Azure) realizada no primeiro meetup do grupo Azure Fridays São Paulo em 25/11/2016.
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
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
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
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