CosmosDB - As armas da Microsoft no mundo NoSQL
Alexandre Araujo
@ale_araraujo16
Patrocinadores
Obrigado pelo apoio!
Prêmios
Distribuição de prêmios no encerramento – 18:20
GRAVAÇÕES
Agenda
 Mundo NoSQL
 Conceitos
 NoSQL x RDBMS
 NoSQL Tipos
 Cloud
 Cenário atual
 Modelos Cloud para Databases
 Azure CosmosDB
 Arquitetura
 APIs AzureCosmosDB
 Partitions
 SLA/Throughput
 DocumentDB
 Modelo
 Cenários
 Conceitos
 Cases AzureCosmosDB
 vNext DBA
 Novas soluções híbridas
 Futuro DBA
Mundo NoSQL
Mundo NoSQL
NoSql não significa “No SQL” e
sim Not Only SQL
Significa que também não
substitui o RDBMS
Redes Sociais e explosão do
Google impulsionaram o
movimento
RDBMS não foi projetado para
ambientes distribuídos e cluster
Mundo NoSQL – Características
Livre de Schema “Schemaless”
Distribuído e Particionado
Vantagens Desvantagens
Massiva Escalabilidade Consistência eventual
Persistência Poliglota Não tem padrão
Barato comparado com
big players RDBMS
Baixa portabilidade
Distribuição Geográfica Baixo controle de acesso
Evita Complexas Queries
SQL
Impossibilita Queries
SQL complexas
Mundo NoSQL – Tipos de Armazenamento
Mundo NoSQL – Tipos e Produtos
TIPO PRODUTO
Chave-Valor Redis - Azure Table - Oracle Berkeley
Colunar Cassandra - Hbase - Google BigTable
Documento MongoDB - Azure DocumentDB - CouchDB
Grafos Apache Tinker Pop (Gremlin) - Neo4J - SQL
Server 2017 Graph
Mundo NoSQL – Casos de Uso
Cloud
Cloud – Cenário atual
Hoje a maioria das novas aplicações
estão sendo executadas em um sistema
de nuvem privada, pública ou híbrida.
Nos bancos de dados os RDBMS no
inicio do cloud eram a escolha popular
Bancos NoSQL são construídos a
partir do zero para serem
distribuídos, escaláveis e ,portanto,
adequados ao cloud
SQL Server 2016 Stretch for Cloud
Cloud - Azure
Cloud – Modelos de Cloud
Cloud – DBAAS NoSQL Concorrentes
Azure Cosmos
Azure Cosmos - Arquitetura
GLOBAL
DISTRIBUTION
TUNABLE
CONSISTENCY
ELASTIC
SCALE OUT
FULLY
MANAGED
UNDERLINE
PLATAFORM
PLATAFORM
KEY- VALUE DOCUMENT GRAPH COLUNAR
OVERLINE
PLATFORM
Table Azure
DocumentDB
MongoDB
Gremlin Cassandra ?
Partition
Agnostic
Data
Indexing
Self
Scheme ARS
Multi Model
APIs
Single Model
Containers
Azure Cosmos – SLA
Azure Cosmos - Partitions
 Estratégia de Partições é chave do sucesso de um NoSQL
 Basedo no Workload e padrões de query do objetivo final
 Estruturado em Containers que armazenam os dados
 Dentro de Containers existe o partition key
Partition Key = { estado }
Container mensagens
SP
RJ AC PI
12 Nós
Azure Cosmos – Storage interno
Azure Cosmos – Thorughput
 Ru’s Request Unit é uma abstração lógica de recursos físicos
performando operações no seu database.
RU’s
CPU
MEMORIA
IOPS (DISCO)
C – Create { dados, index e replicação } 05 RU’s session/1KB
R – Read { 01 registro = 01 RU per session 1 KB
U – Update = 05 RU’s session/1KB
D – Delete= 05 RU’s session/1KB
Q – Query { Dinamicamente full scans, index }
Azure Cosmos – Calculadora
Azure Cosmos – Demo
DocumentDB API
DocumentDB API
CLIENT
SERVER
REST API DIRECT CONNECT
GATEWAY MODE
RUBY
X AWS
ETC.
PYTHON
SDK
JAVA
.NET
NODE JS
CLIENT
GUI
DIRECT
CONNECT
SQL
JS
REST API
DocumentDB API - Cenários
DocumentDB API - Modelagem
Modelo Relacional Modelo NoSQL (Documents)
DocumentDB API - Modelagem
• Não foque em entidades
• Nos últimos 20 anos estamos usando RDMS
• Desnormalizar para evitar joins !!!
JSON MODEL
DocumentDB API – Exemplo de JSON
Azure Cosmos – Demo DocumentDB API
DocumentDB API – Cases Azure Cosmos
vNext DBA - NoSQL DBMS
vNext DBA – Solução Híbrida
PLATAFORMA DE COMÉRCIO ELETRÔNICO
Dados de sessão
e carrinho
Pedidos
Finalizados
Estoque
Financeiro
Grafo Social do
Cliente
DB
Chave
Valor
DB
DOCTO
DB
RDBMS
DB
GRAFOS
DB
LEGADO
RDBMS
vNext DBA – DBA e o Futuro
Segurança
Tuning
Deploy
Monitoração
Remodelagem
Integração
Obrigado!

PASS SQLSATURDAY 663 Rio de Janeiro, Brazil

  • 1.
    CosmosDB - Asarmas da Microsoft no mundo NoSQL Alexandre Araujo @ale_araraujo16
  • 2.
  • 3.
    Prêmios Distribuição de prêmiosno encerramento – 18:20 GRAVAÇÕES
  • 4.
    Agenda  Mundo NoSQL Conceitos  NoSQL x RDBMS  NoSQL Tipos  Cloud  Cenário atual  Modelos Cloud para Databases  Azure CosmosDB  Arquitetura  APIs AzureCosmosDB  Partitions  SLA/Throughput  DocumentDB  Modelo  Cenários  Conceitos  Cases AzureCosmosDB  vNext DBA  Novas soluções híbridas  Futuro DBA
  • 5.
  • 6.
    Mundo NoSQL NoSql nãosignifica “No SQL” e sim Not Only SQL Significa que também não substitui o RDBMS Redes Sociais e explosão do Google impulsionaram o movimento RDBMS não foi projetado para ambientes distribuídos e cluster
  • 7.
    Mundo NoSQL –Características Livre de Schema “Schemaless” Distribuído e Particionado Vantagens Desvantagens Massiva Escalabilidade Consistência eventual Persistência Poliglota Não tem padrão Barato comparado com big players RDBMS Baixa portabilidade Distribuição Geográfica Baixo controle de acesso Evita Complexas Queries SQL Impossibilita Queries SQL complexas
  • 8.
    Mundo NoSQL –Tipos de Armazenamento
  • 9.
    Mundo NoSQL –Tipos e Produtos TIPO PRODUTO Chave-Valor Redis - Azure Table - Oracle Berkeley Colunar Cassandra - Hbase - Google BigTable Documento MongoDB - Azure DocumentDB - CouchDB Grafos Apache Tinker Pop (Gremlin) - Neo4J - SQL Server 2017 Graph
  • 10.
    Mundo NoSQL –Casos de Uso
  • 11.
  • 12.
    Cloud – Cenárioatual Hoje a maioria das novas aplicações estão sendo executadas em um sistema de nuvem privada, pública ou híbrida. Nos bancos de dados os RDBMS no inicio do cloud eram a escolha popular Bancos NoSQL são construídos a partir do zero para serem distribuídos, escaláveis e ,portanto, adequados ao cloud SQL Server 2016 Stretch for Cloud
  • 13.
  • 14.
  • 15.
    Cloud – DBAASNoSQL Concorrentes
  • 16.
  • 17.
    Azure Cosmos -Arquitetura GLOBAL DISTRIBUTION TUNABLE CONSISTENCY ELASTIC SCALE OUT FULLY MANAGED UNDERLINE PLATAFORM PLATAFORM KEY- VALUE DOCUMENT GRAPH COLUNAR OVERLINE PLATFORM Table Azure DocumentDB MongoDB Gremlin Cassandra ? Partition Agnostic Data Indexing Self Scheme ARS Multi Model APIs Single Model Containers
  • 18.
  • 19.
    Azure Cosmos -Partitions  Estratégia de Partições é chave do sucesso de um NoSQL  Basedo no Workload e padrões de query do objetivo final  Estruturado em Containers que armazenam os dados  Dentro de Containers existe o partition key Partition Key = { estado } Container mensagens SP RJ AC PI 12 Nós
  • 20.
    Azure Cosmos –Storage interno
  • 21.
    Azure Cosmos –Thorughput  Ru’s Request Unit é uma abstração lógica de recursos físicos performando operações no seu database. RU’s CPU MEMORIA IOPS (DISCO) C – Create { dados, index e replicação } 05 RU’s session/1KB R – Read { 01 registro = 01 RU per session 1 KB U – Update = 05 RU’s session/1KB D – Delete= 05 RU’s session/1KB Q – Query { Dinamicamente full scans, index }
  • 22.
    Azure Cosmos –Calculadora
  • 23.
  • 24.
  • 25.
    DocumentDB API CLIENT SERVER REST APIDIRECT CONNECT GATEWAY MODE RUBY X AWS ETC. PYTHON SDK JAVA .NET NODE JS CLIENT GUI DIRECT CONNECT SQL JS REST API
  • 26.
  • 27.
    DocumentDB API -Modelagem Modelo Relacional Modelo NoSQL (Documents)
  • 28.
    DocumentDB API -Modelagem • Não foque em entidades • Nos últimos 20 anos estamos usando RDMS • Desnormalizar para evitar joins !!! JSON MODEL
  • 29.
    DocumentDB API –Exemplo de JSON
  • 30.
    Azure Cosmos –Demo DocumentDB API
  • 31.
    DocumentDB API –Cases Azure Cosmos
  • 32.
    vNext DBA -NoSQL DBMS
  • 33.
    vNext DBA –Solução Híbrida PLATAFORMA DE COMÉRCIO ELETRÔNICO Dados de sessão e carrinho Pedidos Finalizados Estoque Financeiro Grafo Social do Cliente DB Chave Valor DB DOCTO DB RDBMS DB GRAFOS DB LEGADO RDBMS
  • 34.
    vNext DBA –DBA e o Futuro Segurança Tuning Deploy Monitoração Remodelagem Integração
  • 35.