Apresentação sobre o uso de tecnologias NoSQL a partir do Cosmos DB no Microsoft Azure. Palestra realizada no dia 07/04/2018 em São Paulo-SP, durante a edição 2018 do MVPConf.
3. #mvpconf
Beneficiários do Evento:
APAE-Associação de Pais e Amigos dos
Excepcionais
Lar da Criança Ninho de Paz
Para quem quiser doar outros valores além das inscrições:
CAIXA ECONÔMICA FEDERAL
AG: 0504
CC: 01823-0
CNPJ: 89.078.059/0001-06
ITAU UNIBANCO AS
Agência: 467
CC: 611109
CNPJ 53.372.454/0001-50
5. #mvpconf
Agenda: • O paradigma NoSQL: uma visão geral
• Azure Cosmos DB
• DocumentDB: uma visão geral
• Exemplos práticos
6. #mvpconf
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
7. #mvpconf
Limitações do modelo relacional
• Disponibilidade
• Escalabilidade
• Dificuldades em gerenciar agrupamentos de dados mais complexos
• Impedance mismatch → dificuldades conciliando conceitos
relacionais e de OO
8. #mvpconf
Uma alternativa: NoSQL (“Not Only SQL”)
• Alta Disponibilidade
• Escalabilidade facilitada
• Flexibilidade
• Diversos tipos de soluções NoSQL → Chave-valor, orientado a
documentos
13. #mvpconf
Azure Cosmos DB
• Lançamento oficial durante o Build 2017 (Maio)
• Solução NoSQL oferecida como serviço na nuvem
• Serviço de banco de dados de distribuição global
• “Evolução” do Document DB
• Conta com emulador local (para DocumentDB)
15. #mvpconf
Azure Cosmos DB – Características
• Distribuição Global
• Possibilidade de replicação em várias regiões
• Sem preocupações com questões de infraestrutura
• Baixa Latência
• Abaixo de 10 ms para leituras
• Abaixo de 15 ms para escritas
• Otimizações na escrita
• Indexação automática
19. #mvpconf
Azure Cosmos DB – Características
• Escalabilidade
• Horizontal (Throughput e Storage)
• Elasticidade
• SLAs
• Garantias de 99,99% para alta disponibilidade,
throughput, baixa latência e consistência
20. #mvpconf
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 e imagens no Docker Store
21. #mvpconf
DocumentDB: uma visão geral
• Suporte a transações baseado no modelo ACID
• Suporte a dados geoespaciais
• Consultas via LINQ ou expressões SQL
27. #mvpconf
Exemplos utilizados
• Extração de dados da NBA
https://github.com/renatogroffe/NBA-DocumentDB-DotNetCore2
• Extração de dados da Premier League
https://github.com/renatogroffe/PremierLeague-DocumentDB-DotNetCore2