NoSQL no Azure - Azure Tech Nights - 2017
-
Upload
renato-groff -
Category
Software
-
view
88 -
download
4
Transcript of NoSQL no Azure - Azure Tech Nights - 2017
NoSQL no AzureALTERNATIVAS NA NUVEM AO MODELO RELACIONAL
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
Renato Groffe - Contatos◦ Site: http://renatogroffe.net
◦ Facebook: https://www.facebook.com/renatogroffe
◦ Facebook – Página: https://www.facebook.com/RenatoGroffeSW/
◦ LinkedIn: http://br.linkedin.com/in/renatogroffe
◦ E-mail: [email protected]
Agenda
◦ O paradigma NoSQL: uma visão geral
◦ Bancos de dados NoSQL e o Microsoft Azure
O paradigma NoSQL: uma visão geral
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
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
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
Bancos do tipo chave-valor
Azure Redis Cache
Azure Redis Cache◦Serviço na nuvem baseado no Redis
◦Armazenamento em memória
◦Cache distribuído em aplicações Web
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
Conhecendo o DocumentDB
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
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
Como o DocumentDB está estruturado?
Plataformas Suportadas
E quando não existir um SDK?
A solução neste caso seria utilizar o Azure DocumentDB REST API
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
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
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
Casos de uso reais do DocumentDB - Halo 5
Casos de uso reais do DocumentDB - Walking Dead
Dúvidas?
Obrigado!