nosql no microsoft azure - mvp community day - março/2017

Post on 12-Apr-2017

158 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

NoSQL no Microsoft Azure

Renato Groffe

Renato Groffe• Microsoft Most Valuable Professional (MVP)

• Multi-Plataform Technical Audience Contributor

• Mais de 15 anos de experiência na área de Tecnologia

• Articulista e Palestrante

Contatos – Renato Groffe• 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

Agenda• O paradigm NoSQL: uma visão geral• Azure Redis Cache• Azure Table Storage• DocumentDB• Exemplos práticos

Uma visão geral

Modelo relacional: um breve histórico• Proposto na década de 1970

• Estrutura mais rígida → tabelas, campos, linhas, relacionamentos e uma série de restrições

• Linguagem SQL

• Muito presente no ambiente corporativo

Limitações do modelo relacional• Disponibilidade

• Escalabilidade

• Dificuldades em gerenciar agrupamentos de dados mais complexos

• Impedance mismatch → dificuldades conciliando conceitos relacionais e de OO

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-valorChave 1 Valor 1

Chave 2 Valor 2

Chave n Valor n

. . .

Bancos do tipo chave-valor

Redis

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

Azure Redis Cache

Azure Redis Cache• Serviço na nuvem baseado no Redis,

uma solução NoSQL open source

• Armazenamento em memória de chaves e valores

• Cache distribuído em aplicações Web (uso mais comum)

Azure Redis Cache – Suporte• Compatibilidade com todas a plataformas suportadas pelo Redis

(via de regra)

Go . . .

Azure Table Storage

Azure Table Storage• Solução do tipo chave-valor

• Esquema de dados flexível (“schemaless”)

• Grandes volumes de dados estruturados e não relacionais

• Armazenamento baseado em tabelas e entidades

• As tabelas estão organizadas por partições e chaves primárias

• Conta com emulador local (Azure Storage Emulator)

Azure Table Storage – Suporte

DocumentDB

DocumentDB: uma visão geral• Mais uma solução NoSQL do Microsoft Azure

• Orientado a documentos

• Flexível por ser “schemaless”

• Uso do padrão JSON para a representação dos dados

• Possui emulador local

DocumentDB: uma visão geral• Suporte a transações baseado no modelo

ACID

• Suporte a dados geoespaciais

• Consultas via LINQ ou expressões SQL

Estrutura geral do DocumentDB

DocumentDB – Suporte

E quando não existir um SDK?

A solução neste caso seria utilizar o Azure DocumentDB REST API

Como migrar para o DocumentDB?Utilizando o DocumentDB Data Migration Tool

• Executável disponível para download

• Suporte a inúmeras fontes (arquivos JSON, MongoDB, SQL Server, arquivos CSV etc.)

Como migrar para o DocumentDB?DocumentDB: API for MongoDB

• Suporte a operações de CRUD

• Simples alteração de uma connection string

• Uso de drivers existentes do MongoDB

Demo

Q&A

Thank you!

top related