nosql no azure - azure tech nights - 2017

Post on 21-Feb-2017

87 Views

Category:

Software

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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: renato.groffe@yahoo.com.br

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!

top related