Workshops. Daniel Bento, Solutions Architect. 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Documentos relacionados
Seminário apresentado em 29/06/2017 Disciplina: Sistemas Distribuídos Professora: Noemi Rodriguez Aluno: Ricardo Dias

Bancos de Dados NoSQL PROF.: DR. LUÍS CARLOS COSTA FONSECA

SGBDs NoSQL Modelos e Sistemas de Colunas e Grafos. Aluno: Jorge Dias Disciplina: IN940

Introdução aos Bancos de Dados Não-Relacionais. Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador)

Introdução. O que é um Banco de Dados (BD)?

Bancos de Dados NoSQL

BD e Cloud Gerenciamento de. Dados na Nuvem

Marcio Victorino. Análise de Informações TCU - TI

Big Data. A Nova Onda

Análise Comparativa entre Bancos de Dados NoSQL para Realização de Cache de Banco de Dados em Aplicações Web

Como criar seu ecossistema de dados com o Tableau no AWS

NoSQL Apache Cassandra para DBAs. Conceitos básicos que todo DBA deve conhecer sobre Apache Cassandra.

Evandro Deliberal Aula 01

BIG DATA: UMA INTRODUÇÃO. Prof. Ronaldo R. Goldschmidt

UNIVERSIDADE ESTADUAL DE PONTA GROSSA SETOR DE CIENCIAS AGRARIAS E DE TECNOLOGIA DEPARTAMENTO DE INFORMATICA

Prof. Daniela Barreiro Claro

SGBD NoSQL. Débora Souza in940

Prof. Daniela Barreiro Claro

Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.

Bancos de Dados Orientados a Grafos. Mateus Lana e Thiago Santana

ARMAZENAMENTO E PROCESSAMENTO DE BANCOS DE DADOS RELACIONAIS

Informática Parte 5 Prof. Márcio Hunecke

Escalabilidade, as modas e (No)SQL. Fernando Ike

Título da Apresentação

Streaming e Armazenamento de Grandes Volumes de Dados. Gleicon Moraes

SGBD NoSQL 1. Dácio Alves Florêncio

Aula 02. Evandro Deliberal

Replicando dados para o Kafka com o Oracle GoldenGate DBA Brasil 4.0 #DB4BRASIL

Introdução Ferramentas Unix MapReduce Outras Ferramentas. Batch Processing. Fabiola Santore. Universidade Federal do Paraná

Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL

Proposta Comercial. Produto: Servidores Dedicados

Inovação em Escala na Amazon Web Services. Julio M.

CARACTERÍSTICAS Interface intuitiva. Em pouco tempo você está ambientado com o software;

Palavras Chave: NoSQL, Escalabilidade, Banco de dados, web 2.0.

Proposta Comercial. Produto: Cloud OpenStack

Informática Parte 11 Prof. Márcio Hunecke

ESTUDO SOBRE A TECNOLOGIA DE BANCO DE DADOS NoSQL

Oracle Database Appliance X6-2 Panorama geral

Unidade 1 Introdução

Sharding e replicação com Citus

Designing Data Intensive Applications

Apresentação da ATA de Registro de Preços da Solução Hiperconvergente Nutanix para o Sistema S

Pollyanna Gonçalves. Seminário da disciplina Banco de Dados II

Universidade Vila Velha. Iago Binow, Lorran Pegoretti, Luiz Marcon e Pedro Malta

Diagrama Funcional das Informações

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Proposta Comercial. Produto: Object Storage

Proposta Comercial. Produto: Cloud Server Pro

Sistemas Distribuídos

Uma Análise Comparativa entre Sistemas Gerenciadores de Bancos de Dados NoSQL no contexto de Internet das Coisas

Conheça o IBM Cloud Functions A plataforma Serverless da IBM

Agenda. O que é o Windows Admin Center? Características do Windows Admin Center. O que está em desenvolvimento. Apêndice: screenshots

Replicação. Cleide Luzia Bonfim Possamai 03/05/2018

Principais Motivos para Usar o MySQL

BCD29008 Banco de dados

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34

UNIVERSIDADE ESTADUAL DE PONTA GROSSA SETOR DE CIÊNCIAS AGRÁRIAS E DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA

CASSANDRA: BANCO DE DADOS NÃO RELACIONAL DE ALTO DESEMPENHO

MAC NoSQL. Mauricio De Diana

SOLUÇÃO HADOOP COM EMC ISILON E CLOUDERA ENTERPRISE

Universidade de Brasília Instituto de Ciências Exatas Departamento de Ciência da Computação

São Paulo. Maio/2015

MarkLogic Business Partner. O Que Há De Novo No MarkLogic 9

Apis Rest Autoescaláveis

DRaaS na nuvem com Site Recovery for VMC on AWS

Uma Breve Introdução. Andréa Bordin

Aula 04. Evandro Deliberal

2 Instalando e configurando o ambiente de desenvolvimento do Microsoft SQL Server

PrIntCloud. Disciplina: Procedência de Dados e Data Warehousing. Aluna: Shermila Guerra Santa Cruz. 16/04/13

BCD29008 Banco de dados

Universidade Federal do Maranhão

Alta Disponibilidade para pequenos, médios e grandes ambientes

Formação de DBAs SQL Server 2008

PÓS-GRADUAÇÃO LATO SENSU. Curso: Banco de Dados. Disciplina: Data Warehouse e Business Intelligence; Laboratório Professor: Fernando Zaidan

4º Congresso Científico da Semana Tecnológica - IFSP 2013, copyright by IFSP de outubro de 2013, Bragança Paulista, SP, Brasil

DIFERENÇAS NO DESENVOLVIMENTO DE APLICAÇÕES WEB COM BD TRADICIONAL E BD NOSQL MONGODB

Gerenciamento de Dados em Larga Escala

Big Data Open Source com Hadoop

UM ESTUDO EXPLANATÓRIO ACERCA DOS MODELOS DE BANCO DE DADOS NOSQL

Utilização do console WEB do DokDBS. [Version 03/01/2013]

NoSQL. Cintia Freitas de Moura. BCC 441 Banco de Dados II / 2014

AWS. Painel Agregador. Segurança

Projeto de Sistemas Distribuídos. Considerações

Engenharia de software 2011A. Trabalho sobre

Bancos de Dados Distribuídos. Lucas Henrique Samuel Queiroz

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais

SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD

Aplicações SAP na Nuvem AWS

Formação de DBAs SQL Server 2008 Parte 1: Introdução

Sistemas de arquivos distribuídos. ECO036 - Sistemas Paralelos e Distribuídos

COMPUTAÇÃO EM NUVEM E PROCESSAMENTO MASSIVO DE DADOS Conceitos, tecnologias e aplicações

BD II (SI 587) Backup de Banco de Dados. Josenildo Silva.

EasyAzure. EasyAzure. Guia do programa. Ingram Micro Brasil. Versão 1.7

Sua versão mais recente, o SQL Server 2017 possui as edições descritas abaixo, com os recursos e limites:

4 Testes e experimentos realizados 4.1. Implementação e banco de dados

Azure Database for

Teste como Serviço (TaaS) na Computação em Nuvem

Transcrição:

Workshops Daniel Bento, Solutions Architect 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Workshops 30/03 - Escalando sua aplicação para os primeiros 10 milhões de usuários 27/04 - Conhecendo as opções de Bancos de Dados na Nuvem da AWS 25/05 - Introdução a arquitetura serverless 14/06 - Automações de Segurança

Conhecendo as opções de Bancos de Dados na Nuvem da AWS Daniel Bento, Solutions Architect 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Agenda - Hoje Apresentação - BDs na nuvem da AWS Break Lab Dúvidas Fechamento

O que esperar desta apresentação Conceitos: Transações ACID, Teorema CAP e persistência poliglota Apresentar os serivços de Banco de Dados na AWS e classificá-los dentro dos tipos existentes Quiz: Compreender qual cenário de utilização de cada serviço

Transações ACID

Transações ACID Atomicity (Ou tudo é feito, ou nada é feito) Consistency (levar o banco de dados de um estado consistente a um outro estado consistente) Isolation (transações concorrentes resultam em um estado que seria obtido se fossem executadas sequencialmente controle de concorrência deadlocks) Durability (efeitos de uma transação em caso de sucesso (commit) devem persistir no banco de dados)

Teorema CAP

Teorema CAP Você pode criar um banco que dados que seja: Consistent (Escritas são atômicas e todas as solicitações subseqüentes recuperam o novo valor) Available (O bd sempre retornará um valor enquanto um único servidor estiver rodando) Partition tolerant (O sistema ainda funcionará mesmo se a comunicação do servidor for perdida temporariamente - ou seja, uma partição de rede)

Teorema CAP Mas você só pode escolher 2: CA ou CP ou AP CA (Redis, PostgreSQL, Neo4J) CP (MongoDB, HBase) AP (DNS, Amazon DynamoDB, CouchDB) leituras eventualmente consistente e fortemente consistente

Persistência Poliglota

Arquitetura tradicional de banco de dados Client Tier Um banco de dados para todos workloads App/Web Tier RDBMS

Arquitetura tradicional de banco de dados Acesso Chave-valor Queries complexas Transaçõe Analytics Client Tier App/Web Tier RDBMS Todos forçados dentro do banco relacional

7 Bancos de dados em 7 semanas A questão central: Que banco de dados ou combinação de bancos melhor resolve seu problema? Analisa diversos bancos de dados, classificando-os em 5 tipos Casos de uso para cada banco de dados

Tipos de Banco de Dados Amazon RDS Aurora DIY EC2 Amazon DynamoDB Redis Memcached Riak Amazon Redshift Amazon Athena HBase Cassandra Amazon DynamoDB ElasticSearch MongoDB CouchDB Neo4J TitanDB Relacional/RDBMS Chave-Valor Colunar Documentos Grafo

Arquitetura da camada de dados na AWS Escolha o melhor tipo banco de dados para cada workload Client Tier App/Web Tier Cache NoSQL Data Tier Data Warehouse RDBMS Blob Store Search

Escolha o banco em função do workload Chave/valor Queries simples Leituras quentes Queries complexas Transações Analytics Logs Sistema de Busca Data Tier Cache NoSQL Data Warehouse RDBMS Blob Store Search

DIY EC2 Bancos de Dados na AWS Faça você mesmo: rode seu banco de dados em EC2 Maior poder de configuração EC2 Praticamente qualquer tipo e engine de banco de dados

Clientes que rodam banco de dados na AWS

BDs Relacionais Amazon RDS Aurora DIY EC2

Como escalar bancos de dados relacionais? Em algum momento, você chegará ao limite de sua máquina virtual. O que fazer? Verticalmente Adicionar mais capacidade de CPU, Memória, RAM, Redes, etc. Horizontalmente Réplicas de Leitura Sharding Federação Cluster Mudança de paradigma/tipo

BDs Relacionais Padrão mais comum e clássico de banco de dados São sistemas baseados na teoria dos conjuntos implementados como tabelas bidimensionais com linhas e colunas Fortemente tipado: tipos numéricos, strings, datas, blobs, etc.

BDs Relacionais Boa aderência Layout dos dados é conhecido antecipadamente, mas você ainda não sabe bem como usar os dados Transações ACID Queries complexas Não tão bons Quando seus dados são altamente variáveis ou profundamente hierárquicos. Ex: bd para descrever todas as criaturas da natureza Escalabilidade horizontal

Amazon Relational Database Service (RDS) Suporte multi-engine: Aurora, MySQL, MariaDB, PostgreSQL, Oracle, SQL Server Provisionamento automático, patching, escalabilidade, backup/restore, failover Alta disponibilidade com RDS Multi-AZ Amazon Aurora

High Availability Multi-AZ Deployments Solução para tolerância à falhas Failover automático Replicação síncrona Ativado com poucos cliques

Reinventando o Banco de Dados Relacional

Amazon RDS for Aurora Compatível com MySQL: 5x mais performanc no mesmo hardware: 100.000 escritas/s e 500.000 leituras/s Em preview Aurora PostgreSQL Escalável até 64 TB. Até 15 réplicas de leitura Storage SSD customizado, altamente durável e tolerante à falhas. Replicado 6x em 3 Zonas de disponibilidade.

NoSQL Chave-Valor Amazon DynamoDB Redis Memcached Riak

NoSQL Chave-Valor Um dos tipos mais simples de banco de dados Mapeia chaves simples para possivelmente valores mais complexos como uma hashtable Flexibilidade de implementação

NoSQL Chave-Valor Boa aderência Escalabilidade horizontal, extremamente rápido Problemas onde os dados não são altamente relacionados Offload de banco de dados Sessões de usuários Não tão bons Executar queries complexas em seus dados, diferentes de operações básicas CRUD (Criar, Ler, Atualizar, Excluir).

Amazon DynamoDB Rápido, Flexível, NoSQL escalável

História do NoSQL na Amazon

Amazon DynamoDB Totalmente gerenciado: você diz quantas leituras/s e escritas/s e nós fazemos o resto Se sua aplicação é rápida com 10 usuários, então será rápida com 1M, 10M ou 100M. Disponibilidade e durabilidade indistinguíveis de 100%

Amazon DynamoDB Customers

Case de Uso Lyft - Sistema de rastreamento de corridas Lyft realiza até 8x mais corridas durante Era tão simples escalar. os horários de pico Tínhamos dois botões: um para leitura e outro para escrita. Chris Lambert CTO, Lyft Utilizado para rastreamento GPS em todas as corridas.

Cache em memória Amazon ElastiCache Memcached ou Redis Totalmente gerenciado; zero administração

Key ElastiCache Features Totalmente gerenciado Multi-AZ Totalmente gerenciado Persistência Réplicas de leitura Multi-AZ com auto-failover Redis cluster

Amazon ElastiCache Customers Gaming AdTech Media Mobile Other

Banco de Dados Colunar Amazon Redshift Amazon Athena HBase Cassandra

Banco de dados Colunar Armazena os dados por colunas, ao invés de mantê-los juntos por linhas Redshift: baseado PostgreSQL, com armazenamento colunar HBase: colunas são baratas para serem adicionadas, o controle de versão é trivial, e não há custo de armazenamento real para valores despopulados

Banco de dados Colunar Boa aderência Escalabilidade horizontal Problemas de Big Data em clusters com centenas de nós Compressão e versionamento dos dados Não tão bons É melhor projetar seu schema com base em como você planeja consultar os dados. Você deve ter alguma idéia antes de como seus dados serão usados Impacta a performance.

Amazon Redshift Escala de Petabytes, relacional, MPP, data warehousing Totalmente gerenciado com plataformas em SSD e HDD 10x performance and 1/10 the price of other solutions Comece pequeno e cresça conforme a demanda

Arquitetura do Amazon Redshift Leader Node SQL endpoint, JDBC/ODBC Stores metadata Coordinates query execution JDBC/ODBC Compute Nodes Local, columnar storage Execute queries in parallel Load, backup, restore via Amazon S3 Load from Amazon DynamoDB or SSH 10 GigE (HPC) Two hardware platforms Optimized for data processing DS2: HDD; scale from 2TB to 2PB DC1: SSD; scale from 160GB to 326TB Ingestion Backup Restore

Amazon EMR / HBase Hadoop, HBase, Hive, Presto, Spark, Tez, Impala etc. Totalmente gerenciado, escalabilidade automática com suporte a on-demand e instâncias Spot Separação entre computação e storage. Múltiplos cluster consomem o mesmo dado no S3.

Amazon Athena Serviço serverless para executar queries SQL em dados no S3. Sem infraestrutura para gerenciar. Não é necessário carregar os dados. Execute direto do S3. Suporte para múltiplos formatos como CSV, TSV, JSON, Avro, ORC, Parquet

Banco de dados orientados a Documentos Amazon DynamoDB ElasticSearch MongoDB CouchDB

Banco de dados orientados a Documentos Provê suporte para armazenamento, consulta e atualização de itens em um formato de documento, como JSON, XML e HTML Documentos com qualquer número de campos. Suporte a objetos aninhados. Relativamente fácil de se fazer shard e replicação em diversos servidores

Banco de dados orientados a Documentos Boa aderência Problemas envolvendo domínios altamente variáveis Quando você não sabe de antemão como exatamente seus dados serão Bom mapeamento para modelos de programação orientada a objetos Não tão bons Se você precisa de joins elaborados em esquemas de bancos relacionais altamente normalizados Normalização de dados, reduzindo ou eliminando cópias

Engine de busca e Analytics Serviço gerenciado do Elasticsearch e Kibana Totalmente gerenciado; zero administração Altamente disponível e confiável Amazon Elasticsearch Service Integrado com outros serviços da AWS

Amazon Elasticsearch Use Cases Logs analíticos & Monitoramento Operacoinal Monitoramento de performance de suas aplicações Detecção de problemas em tempo real Mergulhe nos seus logs de maneira granular Visualização através do Kibana Busca Tradicional Capacidades de busca em diversos documentos Funcionalidades como: text matching, faceting, filtering, fuzzy search, auto complete, and highlighting

Banco de dados em Grafos Neo4J Titan

Banco de dados em Grafos Focado mais na inter-relação dos dados do que nos valores reais Queries consistem em percorrer nós e as arestas que os ligam

Banco de dados em Grafos Boa aderência Aplicações que modelam redes Buscas em grafos Ex: Nós representam usuários que possuem vários tipos de relacionamentos com outros Não tão bons Particionamento de redes. Não escalam bem. Será uma peça de um sistema maior, com o grafo armazenado em outro lugar.

Titan + DynamoDB Amazon DynamoDB Utilize o DynamoDB como storage backend para o Titan para buscas em grafos Plugin disponível no GitHub Titan em EC2 https://aws.amazon.com/blogs/bigdata/building-a-graph-database-on-awsusing-amazon-dynamodb-and-titan/

Quiz

Quiz Preocupado com a segurança, o CISO da empresa decidiu: a partir de hoje ninguém mais vai logar em produção! Todos os logs dos 1000 servidores deverão ser centralizados. Encontrem um mecanismo para busca dos logs e aprofundamento para trobleshooting. Bônus: Dashboard com status em tempo real do ambiente. Orientado a documentos ElasticSearch com Kibana

Quiz Você foi contratado para construir uma aplicação de troca de pontos de um programa de fidelidade de uma das maiores operadoras de cartão de crédito do Brasil. Você poderá consultar seu saldo, trocar por produtos ou doar seus pontos para outros usuários. Consultas complexas envolvendo a junção de diversas entidas. Banco de dados Relacional Amazon RDS

Quiz Para troca dos pontos, você deve implementar uma funcionalidade similar a um carrinho de compras. Caso um usuário vá embora do site, o carrinho deverá guardar os produtos adicionados na última visita. Banco de dados chave-valor Amazon DynamoDB

Quiz Numa segunda fase, a empresa de cartões quer prover capacidades analíticas para seus usuários. O diretor financeiro requisitou que um sistema de relatórios fosse criado. O sistema deve mostrar as movimentações realizadas no dia anterior (1) de maneira consolidada e (2) com possibilidade de drilldown para detalhamento. Banco de dados Relacional com Réplica de Leitura Banco de dados Colunar Amazon Redshift

Quiz Devido ao sucesso do programa de fidelidade, o site de troca de ponto dobrou a cada semana a quantidade de usuários. A escalabilidade tornou-se limitada pois todas as sessões dos usuários são gravadas no mesmo servidor que a aplicação roda, consumindo muita memória. Que tipo de estrutura pode nos auxiliar a resolver esse problema? Banco de dados Chave-Valor ElastiCache com Redis

Quiz Percebendo o aumento de usuários, a área de marketing decidiu criar uma rede de contatos dentro da plataforma de troca de pontos. Requisitou que fossem criadas as seguintes funcionalidades: Listar seus contatos adicionados dentro da plataforma Sugestão de contatos Mostrar o grau de distância entre você e um outro usuário: quantas pessoas estão entre você e o usuário em questão Banco de Dados em Grafo Neo4J

Próximos passos? Leia! aws.amazon.com/documentation aws.amazon.com/architecture aws.amazon.com/start-ups Comece a usar AWS agora! aws.amazon.com/free/

30/03 - Escalando sua aplicação para os primeiros 10 milhões de usuários 27/04 - Conhecendo as opções de Bancos de Dados na Nuvem da AWS 25/05 - Introdução a arquitetura serverless 14/06 - Automações de Segurança Obrigado!!