Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Carlos Feiteira / Felipe de Assis
E agora? NoSQL ou SQL?
2
Palestrantes Carlos Henrique Feiteira PFE Data & AI – Microsoft
Felipe de Assis
3
Patrocinadores
4
Objetivos E agora? NoSQL ou SQL?
Entender as características de um banco de dados NoSQL e comparar algumas de suas particularidades com bancos de dados relacionais (SQL) E agora? NoSQL ou SQL?
5
Agenda Relembrando SQL O que é NoSQL? Tipos de bancos de dados NoSQL
NoSQL vs SQL Principais aplicações/Exemplos Q&A
6
Introdução Quem já trabalha com banco de dados? Quem já trabalha com NoSQL?
7
Relembrando a definição: Banco de dados SQL
Modelo relacional Ou seja, baseado em entidades (tabelas) que possuem relacionamento entre si Estrutura pré-definida (colunas, tipos de dados, etc.) Sempre preocupado com a consistência dos dados Exemplo: Um pedido é composto por itens (produtos) Pedido Item do pedido Produto
8
MER (Modelo Entidade Relacionamento)
9
ACID – Relacionamento de tabelas
A – Atomicidade Todas as transações ou nada C – Consistência Garantia do estado de consistência A – Isolamento Transações são independentes A – Durabilidade A informação comitada nunca é perdida
10
O que é um banco de dados NoSQL?
Definição: NoSQL = Não SQL = Não [Somente] Relacional Armazenamento e manipulação de dados não tabulares Principais características: Não relacionais Suporte a replicação Compensação de consistência Projetado para ser distribuído (particionado) Sem esquema definido
11
Tipos de bancos de dados NoSQL
Tipos mais comuns: Chave Valor Documentos Colunar Grafos
12
Chave Valor Principais características: Rápido acesso aos dados
Sessões de usuários Muita inserção Ruim para Update
13
Documentos Principais características: Bom para criação de CRUD
Não estruturado Várias informações em 1 único documento São documentos, não valores e nem tabelas Formato JSON, XML, BSON
14
Colunar Principais características: Modelo mais próximo do relacional
Log de atividades Timeline Bom para gravação Armazenar e processar grande quantidade de dados
15
Grafos Principais características: Redes sociais Recomendações
Logística Internet of Things (IoT)
16
Suporte à replicação de dados
17
Como é feita a distribuição dos dados? Sharding!
Distribui dados entre vários bancos de dados menores Pode-se adicionar mais servidores para scale-out Um dos principais desafios é balancear a carga
18
Como o NoSQL é diferente dos DBs relacionais?
Esquema: Validação dos dados na entrada Relacionamentos: Impõem conexões entre os dados NoSQL Esquema e Relacionamentos: Na maioria dos casos, são responsabilidades da aplicação Exemplo de exceção: documentos aninhados (json)
19
Como definir SQL ou NoSQL?
Volume, Variedade e Velocidade! Como faço para escalar um ambiente transacional?
20
Motivadores para o NoSQL
Dados vinculados Document-Data Large Data Sets OLAP/BI/DW Resiliência Schema Free Escalabilidade Social Networks
21
NoSQL vs SQL SQL NoSQL DATABASE TABELA (TABLE)
COLEÇÃO (COLLECTION), TABLE LINHA (ROW) DOCUMENT, JSON, BSON COLUNA (COLUMN) CAMPO (FIELD) / PROPRIEDADES INDEX INDEX (AUTO. EM ALGUMAS TECNOLOGIAS) TABLE JOINS EMBUTIDO NO DOCUMENTO CHAVE PRIMÁRIA (PRIMARY KEY) CHAVE / ID DE PARTIÇÃO TRANSACTIONS (BEGIN/COMMIT/ROLLBACK) DEPENDE DA TECNOLOGIA SCHEMA SCHEMA-FREE NORMALIZADO NÃO NORMALIZADO
22
Exemplo: Algumas pessoas tem mais de um telefone, como resolver?
Algumas pessoas tem endereço do trabalho, casa, casa de campo… ??? Criar uma nova tabela? A mesma questão acontece com o , vamos seguir? Estrutura final Tabela Relacional
23
Alternativa NoSQL SQL: Esquema rígido O dado fica fragmentado
Difícil análise dos dados Muitos JOINS nas consultas NoSQL: Esquema flexível Consumo simples pela aplicação
24
Exemplos de linguagem NoSQL
Não existe um padrão de linguagem como os bancos transacionais. 1-Mongo 2-Gremlin 3-SQL (DocumentDB) 4-REDIS
25
Comparação: SQL
26
Comparação: NoSQL
27
Possíveis aplicações
28
Exemplo de uma solução híbrida de banco de dados
Sistema de E-commerce Sessão de usuário Dados Financeiros Carrinho de Compras Recomendações Chave/Valor SQL Chave/Valor Grafos Catálogo de Produtos Relatórios Analytics Log de Atividades Documento SQL Colunar Colunar
29
Principais bancos de dados (Microsoft Azure)
30
SQL ou noSQL? DEMO
31
Links de referência Sugestão de treinamento gratuito:
32
Dúvidas??? Fale com o especialista!
33
Muito obrigado!
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.