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

29
NoSQL no Microsoft Azure Renato Groffe

Upload: renato-groff

Post on 12-Apr-2017

158 views

Category:

Software


1 download

TRANSCRIPT

Page 1: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

NoSQL no Microsoft Azure

Renato Groffe

Page 2: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

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

Page 3: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

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

Page 4: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

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

Page 5: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

Uma visão geral

Page 6: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

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

Page 7: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

Limitações do modelo relacional• Disponibilidade

• Escalabilidade

• Dificuldades em gerenciar agrupamentos de dados mais complexos

• Impedance mismatch → dificuldades conciliando conceitos relacionais e de OO

Page 8: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

Uma alternativa: NoSQL (“Not Only SQL”)• Alta Disponibilidade

• Escalabilidade facilitada

• Flexibilidade

• Diversos tipos de soluções NoSQL → Chave-valor, orientado a documentos

Page 9: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

Bancos do tipo chave-valorChave 1 Valor 1

Chave 2 Valor 2

Chave n Valor n

. . .

Page 10: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

Bancos do tipo chave-valor

Redis

Page 11: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

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, } ]}

Page 12: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

Bancos orientados a documentos

DocumentDB

Page 13: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

Azure Redis Cache

Page 14: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

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)

Page 15: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

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

(via de regra)

Go . . .

Page 16: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

Azure Table Storage

Page 17: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

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)

Page 18: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

Azure Table Storage – Suporte

Page 19: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

DocumentDB

Page 20: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

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

Page 21: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

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

ACID

• Suporte a dados geoespaciais

• Consultas via LINQ ou expressões SQL

Page 22: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

Estrutura geral do DocumentDB

Page 23: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

DocumentDB – Suporte

Page 24: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

E quando não existir um SDK?

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

Page 25: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

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.)

Page 26: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

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

Page 27: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

Demo

Page 28: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

Q&A

Page 29: NoSQL no Microsoft Azure - MVP Community Day - Março/2017

Thank you!