SlideShare uma empresa Scribd logo
10 de Agosto de 2013 no Hotel Blue Tree Morumbi, São Paulo - SP
Alta-disponibilidade e alta performance com o MySQL Cluster 7.3
Airton Lastori
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 123
@MySQLBR
meetup.com/MySQL-BR
facebook.com/MySQLBR
MySQLBR
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 124
Agenda
 O que é o MySQL Cluster?
 Como começar?
 Alta performance e disponibilidade
 Perguntas?
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 125
O que é o MySQL Cluster?
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 126
MySQL Cluster
• Escalabilidade linear de Escritas e Leituras
• Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade
• 99,999% de disponibilidade, 5min / ano
• Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade
• Performance em tempo real, in-memory e em disco
• Latência baixa e preditiva, acessos paralelosAlta Performance
• Modelo relacional ACID, SQL e Foreign Keys
• APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade
• Open Source, suporte e ferramentas comerciais opcionais
• Hardware commodityBaixo TCO
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 127
Monty,
David e
Allan:
UNIREG,
MyISAM
e mSQL.
Interface SQL
com
Arquitetura
Plugável.
Surge a
MySQL AB.
Mais
performance,
drivers,
engines.
GPL, LAMP
Stack.
Cresce o
ecossistema.
Versão 3.
Logo e
website.
InnoDB
para
transações
ACID.
Vale do
Silício.
Versão 4.
MySQL
Cluster é
adquirido
da Alzato-
Ericsson
pela MySQL
AB.
Versão 5.
InnoBase OY é
adquirida pela
Oracle.
MySQL AB é
adquirida pela
Sun.
Ferramentas
Enterprise.
Sun
Microsystems é
adquirida pela
Oracle.
Versões 5.5,
5.6 e Cluster
7.1, 7.2 e 7.3.
’85…
…’94
’95…
…’96
’97…
…’00
’01…
…’02
’03…
…’04
’05…
…’09
’10…
…’13
Histórico do MySQL
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 129
Enterprise Management
Services and Utilities
Backup & Recovery
Monitor
Workbench
Utilities
Connection Pool, SQL Interface, Parser, Optimizer, Caches
Clients & Connectors
Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl mysqld
Clients and Apps
Arquitetura MySQL Server
Storage Engines
InnoDB, MyISAM, Memory, Archive, Cluster (NDB API), etc…
Filesystems, Files & Logs
Data, Index, Logs…
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1210
Cluster Data Nodes
NDB NDB
Connection Pool, SQL Interface, Parser, Optimizer, Caches
Enterprise Management
Services and Utilities
Backup & Recovery
Monitor
Workbench
Utilities
Clients & Connectors
Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl
Arquitetura MySQL Cluster
Storage Engines
InnoDB, MyISAM, Memory, Archive, Cluster (NDB API), etc…
Filesystems, Files & Logs
Data, Index, Logs…
mysqld
Clients and Apps
ndbd
mgm_ndbd
Management
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1211
Clients
Application Layer
Management
Arquitetura do MySQL Cluster
Management
Data Layer
ndbd ndbd ndbd ndbd
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1212
O que NÃO é o MySQL Cluster
1. SGBD de uso geral, “bala de prata”
• Tabelas NDB ainda não são recomendadas para todos tipos de aplicações / workloads
• NDB ainda não é 100% compatível com InnoDB, mas podem ser usados em conjunto
• MySQL Cluster requer relativamente mais memória RAM
2. Cluster do tipo Shared-All que requer Shared Storage
• Como, por exemplo, Oracle RAC
• Cada Data Node tem sua unidade de armazenamento independente
3. Replicação tradicional do MySQL Server
• MySQL Cluster possui seu próprio mecanismo interno de replicação síncrona
• Também pode ser usado opcionalmente em conjunto com replicação externa tradicional do MySQL
4. “Apenas” o MySQL Server (mysqld)
• MySQL Cluster possui outros componentes: ndbd, ndb_mgmd
5. Produto de código fechado
• Possui edição community (GPL) e carrier-grade edition (suporte e ferramentas comerciais)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1213
Storage Engines
MyISAM InnoDB NDB Cluster
Transações ✖ ✔ ✔
Nível de Lock Tabela Linha Linha
Replicação
Assíncrona ou
Semi-síncrona
Assíncrona ou
Semi-síncrona, crash-safe
Síncrona, Multi-master,
crash-safe sem SPOF
Foreign Keys ✖ ✔ ✔
Full-text indexes ✔ ✔ ✖
Compressão de dados somente Leitura ✔ ✖
Caches somente Índices Dados e Índices Dados e Índices
Suporte Geoespacial Tipos de Dados e Índices somente Tipos de Dados somente Tipos de Dados
Limite de armazenamento 256TB 64TB 384EB (~3TB em RAM)
dev.mysql.com/doc/refman/5.5/en/storage-engines.html
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1214
Tabelas InnoDB vs NDB Cluster
dev.mysql.com/doc/refman/5.6/en/mysql-cluster-compared.html
Preferível InnoDB
• Datasets ou linhas muito grandes, muitos
BLOBs, tabelas histórico, fulltext search
• Memória RAM mais limitada
• Transações muito longas ou com isolamento
diferente de READ COMMITTED
• Foreign keys sob uso intensivo
• Muitos full table scans, queries analíticas
Preferível NDB Cluster
• Escalabilidade de escrita, multi-master, auto-
sharding
• 99,999% uptime com operações online: adição de
nós, upgrade, manutenção do esquema
• Baixa latência para transações mais curtas,
performance tempo-real, paralelismo
• APIs NoSQL schemaless: Java, node.js, REST,
C++, memcached
• Uso limitado de colunas BLOB
• Foreign keys são suportadas, porém podem
causar impacto na performance em condições
extremas
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1215
NDB + InnoDB
Replicação
Síncrona
Replicação
Assíncrona
NDB API
NDB Cluster Data Nodes
MySQL Cluster
InnoDB
local
InnoDB
externo
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1216
Replicação
síncrona
Replicação
assíncrona
InnoDB + NDB Cluster
Opções com Geo-Replicação
Replicação síncrona
entre os grupos de nós para HA
Geo-Replicação
assíncrona ou síncrona entre
nós remotos NDB para
redundância geográfica
Replicação assíncrona
entre Storage Engines
diferentes para aplicações
especializadas como geração
de relatórios
Cluster 1
InnoDB InnoDB InnoDB
Cluster 2
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1218
Alguns Clientes MySQL Cluster
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1219
 sistema de recomendações de
games casuais que identifica o
visitante e exibe conteúdo
direcionado ao seu perfil
 já nos testes, com 2 data nodes,
capacidade de 87k INSERTs por
segundo e 3k SELECTs por
segundo
 latência extremamente baixa (sub-
milisegundos) e alta-disponibilidade
 NoSQL ClusterJ API (Java)
Caso de Sucesso
MySQL Cluster
“As a strategic project, we couldn’t afford to take
any chances. MySQL Cluster provided us with a
proven and trusted solution to meet the
demands of both our business and our users.”
Sean Chighizola
Database Director, Big Fish
mysql.com/why-mysql/case-studies/mysql-cs-bigfish.html
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1220
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1221
 sistema global de detecção de
fraudes que monitora transações
financeiras, sessões dos usuários e
histórico em tempo real
 Trabalha com mais de 100TB e
100m de usuários, transações
ACID, R/W <1 segundo em
qualquer parte do mundo com geo-
replicação
 Escalabilidade linear com 99,999%
de disponibilidade, na nuvem AWS
Caso de Sucesso
ACID em tempo real
“Technologies such as MySQL Cluster enables
users to get the best of both world’s: the agility of
NoSQL systems with the trust, maturity and
reliability of the SQL model.”
Daniel Austin
Chief Architect, Paypal
mysql.com/customers/view/?id=1223
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1222
PayPal
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1223
 Social game para Facebook
 2 milhões usuários, com +30k
novos usuários por dia
 10K usuários concorrentes,
~10K TPS
 99.999% uptime
Caso de Sucesso
Online Games
“The MySQL support service has been essential
in helping us for troubleshooting and giving
recommendations for the production cluster.”
Carlos Morales
DBA, playfulplay.com
blogs.oracle.com/MySQL/entry/mysql_cluster_powers_el_chavo
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1224
Playful Play
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1225
MySQL Cluster
Customers
mysql.com/customers/cluster
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1226
Como começar a usar
o MySQL Cluster?
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1227
MySQL Cluster Auto-Install
downloads.mysql.com/tutorials/cluster/mysql_wp_cluster_quickstart.pdf
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1228
1. Download MCM/Cluster edelivery.oracle.com:
2. Unzip e execute o comando com usuário diferente de root:
MySQL Cluster Manager
Para testes em uma única máquina
C:MySQLmcmbin> mcmd --bootstrap
MySQL Cluster Manager 1.1.2 started
Connect to MySQL Cluster Manager by running “C:MySQLmcmbinmcm" -a NOVA:1862
Configuring default cluster 'mycluster'...
Starting default cluster 'mycluster'...
Cluster 'mycluster' started successfully
ndb_mgmd NOVA:1186
ndbd NOVA
ndbd NOVA
mysqld NOVA:3306
mysqld NOVA:3307
ndbapi *
Connect to the database by running “C:MySQLmcmclusterbinmysql" -h NOVA -P 3306 -u root
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1229
Teste via MySQL Workbench
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1230
Teste via MySQL Workbench 2/2
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1231
Flexibilidade na interação com os dados
• Escalabilidade linear de Escritas e Leituras
• Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade
• 99.999% de disponibilidade, 5min / ano
• Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade
• Performance em tempo real, in-memory e em disco
• Latência baixa e preditiva, acessos paralelosAlta Performance
• Modelo relacional ACID, SQL e Foreign Keys
• APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade
• Open Source, suporte e ferramentas comerciais opcionais
• Hardware commodityBaixo TCO
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1232
Clients
Application Layer
Management
APIs NoSQL
Management
Data Layer
ndbd ndbd ndbd ndbd
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1233
Os mesmos dados
acessados
simultaneamente
através de interfaces
SQL e NoSQL
APIs de Acesso aos Dados
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1234
Qual API devo usar?
SQL
• Padrão da
indústria
• Joins e
Queries
complexas
• Modelo
relacional
ClusterJ /
OpenJPA
• ORM Java
• Simplicidade
• Acesso nativo
e rápido ao
Cluster
• Ex: Web e
Telco
memcached
• chave/valor
• Simples de
usar
• Driver para
diversas
linguagens
• Ex: PHP
Proxy
node.js
• Javascript
• Mesma
tecnologia do
browser no
lado do
servidor
• Ex: Mobile
Apps
mod_ndb
• REST/JSON
• HTML
• Uso do
Apache httpd
C++
• Performance
extrema
• Tempo real
• Desenvolved
or experiente
• Mais baixo
nível
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1235
<estado:SP,Campinas>
prefix key value
<estado:SP,Campinas>
key value
Prefix Table Key-col Val-col policy
estado: mapa.cidades sigla_estado cidade cluster
Config tables
sigla_estado ... cidade ...
SP ... Campinas ...
Tabela cidades do DB mapa
visão da Aplicação
visão MySQL Cluster
Cluster & Memcached
Schema configurável
SELECT * FROM mapa.cidades
WHERE cidade LIKE ’C%’;
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1236
Exemplos Memcached API
Blog:
Scalable, persistent, HA NoSQL Memcache storage using MySQL
Cluster
15 February 2012
clusterdb.com/mysql-cluster/scalabale-persistent-ha-nosql-memcache-
storage-using-mysql-cluster
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1237
var nosql = require('mysql-js');
var annotations = new
nosql.TableMapping('cidade').apply
ToClass(Cidade);
var dbProperties =
nosql.ConnectionProperties('ndb');
nosql.openSession(dbProperties,
Cidade, annotations, onSession);
Connector modular para
vários back-ends:
• direta com NDB
• via MySQL Server
Novo: Node.js connector 1/4
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1238
var onSession = function(err, session) {
if (err) {console.log(err);
process.exit(0);} else {
var data = new Cidade('Guarulhos',
'SP');
session.persist(data, onInsert, data,
session);
}
};
Novo: Node.js connector 2/4
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1239
var onInsert = function(err, object, session) {
if (err) {console.log(err);} else {
console.log('Inserido: ' +
JSON.stringify(object));
session.find(Cidade,'Guarulhos',
onFind);
}
};
Novo: Node.js connector 3/4
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1240
var onFind = function(err, result) {
if (err) {console.log(err);} else {
console.log('Encontrado: ' +
JSON.stringify(result));
}
process.exit(0);
};
Novo: Node.js connector 4/4
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1241
Exemplos JavaScript / Node.js API
Blog:
MySQL Cluster Tutorial: NoSQL JavaScript Connector for Node.js
17 April 2013
blogs.oracle.com/MySQL/entry/mysql_cluster_tutorial_nosql_api
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1242
Performance e
Alta-disponibilidade
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1243
Data Layer
Application Layer
Management
mgm_ndbd
MySQL Cluster: arquitetura simplificada
mysqld
Clients
MySQL Cluster Data Nodes
ndbd ndbd ndbd ndbd
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1244
Como escalar leituras e escritas?
• Escalabilidade linear de Escritas e Leituras
• Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade
• 99.999% de disponibilidade, 5min / ano
• Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade
• Performance em tempo real, in-memory e em disco
• Latência baixa e preditiva, acessos paralelosAlta Performance
• Modelo relacional ACID, SQL e Foreign Keys
• APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade
• Open Source, suporte e ferramentas comerciais opcionais
• Hardware commodityBaixo TCO
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1245
Data Node 1
Data Node 2
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
Data Sharding: escalando ESCRITAS
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1246
Data Node 1
Data Node 2
F1
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
Data Sharding: escalando ESCRITAS
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1247
Data Node 1
Data Node 2
F1
F3
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
Data Sharding: escalando ESCRITAS
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1248
Data Node 1
Data Node 2
F1
F3
Data Node 3
Data Node 4
F2
Table T1
P2
P3
P4
P1
Data Sharding: escalando ESCRITAS
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1249
Data Node 1
Data Node 2
F1
F3
Data Node 3
Data Node 4
F2
F4
Table T1
P2
P3
P4
P1
Data Sharding: escalando ESCRITAS
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1250
Data Layer
Application Layer
MySQL Cluster: auto-sharding
Table T1
P2
P3
P4
P1F1 F3 F2 F4
ndbd ndbd ndbd ndbd
Clients
mysqld
Table T1
visão da Aplicação
visão MySQL Cluster
SQL
NDB API
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1251
In-Memory, parallel, AQL, Pushdown Joins
1. Memória RAM mais barata e redes mais rápidas
• Escrever em memória RAM remota é mais rápido que em disco local
2. Múltiplas threads trabalhando em paralelo em diversas máquinas
• Uso de arquiteturas multi-core
3. Adaptative Query Localization
• Queries mais complexas, envolvendo apenas Data Nodes necessários
4. Pushdown Joins
• JOINs resolvidos nos Data Nodes, em paralelo
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1252
 NoSQL C++ API, flexaSynch benchmark
 30 x Intel E5-2600 Intel Servers, 2 socket, 64GB
 ACID Transactions, Synchronous Replication
0
5
10
15
20
25
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
MillionsofUPDATEsper
Second
MySQL Cluster Data Nodes
20 Milhões de UPDATEs / seg
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1255
Como garantir a alta-disponibilidade?
• Escalabilidade linear de Escritas e Leituras
• Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade
• 99.999% de disponibilidade, 5min / ano
• Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade
• Performance em tempo real, in-memory e em disco
• Latência baixa e preditiva, acessos paralelosAlta Performance
• Modelo relacional ACID, SQL e Foreign Keys
• APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade
• Open Source, suporte e ferramentas comerciais opcionais
• Hardware commodityBaixo TCO
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1256
Data Node 1
Data Node 2
F1
F1
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
Data Sharding + Replicação
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1257
Data Node 1
Data Node 2
F1 F3
F1
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
F3
Data Sharding + Replicação
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1258
Data Node 1
Data Node 2
F1 F3
F3 F1
Data Node 3
Data Node 4
F2
F2
Table T1
P2
P3
P4
P1
Data Sharding + Replicação
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1259
Data Node 1
Data Node 2
F1 F3
F3 F1
Data Node 3
Data Node 4
F2 F4
F4 F2
Table T1
P2
P3
P4
P1
Data Sharding + Replicação
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1260
Data Node 1
Data Node 2
F1 F3
F3 F1
Data Node 3
Data Node 4
F2 F4
F4 F2
Group1
Table T1
P2
P3
P4
P1
Data Sharding + Replicação
Group2
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1261
Data Node 1
Data Node 2
F1 F3
F3 F1
Data Node 3
Data Node 4
F2 F4
F4 F2
Group1
Table T1
P2
P3
P4
P1
Data Sharding + Replicação
Group2
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1262
visão da Aplicação
MySQL Cluster Data Nodes
Data Layer
Application Layer
Management
mgm_ndbd
MySQL Cluster: alta-disponibilidade
Table T1
F1
F3
F3
F1
F2
F4
F4
F2
Management
mgm_ndbd
mysqldmysqld
ndbd ndbd ndbd ndbd
Clients
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1263
Qual o custo?
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1264
Como manter TCO baixo?
• Escalabilidade linear de Escritas e Leituras
• Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade
• 99.999% de disponibilidade, 5min / ano
• Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade
• Performance em tempo real, in-memory e em disco
• Latência baixa e preditiva, acessos paralelosAlta Performance
• Modelo relacional ACID, SQL e Foreign Keys
• APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade
• Open Source, suporte e ferramentas comerciais opcionais
• Hardware commodityBaixo TCO
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1265
Principais componentes do TCO
1. Custo de aquisição
• Licenciamento do Software (desenvolvimento e produção)
• Hardware necessário
• Conhecimento da equipe
• Produtividade do time de desenvolvimento
2. Custo de manutenção e evolução
• Hospedagem e manutenção do hardware
• Conhecimento da equipe
• Estabilidade e maturidade do software
• Suporte do fabricante
• Produtividade: Ferramentas de gerenciamento, monitoramento e backup
• Produtividade do time de evolução do produto
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1266
Carrier Grade Edition (CGE) - comercial
MySQL
Cluster
Suporte
Monitor
&
Backup
Plug-ins
Manager
mysql.com/products/cluster/features.html
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1267
Aprenda mais…
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1268
Mais sobre como começar com MySQL Cluster
Whitepaper:
MySQL Cluster Evaluation Guide
June 2013
mysql.com/why-mysql/white-papers/mysql-
cluster-evaluation-guide
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1269
Próximo passo: documentação
Reference Manual
Cap. 17.1, MySQL Cluster Overview
1. MySQL Cluster Core Concepts
2. MySQL Cluster Nodes, Node Groups, Replicas, and Partitions
3. MySQL Cluster Hardware, Software, and Networking
Requirements
4. MySQL Cluster Development History
5. MySQL Server Using InnoDB Compared with MySQL Cluster
6. Known Limitations of MySQL Cluster
dev.mysql.com/doc/refman/5.6/en/mysql-cluster.html
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1270
Mais sobre como MySQL Cluster para Web
Whitepaper:
Guide to Scaling Web Databases with
MySQL Cluster
June 2013
mysql.com/why-mysql/white-papers/guide-to-
scaling-web-databases-with-mysql-cluster
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1271
MySQL Boot Camp
Accelerated
MySQL Performance
Tuning Boot Camp
Accelerated
MySQL for Begginers
MySQL for Database
Administrators
MySQL Performance
Tuning
MySQL High Availability
MySQL Cluster
MySQL DBA
MySQL Boot Camp
Accelerated
MySQL for Developers
MySQL Performance
Tuning Boot Camp
Accelerated
MySQL for Begginers
MySQL and PHP
Developing Dynamic
Web Applicationg
MySQL Advanced Stored
Procedures
MySQLDeveloper
mysql.com/training
Certificações
Opcional
Necessário
Treinamentos e certificações
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1272
Sumário
 O MySQL Cluster é um produto derivado do popular MySQL Server que é o
"M" do LAMP stack.
 Trata-se de um banco de dados distribuído com arquitetura shared-nothing e
que pode oferecer 99,999% de disponibilidade, performance superior a 1
bilhão de escritas por minuto, escalabilidade linear, conformidade com o
modelo ACID, flexibilidade das interfaces NoSQL e geo-replicação multi-
master.
 Instale, migre algumas tabelas e comece a usar!
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1273
@MySQLBR facebook.com/MySQLBR
Obrigado!
Slides disponíves em…
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1274
Perguntas?
Alta-disponibilidade e alta performance com o
MySQL Cluster 7.3

Mais conteúdo relacionado

Mais procurados

Oracle Premier Support para MySQL
Oracle Premier Support para MySQLOracle Premier Support para MySQL
Oracle Premier Support para MySQL
MySQL Brasil
 
Arquiteturas de referência MySQL
Arquiteturas de referência MySQLArquiteturas de referência MySQL
Arquiteturas de referência MySQL
MySQL Brasil
 
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHPAlta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
MySQL Brasil
 
MySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para DesenvolvedoresMySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para Desenvolvedores
MySQL Brasil
 
MySQL e Oracle para DBAs
MySQL e Oracle para DBAsMySQL e Oracle para DBAs
MySQL e Oracle para DBAs
Airton Lastori
 
Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016
MySQL Brasil
 
MySQL é de graça?
MySQL é de graça?MySQL é de graça?
MySQL é de graça?
MySQL Brasil
 
Oracle Real Application Clusters
Oracle Real Application ClustersOracle Real Application Clusters
Oracle Real Application Clusters
4Partner
 
Segurança no MySQL
Segurança no MySQLSegurança no MySQL
Segurança no MySQL
MySQL Brasil
 
Alta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL EnterpriseAlta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL Enterprise
MySQL Brasil
 
Recursos e Benefícios do MySQL
Recursos e Benefícios do MySQLRecursos e Benefícios do MySQL
Recursos e Benefícios do MySQL
MySQL Brasil
 
Serviços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaServiços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e Java
MySQL Brasil
 
MySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundoMySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundo
MySQL Brasil
 
Desenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQLDesenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQL
MySQL Brasil
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Brasil
 
MySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de Produto
MySQL Brasil
 
IBTA - Oracle Database Security
IBTA - Oracle Database SecurityIBTA - Oracle Database Security
IBTA - Oracle Database Security
Rodrigo Almeida
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para Desenvolvedores
Airton Lastori
 
MySQL + Java - Manuel Contreras
MySQL + Java - Manuel ContrerasMySQL + Java - Manuel Contreras
MySQL + Java - Manuel Contreras
MySQL Brasil
 
Estratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQLEstratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQL
MySQL Brasil
 

Mais procurados (20)

Oracle Premier Support para MySQL
Oracle Premier Support para MySQLOracle Premier Support para MySQL
Oracle Premier Support para MySQL
 
Arquiteturas de referência MySQL
Arquiteturas de referência MySQLArquiteturas de referência MySQL
Arquiteturas de referência MySQL
 
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHPAlta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
 
MySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para DesenvolvedoresMySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para Desenvolvedores
 
MySQL e Oracle para DBAs
MySQL e Oracle para DBAsMySQL e Oracle para DBAs
MySQL e Oracle para DBAs
 
Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016
 
MySQL é de graça?
MySQL é de graça?MySQL é de graça?
MySQL é de graça?
 
Oracle Real Application Clusters
Oracle Real Application ClustersOracle Real Application Clusters
Oracle Real Application Clusters
 
Segurança no MySQL
Segurança no MySQLSegurança no MySQL
Segurança no MySQL
 
Alta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL EnterpriseAlta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL Enterprise
 
Recursos e Benefícios do MySQL
Recursos e Benefícios do MySQLRecursos e Benefícios do MySQL
Recursos e Benefícios do MySQL
 
Serviços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaServiços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e Java
 
MySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundoMySQL: o banco de dados open source mais popular do mundo
MySQL: o banco de dados open source mais popular do mundo
 
Desenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQLDesenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQL
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
 
MySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de Produto
 
IBTA - Oracle Database Security
IBTA - Oracle Database SecurityIBTA - Oracle Database Security
IBTA - Oracle Database Security
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para Desenvolvedores
 
MySQL + Java - Manuel Contreras
MySQL + Java - Manuel ContrerasMySQL + Java - Manuel Contreras
MySQL + Java - Manuel Contreras
 
Estratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQLEstratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQL
 

Semelhante a Alta-disponibilidade e alta performance com o MySQL Cluster 7.3

MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Brasil
 
MySQL Cluster e Big Data
MySQL Cluster e Big DataMySQL Cluster e Big Data
MySQL Cluster e Big Data
MySQL Brasil
 
MySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicaçõesMySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicações
MySQL Brasil
 
Mais performance com o MySQL 5.6
Mais performance com o MySQL 5.6Mais performance com o MySQL 5.6
Mais performance com o MySQL 5.6
MySQL Brasil
 
MySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundoMySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundo
MySQL Brasil
 
Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15
MySQL Brasil
 
Apresentação MySQL Enterprise
Apresentação MySQL EnterpriseApresentação MySQL Enterprise
Apresentação MySQL Enterprise
Juliano de Oliveira Falcao
 
Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014
MySQL Brasil
 
Trabalho de sgbd
Trabalho de sgbdTrabalho de sgbd
Trabalho de sgbd
Junior Cesar
 
Estratégia Oracle para MySQL
Estratégia Oracle para MySQLEstratégia Oracle para MySQL
Estratégia Oracle para MySQL
MySQL Brasil
 
Resumido zdlra v2.0
Resumido zdlra v2.0Resumido zdlra v2.0
Resumido zdlra v2.0
Weligton Pinto
 
Alta Disponibilidade TechEd
Alta Disponibilidade TechEdAlta Disponibilidade TechEd
Alta Disponibilidade TechEd
Viviane_ribeiro
 
MySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI TecnologiaMySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL Brasil
 
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
André Paulovich
 
Soluções Oracle Para Segurança e Continuidade de Negócios
Soluções Oracle Para Segurança e Continuidade de NegóciosSoluções Oracle Para Segurança e Continuidade de Negócios
Soluções Oracle Para Segurança e Continuidade de Negócios
Regis Araujo
 
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
iMasters
 
MySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionMySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese Version
Artur Alves
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para Desenvolvedores
MySQL Brasil
 
Replicação e alta disponibilidade by wagner bianchi -
Replicação e alta disponibilidade by wagner bianchi -Replicação e alta disponibilidade by wagner bianchi -
Replicação e alta disponibilidade by wagner bianchi -
MySQL Brasil
 
Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e FuturoUso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
assertimarilia
 

Semelhante a Alta-disponibilidade e alta performance com o MySQL Cluster 7.3 (20)

MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
 
MySQL Cluster e Big Data
MySQL Cluster e Big DataMySQL Cluster e Big Data
MySQL Cluster e Big Data
 
MySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicaçõesMySQL no Windows: implementação eficiente de novas aplicações
MySQL no Windows: implementação eficiente de novas aplicações
 
Mais performance com o MySQL 5.6
Mais performance com o MySQL 5.6Mais performance com o MySQL 5.6
Mais performance com o MySQL 5.6
 
MySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundoMySQL - o banco de dados open source mais popular do mundo
MySQL - o banco de dados open source mais popular do mundo
 
Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15
 
Apresentação MySQL Enterprise
Apresentação MySQL EnterpriseApresentação MySQL Enterprise
Apresentação MySQL Enterprise
 
Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014
 
Trabalho de sgbd
Trabalho de sgbdTrabalho de sgbd
Trabalho de sgbd
 
Estratégia Oracle para MySQL
Estratégia Oracle para MySQLEstratégia Oracle para MySQL
Estratégia Oracle para MySQL
 
Resumido zdlra v2.0
Resumido zdlra v2.0Resumido zdlra v2.0
Resumido zdlra v2.0
 
Alta Disponibilidade TechEd
Alta Disponibilidade TechEdAlta Disponibilidade TechEd
Alta Disponibilidade TechEd
 
MySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI TecnologiaMySQL em 10min - Alexandre Almeida HTI Tecnologia
MySQL em 10min - Alexandre Almeida HTI Tecnologia
 
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
 
Soluções Oracle Para Segurança e Continuidade de Negócios
Soluções Oracle Para Segurança e Continuidade de NegóciosSoluções Oracle Para Segurança e Continuidade de Negócios
Soluções Oracle Para Segurança e Continuidade de Negócios
 
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
 
MySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionMySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese Version
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para Desenvolvedores
 
Replicação e alta disponibilidade by wagner bianchi -
Replicação e alta disponibilidade by wagner bianchi -Replicação e alta disponibilidade by wagner bianchi -
Replicação e alta disponibilidade by wagner bianchi -
 
Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e FuturoUso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
 

Mais de MySQL Brasil

MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017
MySQL Brasil
 
MySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e Uber
MySQL Brasil
 
MySQL 8.0.1 DMR
MySQL 8.0.1 DMRMySQL 8.0.1 DMR
MySQL 8.0.1 DMR
MySQL Brasil
 
MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17
MySQL Brasil
 
5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL
MySQL Brasil
 
MySQL 5.7 como Document Store
MySQL 5.7 como Document StoreMySQL 5.7 como Document Store
MySQL 5.7 como Document Store
MySQL Brasil
 
Enabling digital transformation with MySQL
Enabling digital transformation with MySQLEnabling digital transformation with MySQL
Enabling digital transformation with MySQL
MySQL Brasil
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7
MySQL Brasil
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7
MySQL Brasil
 
OpenStack & MySQL
OpenStack & MySQLOpenStack & MySQL
OpenStack & MySQL
MySQL Brasil
 
10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups
MySQL Brasil
 
Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15
MySQL Brasil
 
MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15
MySQL Brasil
 
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
MySQL Brasil
 
MySQL Enterprise Edition Portfolio
MySQL Enterprise Edition PortfolioMySQL Enterprise Edition Portfolio
MySQL Enterprise Edition Portfolio
MySQL Brasil
 
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
MySQL Brasil
 

Mais de MySQL Brasil (16)

MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017
 
MySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e Uber
 
MySQL 8.0.1 DMR
MySQL 8.0.1 DMRMySQL 8.0.1 DMR
MySQL 8.0.1 DMR
 
MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17
 
5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL
 
MySQL 5.7 como Document Store
MySQL 5.7 como Document StoreMySQL 5.7 como Document Store
MySQL 5.7 como Document Store
 
Enabling digital transformation with MySQL
Enabling digital transformation with MySQLEnabling digital transformation with MySQL
Enabling digital transformation with MySQL
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7
 
OpenStack & MySQL
OpenStack & MySQLOpenStack & MySQL
OpenStack & MySQL
 
10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups
 
Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15
 
MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15
 
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
Aumentando a segurança, disponibilidade e desempenho com MySQL Enterprise Edi...
 
MySQL Enterprise Edition Portfolio
MySQL Enterprise Edition PortfolioMySQL Enterprise Edition Portfolio
MySQL Enterprise Edition Portfolio
 
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
Architecture and Design MySQL powered applications by Peter Zaitsev Meetup Sa...
 

Último

Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
2m Assessoria
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 

Último (10)

Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ADSIS - ESTRUTURA DE DADOS II - 52_2024.docx
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 

Alta-disponibilidade e alta performance com o MySQL Cluster 7.3

  • 1. 10 de Agosto de 2013 no Hotel Blue Tree Morumbi, São Paulo - SP Alta-disponibilidade e alta performance com o MySQL Cluster 7.3 Airton Lastori
  • 2. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 123 @MySQLBR meetup.com/MySQL-BR facebook.com/MySQLBR MySQLBR
  • 3. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 124 Agenda  O que é o MySQL Cluster?  Como começar?  Alta performance e disponibilidade  Perguntas?
  • 4. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 125 O que é o MySQL Cluster?
  • 5. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 126 MySQL Cluster • Escalabilidade linear de Escritas e Leituras • Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade • 99,999% de disponibilidade, 5min / ano • Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade • Performance em tempo real, in-memory e em disco • Latência baixa e preditiva, acessos paralelosAlta Performance • Modelo relacional ACID, SQL e Foreign Keys • APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade • Open Source, suporte e ferramentas comerciais opcionais • Hardware commodityBaixo TCO
  • 6. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 127 Monty, David e Allan: UNIREG, MyISAM e mSQL. Interface SQL com Arquitetura Plugável. Surge a MySQL AB. Mais performance, drivers, engines. GPL, LAMP Stack. Cresce o ecossistema. Versão 3. Logo e website. InnoDB para transações ACID. Vale do Silício. Versão 4. MySQL Cluster é adquirido da Alzato- Ericsson pela MySQL AB. Versão 5. InnoBase OY é adquirida pela Oracle. MySQL AB é adquirida pela Sun. Ferramentas Enterprise. Sun Microsystems é adquirida pela Oracle. Versões 5.5, 5.6 e Cluster 7.1, 7.2 e 7.3. ’85… …’94 ’95… …’96 ’97… …’00 ’01… …’02 ’03… …’04 ’05… …’09 ’10… …’13 Histórico do MySQL
  • 7. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 129 Enterprise Management Services and Utilities Backup & Recovery Monitor Workbench Utilities Connection Pool, SQL Interface, Parser, Optimizer, Caches Clients & Connectors Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl mysqld Clients and Apps Arquitetura MySQL Server Storage Engines InnoDB, MyISAM, Memory, Archive, Cluster (NDB API), etc… Filesystems, Files & Logs Data, Index, Logs…
  • 8. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1210 Cluster Data Nodes NDB NDB Connection Pool, SQL Interface, Parser, Optimizer, Caches Enterprise Management Services and Utilities Backup & Recovery Monitor Workbench Utilities Clients & Connectors Native C API, JDBC, ODBC, .Net, PHP, Ruby, Python, VB, Perl Arquitetura MySQL Cluster Storage Engines InnoDB, MyISAM, Memory, Archive, Cluster (NDB API), etc… Filesystems, Files & Logs Data, Index, Logs… mysqld Clients and Apps ndbd mgm_ndbd Management
  • 9. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1211 Clients Application Layer Management Arquitetura do MySQL Cluster Management Data Layer ndbd ndbd ndbd ndbd
  • 10. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1212 O que NÃO é o MySQL Cluster 1. SGBD de uso geral, “bala de prata” • Tabelas NDB ainda não são recomendadas para todos tipos de aplicações / workloads • NDB ainda não é 100% compatível com InnoDB, mas podem ser usados em conjunto • MySQL Cluster requer relativamente mais memória RAM 2. Cluster do tipo Shared-All que requer Shared Storage • Como, por exemplo, Oracle RAC • Cada Data Node tem sua unidade de armazenamento independente 3. Replicação tradicional do MySQL Server • MySQL Cluster possui seu próprio mecanismo interno de replicação síncrona • Também pode ser usado opcionalmente em conjunto com replicação externa tradicional do MySQL 4. “Apenas” o MySQL Server (mysqld) • MySQL Cluster possui outros componentes: ndbd, ndb_mgmd 5. Produto de código fechado • Possui edição community (GPL) e carrier-grade edition (suporte e ferramentas comerciais)
  • 11. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1213 Storage Engines MyISAM InnoDB NDB Cluster Transações ✖ ✔ ✔ Nível de Lock Tabela Linha Linha Replicação Assíncrona ou Semi-síncrona Assíncrona ou Semi-síncrona, crash-safe Síncrona, Multi-master, crash-safe sem SPOF Foreign Keys ✖ ✔ ✔ Full-text indexes ✔ ✔ ✖ Compressão de dados somente Leitura ✔ ✖ Caches somente Índices Dados e Índices Dados e Índices Suporte Geoespacial Tipos de Dados e Índices somente Tipos de Dados somente Tipos de Dados Limite de armazenamento 256TB 64TB 384EB (~3TB em RAM) dev.mysql.com/doc/refman/5.5/en/storage-engines.html
  • 12. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1214 Tabelas InnoDB vs NDB Cluster dev.mysql.com/doc/refman/5.6/en/mysql-cluster-compared.html Preferível InnoDB • Datasets ou linhas muito grandes, muitos BLOBs, tabelas histórico, fulltext search • Memória RAM mais limitada • Transações muito longas ou com isolamento diferente de READ COMMITTED • Foreign keys sob uso intensivo • Muitos full table scans, queries analíticas Preferível NDB Cluster • Escalabilidade de escrita, multi-master, auto- sharding • 99,999% uptime com operações online: adição de nós, upgrade, manutenção do esquema • Baixa latência para transações mais curtas, performance tempo-real, paralelismo • APIs NoSQL schemaless: Java, node.js, REST, C++, memcached • Uso limitado de colunas BLOB • Foreign keys são suportadas, porém podem causar impacto na performance em condições extremas
  • 13. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1215 NDB + InnoDB Replicação Síncrona Replicação Assíncrona NDB API NDB Cluster Data Nodes MySQL Cluster InnoDB local InnoDB externo
  • 14. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1216 Replicação síncrona Replicação assíncrona InnoDB + NDB Cluster Opções com Geo-Replicação Replicação síncrona entre os grupos de nós para HA Geo-Replicação assíncrona ou síncrona entre nós remotos NDB para redundância geográfica Replicação assíncrona entre Storage Engines diferentes para aplicações especializadas como geração de relatórios Cluster 1 InnoDB InnoDB InnoDB Cluster 2
  • 15. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1218 Alguns Clientes MySQL Cluster
  • 16. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1219  sistema de recomendações de games casuais que identifica o visitante e exibe conteúdo direcionado ao seu perfil  já nos testes, com 2 data nodes, capacidade de 87k INSERTs por segundo e 3k SELECTs por segundo  latência extremamente baixa (sub- milisegundos) e alta-disponibilidade  NoSQL ClusterJ API (Java) Caso de Sucesso MySQL Cluster “As a strategic project, we couldn’t afford to take any chances. MySQL Cluster provided us with a proven and trusted solution to meet the demands of both our business and our users.” Sean Chighizola Database Director, Big Fish mysql.com/why-mysql/case-studies/mysql-cs-bigfish.html
  • 17. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1220
  • 18. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1221  sistema global de detecção de fraudes que monitora transações financeiras, sessões dos usuários e histórico em tempo real  Trabalha com mais de 100TB e 100m de usuários, transações ACID, R/W <1 segundo em qualquer parte do mundo com geo- replicação  Escalabilidade linear com 99,999% de disponibilidade, na nuvem AWS Caso de Sucesso ACID em tempo real “Technologies such as MySQL Cluster enables users to get the best of both world’s: the agility of NoSQL systems with the trust, maturity and reliability of the SQL model.” Daniel Austin Chief Architect, Paypal mysql.com/customers/view/?id=1223
  • 19. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1222 PayPal
  • 20. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1223  Social game para Facebook  2 milhões usuários, com +30k novos usuários por dia  10K usuários concorrentes, ~10K TPS  99.999% uptime Caso de Sucesso Online Games “The MySQL support service has been essential in helping us for troubleshooting and giving recommendations for the production cluster.” Carlos Morales DBA, playfulplay.com blogs.oracle.com/MySQL/entry/mysql_cluster_powers_el_chavo
  • 21. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1224 Playful Play
  • 22. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1225 MySQL Cluster Customers mysql.com/customers/cluster
  • 23. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1226 Como começar a usar o MySQL Cluster?
  • 24. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1227 MySQL Cluster Auto-Install downloads.mysql.com/tutorials/cluster/mysql_wp_cluster_quickstart.pdf
  • 25. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1228 1. Download MCM/Cluster edelivery.oracle.com: 2. Unzip e execute o comando com usuário diferente de root: MySQL Cluster Manager Para testes em uma única máquina C:MySQLmcmbin> mcmd --bootstrap MySQL Cluster Manager 1.1.2 started Connect to MySQL Cluster Manager by running “C:MySQLmcmbinmcm" -a NOVA:1862 Configuring default cluster 'mycluster'... Starting default cluster 'mycluster'... Cluster 'mycluster' started successfully ndb_mgmd NOVA:1186 ndbd NOVA ndbd NOVA mysqld NOVA:3306 mysqld NOVA:3307 ndbapi * Connect to the database by running “C:MySQLmcmclusterbinmysql" -h NOVA -P 3306 -u root
  • 26. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1229 Teste via MySQL Workbench
  • 27. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1230 Teste via MySQL Workbench 2/2
  • 28. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1231 Flexibilidade na interação com os dados • Escalabilidade linear de Escritas e Leituras • Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade • 99.999% de disponibilidade, 5min / ano • Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade • Performance em tempo real, in-memory e em disco • Latência baixa e preditiva, acessos paralelosAlta Performance • Modelo relacional ACID, SQL e Foreign Keys • APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade • Open Source, suporte e ferramentas comerciais opcionais • Hardware commodityBaixo TCO
  • 29. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1232 Clients Application Layer Management APIs NoSQL Management Data Layer ndbd ndbd ndbd ndbd
  • 30. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1233 Os mesmos dados acessados simultaneamente através de interfaces SQL e NoSQL APIs de Acesso aos Dados
  • 31. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1234 Qual API devo usar? SQL • Padrão da indústria • Joins e Queries complexas • Modelo relacional ClusterJ / OpenJPA • ORM Java • Simplicidade • Acesso nativo e rápido ao Cluster • Ex: Web e Telco memcached • chave/valor • Simples de usar • Driver para diversas linguagens • Ex: PHP Proxy node.js • Javascript • Mesma tecnologia do browser no lado do servidor • Ex: Mobile Apps mod_ndb • REST/JSON • HTML • Uso do Apache httpd C++ • Performance extrema • Tempo real • Desenvolved or experiente • Mais baixo nível
  • 32. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1235 <estado:SP,Campinas> prefix key value <estado:SP,Campinas> key value Prefix Table Key-col Val-col policy estado: mapa.cidades sigla_estado cidade cluster Config tables sigla_estado ... cidade ... SP ... Campinas ... Tabela cidades do DB mapa visão da Aplicação visão MySQL Cluster Cluster & Memcached Schema configurável SELECT * FROM mapa.cidades WHERE cidade LIKE ’C%’;
  • 33. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1236 Exemplos Memcached API Blog: Scalable, persistent, HA NoSQL Memcache storage using MySQL Cluster 15 February 2012 clusterdb.com/mysql-cluster/scalabale-persistent-ha-nosql-memcache- storage-using-mysql-cluster
  • 34. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1237 var nosql = require('mysql-js'); var annotations = new nosql.TableMapping('cidade').apply ToClass(Cidade); var dbProperties = nosql.ConnectionProperties('ndb'); nosql.openSession(dbProperties, Cidade, annotations, onSession); Connector modular para vários back-ends: • direta com NDB • via MySQL Server Novo: Node.js connector 1/4
  • 35. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1238 var onSession = function(err, session) { if (err) {console.log(err); process.exit(0);} else { var data = new Cidade('Guarulhos', 'SP'); session.persist(data, onInsert, data, session); } }; Novo: Node.js connector 2/4
  • 36. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1239 var onInsert = function(err, object, session) { if (err) {console.log(err);} else { console.log('Inserido: ' + JSON.stringify(object)); session.find(Cidade,'Guarulhos', onFind); } }; Novo: Node.js connector 3/4
  • 37. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1240 var onFind = function(err, result) { if (err) {console.log(err);} else { console.log('Encontrado: ' + JSON.stringify(result)); } process.exit(0); }; Novo: Node.js connector 4/4
  • 38. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1241 Exemplos JavaScript / Node.js API Blog: MySQL Cluster Tutorial: NoSQL JavaScript Connector for Node.js 17 April 2013 blogs.oracle.com/MySQL/entry/mysql_cluster_tutorial_nosql_api
  • 39. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1242 Performance e Alta-disponibilidade
  • 40. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1243 Data Layer Application Layer Management mgm_ndbd MySQL Cluster: arquitetura simplificada mysqld Clients MySQL Cluster Data Nodes ndbd ndbd ndbd ndbd
  • 41. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1244 Como escalar leituras e escritas? • Escalabilidade linear de Escritas e Leituras • Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade • 99.999% de disponibilidade, 5min / ano • Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade • Performance em tempo real, in-memory e em disco • Latência baixa e preditiva, acessos paralelosAlta Performance • Modelo relacional ACID, SQL e Foreign Keys • APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade • Open Source, suporte e ferramentas comerciais opcionais • Hardware commodityBaixo TCO
  • 42. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1245 Data Node 1 Data Node 2 Data Node 3 Data Node 4 Table T1 P2 P3 P4 P1 Data Sharding: escalando ESCRITAS
  • 43. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1246 Data Node 1 Data Node 2 F1 Data Node 3 Data Node 4 Table T1 P2 P3 P4 P1 Data Sharding: escalando ESCRITAS
  • 44. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1247 Data Node 1 Data Node 2 F1 F3 Data Node 3 Data Node 4 Table T1 P2 P3 P4 P1 Data Sharding: escalando ESCRITAS
  • 45. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1248 Data Node 1 Data Node 2 F1 F3 Data Node 3 Data Node 4 F2 Table T1 P2 P3 P4 P1 Data Sharding: escalando ESCRITAS
  • 46. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1249 Data Node 1 Data Node 2 F1 F3 Data Node 3 Data Node 4 F2 F4 Table T1 P2 P3 P4 P1 Data Sharding: escalando ESCRITAS
  • 47. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1250 Data Layer Application Layer MySQL Cluster: auto-sharding Table T1 P2 P3 P4 P1F1 F3 F2 F4 ndbd ndbd ndbd ndbd Clients mysqld Table T1 visão da Aplicação visão MySQL Cluster SQL NDB API
  • 48. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1251 In-Memory, parallel, AQL, Pushdown Joins 1. Memória RAM mais barata e redes mais rápidas • Escrever em memória RAM remota é mais rápido que em disco local 2. Múltiplas threads trabalhando em paralelo em diversas máquinas • Uso de arquiteturas multi-core 3. Adaptative Query Localization • Queries mais complexas, envolvendo apenas Data Nodes necessários 4. Pushdown Joins • JOINs resolvidos nos Data Nodes, em paralelo
  • 49. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1252  NoSQL C++ API, flexaSynch benchmark  30 x Intel E5-2600 Intel Servers, 2 socket, 64GB  ACID Transactions, Synchronous Replication 0 5 10 15 20 25 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 MillionsofUPDATEsper Second MySQL Cluster Data Nodes 20 Milhões de UPDATEs / seg
  • 50. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1255 Como garantir a alta-disponibilidade? • Escalabilidade linear de Escritas e Leituras • Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade • 99.999% de disponibilidade, 5min / ano • Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade • Performance em tempo real, in-memory e em disco • Latência baixa e preditiva, acessos paralelosAlta Performance • Modelo relacional ACID, SQL e Foreign Keys • APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade • Open Source, suporte e ferramentas comerciais opcionais • Hardware commodityBaixo TCO
  • 51. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1256 Data Node 1 Data Node 2 F1 F1 Data Node 3 Data Node 4 Table T1 P2 P3 P4 P1 Data Sharding + Replicação
  • 52. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1257 Data Node 1 Data Node 2 F1 F3 F1 Data Node 3 Data Node 4 Table T1 P2 P3 P4 P1 F3 Data Sharding + Replicação
  • 53. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1258 Data Node 1 Data Node 2 F1 F3 F3 F1 Data Node 3 Data Node 4 F2 F2 Table T1 P2 P3 P4 P1 Data Sharding + Replicação
  • 54. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1259 Data Node 1 Data Node 2 F1 F3 F3 F1 Data Node 3 Data Node 4 F2 F4 F4 F2 Table T1 P2 P3 P4 P1 Data Sharding + Replicação
  • 55. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1260 Data Node 1 Data Node 2 F1 F3 F3 F1 Data Node 3 Data Node 4 F2 F4 F4 F2 Group1 Table T1 P2 P3 P4 P1 Data Sharding + Replicação Group2
  • 56. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1261 Data Node 1 Data Node 2 F1 F3 F3 F1 Data Node 3 Data Node 4 F2 F4 F4 F2 Group1 Table T1 P2 P3 P4 P1 Data Sharding + Replicação Group2
  • 57. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1262 visão da Aplicação MySQL Cluster Data Nodes Data Layer Application Layer Management mgm_ndbd MySQL Cluster: alta-disponibilidade Table T1 F1 F3 F3 F1 F2 F4 F4 F2 Management mgm_ndbd mysqldmysqld ndbd ndbd ndbd ndbd Clients
  • 58. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1263 Qual o custo?
  • 59. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1264 Como manter TCO baixo? • Escalabilidade linear de Escritas e Leituras • Elasticidade, crescimento incremental, distrib. simétricaEscalabilidade • 99.999% de disponibilidade, 5min / ano • Self-healing, failover menor que 1s, geo-replicaçãoAlta Disponibilidade • Performance em tempo real, in-memory e em disco • Latência baixa e preditiva, acessos paralelosAlta Performance • Modelo relacional ACID, SQL e Foreign Keys • APIs NoSQL (C++, Java, Memcached, Node.js)Flexibilidade • Open Source, suporte e ferramentas comerciais opcionais • Hardware commodityBaixo TCO
  • 60. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1265 Principais componentes do TCO 1. Custo de aquisição • Licenciamento do Software (desenvolvimento e produção) • Hardware necessário • Conhecimento da equipe • Produtividade do time de desenvolvimento 2. Custo de manutenção e evolução • Hospedagem e manutenção do hardware • Conhecimento da equipe • Estabilidade e maturidade do software • Suporte do fabricante • Produtividade: Ferramentas de gerenciamento, monitoramento e backup • Produtividade do time de evolução do produto
  • 61. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1266 Carrier Grade Edition (CGE) - comercial MySQL Cluster Suporte Monitor & Backup Plug-ins Manager mysql.com/products/cluster/features.html
  • 62. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1267 Aprenda mais…
  • 63. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1268 Mais sobre como começar com MySQL Cluster Whitepaper: MySQL Cluster Evaluation Guide June 2013 mysql.com/why-mysql/white-papers/mysql- cluster-evaluation-guide
  • 64. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1269 Próximo passo: documentação Reference Manual Cap. 17.1, MySQL Cluster Overview 1. MySQL Cluster Core Concepts 2. MySQL Cluster Nodes, Node Groups, Replicas, and Partitions 3. MySQL Cluster Hardware, Software, and Networking Requirements 4. MySQL Cluster Development History 5. MySQL Server Using InnoDB Compared with MySQL Cluster 6. Known Limitations of MySQL Cluster dev.mysql.com/doc/refman/5.6/en/mysql-cluster.html
  • 65. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1270 Mais sobre como MySQL Cluster para Web Whitepaper: Guide to Scaling Web Databases with MySQL Cluster June 2013 mysql.com/why-mysql/white-papers/guide-to- scaling-web-databases-with-mysql-cluster
  • 66. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1271 MySQL Boot Camp Accelerated MySQL Performance Tuning Boot Camp Accelerated MySQL for Begginers MySQL for Database Administrators MySQL Performance Tuning MySQL High Availability MySQL Cluster MySQL DBA MySQL Boot Camp Accelerated MySQL for Developers MySQL Performance Tuning Boot Camp Accelerated MySQL for Begginers MySQL and PHP Developing Dynamic Web Applicationg MySQL Advanced Stored Procedures MySQLDeveloper mysql.com/training Certificações Opcional Necessário Treinamentos e certificações
  • 67. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1272 Sumário  O MySQL Cluster é um produto derivado do popular MySQL Server que é o "M" do LAMP stack.  Trata-se de um banco de dados distribuído com arquitetura shared-nothing e que pode oferecer 99,999% de disponibilidade, performance superior a 1 bilhão de escritas por minuto, escalabilidade linear, conformidade com o modelo ACID, flexibilidade das interfaces NoSQL e geo-replicação multi- master.  Instale, migre algumas tabelas e comece a usar!
  • 68. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1273 @MySQLBR facebook.com/MySQLBR Obrigado! Slides disponíves em…
  • 69. Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 1274 Perguntas? Alta-disponibilidade e alta performance com o MySQL Cluster 7.3