A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Carlos Feiteira / Felipe de Assis

Apresentações semelhantes


Apresentação em tema: "Carlos Feiteira / Felipe de Assis"— Transcrição da apresentação:

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!


Carregar ppt "Carlos Feiteira / Felipe de Assis"

Apresentações semelhantes


Anúncios Google