SlideShare uma empresa Scribd logo
1 de 117
Baixar para ler offline
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.1
Airton Lastori
airton.lastori@oracle.com
Mai-2014
Alta-disponibilidade com MySQL
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.2
@MySQLBR
meetup.com/MySQL-BR
facebook.com/MySQLBR
MySQLBR
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.3
Agenda
 Opções de Alta-disponibilidade
 Práticas Operacionais
 O que é o MySQL Cluster? Como funciona?
 Como começar com MySQL Cluster
 Perguntas?
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4
Alta-Disponibilidade
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.6
Alta-Disponibilidade: soluções homologadas
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.8
Replicação MySQL
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.9
Aplicação
Master Slave
• Modelo assíncrono (padrão)
• Modelo semi-síncrono (a partir da versão 5.5)
Escritas & Leituras
Replicação MySQL
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.10
Aplicação
Master Slave
• Master down
• Slave promovido para Master
Escritas & Leituras
MySQL failover
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.11
 Permite self-healing
 Failover & recovery automatizado
- mysqlfailover (Utilitário)
 Switchover & administração
- mysqlrpladmin (Utilitário)
 Alta disponibilidade com MySQL core
- Elimina necessidade de soluções de
terceiros
- Fácil de estender
HA UtilitiesMonitoramento
Master
Falhou
Slaves
Slave
Promovido
para Master
Disponibilidade com Replicação no MySQL 5.6
Replication HA Utilities (Python)
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.12
Replicação MySQL: escalando LEITURAS
• Divisão de leituras e escritas (R/W Split)
• É possível adicionar mais slaves, dividir a carga
Leituras
Aplicação
Master Slave
Escritas & Leituras
…
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.13
Clustering e Virtualização
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.14
• Soluções homologadas e suportadas pela Oracle MySQL
– Oracle VM Template
– Windows Failover Clustering
– Oracle Solaris Cluster
Clusterização baseada em Shared-Storage
VIP
Clients
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.15
Oracle VM Servers
Oracle VM Server Pool
ocfs2
Oracle VM
Manager
SAN / iSCSI
Secure Live
Migration (SSL)
Oracle
VM
Automatic Fault
Detection &
Recovery
Oracle
VM
mysql.com/why-mysql/white-papers/mysql_wp_oracle-vm-template-for-mee.php
• Oracle Linux
• Oracle VM
• Oracle VM Template for MySQL EE
• Oracle Cluster File System 2
(OCFS2)
• MySQL Database 5.5 Enterprise
Edition
Pré-instalado & Configurado
Integrado & Testado
Suporte de um único fornecedor
Oracle VM Template for MySQL Enterprise
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.16
oracle.com/technetwork/server-storage/solaris-cluster/overview/index.html
• Heartbeat e monitoramento
baseado no Kernel
• SPARC e x86. Solaris
Virtualization-aware
• Agente MySQL incluíd o no
Oracle Solaris Cluster
Oracle Solaris Clustering
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.17
 Opção nativa do Windows certificada para MySQL Enterprise
 Para Falhas ou Manutenção Planejada
 Cluster gerenciado pela interface snap-in MS Failover Cluster
Management*, não requer scripts customizados
 Perda de serviço = alguns segundos + tempo de recovery do
InnoDB:
• Aplicação vê temporariamente uma perda de conexão e reconecta no
mesmo IP
• Slave na Replicação recupera-se automaticamente
 Quorum (3o voto), dados (InnoDB + schema) & binários (opcional)
em armazenamento compartilhado
• teste com iSCSI & FCAL
*suporte técnico do componente MS Failover Cluster Management deve ser contratado da Microsoft
App
Virtual IP
Data Bin
Slave App App
Vote
Windows Server Failover Clustering
mysql.com/why-mysql/white-papers/mysql_wp_windows_failover_clustering.php
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.18
mysql.com/why-mysql/white-papers/mysql_wp_drbd.php
• Certificado e completamente suportado pela
Oracle
• DRBD integrado ao Oracle Linux Unbreakable
Enterprise Kernel R2
• Pacemaker e Corosync para clustering &
failover
• Updates na pilha via ULN channel
• Baseado em storage distribuído, não requer
SAN
• Replicação síncrona elimina o risco de perda
de dados
• Maduro & já utilizado em muitos casos
Oracle Linux + DRBD Stack
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.19
MySQL Cluster
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.20
Clients
Application Layer
Management
MySQL Cluster
Management
Data Layer
ndbd ndbd ndbd ndbd
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.21
Soluções certificadas MySQL HA: resumo
mysql.com/why-mysql/white-papers/mysql_wp_ha_strategy_guide.php
MySQL 5.6
Replication
Windows
Cluster
Solaris
Cluster
Oracle VM
Template
DRBD
MySQL
Cluster
Nível de disponibilidade 99.9% 99.95% 99.99% 99.99% 99.99% 99.999%
Auto-Failover ✔ ✔ ✔ ✔ ✔ ✔
Sem perda de dados durante
failover
✔
Semi-Sync
✔ ✔ ✔ ✔ ✔
Plataformas suportadas All Windows Solaris Linux Linux All
Modo de clusterização
Master +
Slaves
Active /
Passive
Active /
Passive
Active /
Passive
Active /
Passive
Multi-
Master
Dispensa Shared Storage ✔ ✖ ✖ ✖ ✔ ✔
Ponto único de suporte ✔ ✖ ✔ ✔ ✔ ✔
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.22
Mais sobre Opções de Alta-Disponibilidade
Whitepaper:
MySQL Guide to High Availability Solutions
August 2013
mysql.com/why-mysql/white-papers/mysql-
guide-to-high-availability-solutions
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.23
Em breve…
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.24
MySQL Fabric 1.4 RC (MySQL Utilities 1.4.2)
 Alta disponibilidade:
– Monitoramento do Server com failover
automático e transparente para aplicação
 Conectores devem ser “Fabric-aware”:
– Java, PHP, Python
 Sem Proxy, sem latencia extra e SPoF
 Escalabilidade de escrita com sharding:
– Aplicação define a shard key (Range ou
Hash)
– Ferramentas para re-sharding
– Tabelas globais & global updates
Alta-disponibilidade + escalabilidade de escrita com sharding
MySQL Fabric
Connector
Application
Read-slaves
SQL
Master group
Read-slaves
Master group
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.25
Soluções de HA homologadas pela Oracle
MySQL
Replication
MySQL
Fabric
Oracle VM
Template
Solaris
Cluster
Windows
Cluster
DRBD
MySQL
Cluster
Clustering Mode
Master +
Slaves
Master +
Slaves
Active/Pass
ive
Active/Pass
ive
Active/Passi
ve
Active/Pa
ssive
Multi-
Master
App Auto-Failover ✖ ✔ ✔ ✔ ✔ ✔ ✔
Data Layer Auto-Failover ✖ ✔ ✔ ✔ ✔ ✔ ✔
Zero Data Loss MySQL 5.7 ✔ ✔ ✔ ✔ ✔ ✔
Failover Time N/A Secs Secs + Secs + Secs + Secs + < 1 Sec
Scale-out Reads ✔ ✖ ✖ ✖ ✖ ✔
Cross-shard operations N/A ✖ N/A N/A N/A N/A ✔
Transparent routing ✖ For HA ✔ ✔ ✔ ✔ ✔
Shared Nothing ✔ ✔ ✖ ✖ ✖ ✔ ✔
Storage Engine InnoDB InnoDB InnoDB InnoDB InnoDB InnoDB NDB
Single Vendor Support ✔ ✔ ✔ ✔ ✖ ✔ ✔
Platform Support All All Linux Solaris Windows Linux All
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.26
 http://www.oracle.com/technetwork/database/database-
technologies/clusterware/downloads/index.html
MySQL Grid Control Agent for Clusterware
Oracle Clusterware
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.27
Práticas Operacionais
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.28
Pessoas
40%
Processos
40%
Produtos
20%
Por que há indisponibilidade não planejada?
gartner.com/DisplayDocument?id=334197
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.29
Pessoas
40%
Processos
40%
Produtos
20%
Reduzindo indisponibilidade
soluções
certificadas
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.30
Pessoas
40%
Processos
40%
Produtos
20%
Reduzindo indisponibilidade
+automação
+conhecimento
+automação
+ferramentas
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.31
 Acesso direto 24 x 7 x 365
 Número ilimitado de incidentes
 Base de conhecimento
 Suporte Consultivo
 Tradução para o Português
 Hot Fixes para Bugs
 Releases de manutenção do MySQL
 Maior time de especialistas MySQL no mundo
 Suportados pelos próprios Desenvolvedores do MySQL
"The rep that assisted me was simply
outstanding. He immediately
recognized the cause of my problem
and provided the resolution.”
mysql.com/support/quotes
Oracle Premier Support para MySQL
Engenheiros MySQL como parte do seu time
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.32
MySQL Enterprise Monitor 3.0
 Monitoramento em tempo real da
performance e disponibilidade
 Encontre e corrija problemas
visualmente
 Monitore discos e faça capacity
planning
 Comece a monitorar em 10 minutos
 Arquitetura que não exige agentes
 Agente remoto monitora SO
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.33
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.34
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.35
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.36
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.37
Explain Query
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.38
QRTi
Query Response Time Index
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.39
Eventos
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.40
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.41
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.42
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.43
Advisors
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.44
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.45
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.46
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.47
Capacity Planning
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.48
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.49
MySQL Enterprise Backup
 Backup online para InnoDB
 Backups completos, incrementais, parciais (automatizados via script)
 Compressão
 Opções de Recovery: Point in Time, Completo, Parcial
 Metadados de status, progresso e histórico
 Tamanho ilimitado do BD
 Multi-Plataforma
 Windows, Linux, Unix
 Certificado para Oracle Secure Backup, compatível SBT
MEB
Backup
Files
MySQL
Database
Files
mysqlbackup
Backup e Recovery mais rápidos e online.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.50
MySQL Enterprise Backup
Menor tempo em backups e restores, menos downtime
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.51
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.52
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.53
MySQL Enterprise Edition
Subscrição com renovação anual: ferramentas + serviços
Plug-ins
Suporte
Backup
Monitor &
Workbench
Escalabilidade
Segurança
Auditoria
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.54
O que é o MySQL Cluster?
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.55
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 © 2014, Oracle and/or its affiliates. All rights reserved.56
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 © 2014, Oracle and/or its affiliates. All rights reserved.58
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 © 2014, Oracle and/or its affiliates. All rights reserved.59
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 © 2014, Oracle and/or its affiliates. All rights reserved.60
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 © 2014, Oracle and/or its affiliates. All rights reserved.61
Clients
Application Layer
Management
Arquitetura do MySQL Cluster
Management
Data Layer
ndbd ndbd ndbd ndbd
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.62
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 © 2014, Oracle and/or its affiliates. All rights reserved.63
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 © 2014, Oracle and/or its affiliates. All rights reserved.64
NDB + InnoDB
Replicação
Síncrona
Replicação
Assíncrona
NDB API
NDB Cluster Data Nodes
MySQL Cluster
InnoDB
local
InnoDB
externo
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.65
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 © 2014, Oracle and/or its affiliates. All rights reserved.66
Alguns Clientes MySQL Cluster
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.67
 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 © 2014, Oracle and/or its affiliates. All rights reserved.68
 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 © 2014, Oracle and/or its affiliates. All rights reserved.69
 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 © 2014, Oracle and/or its affiliates. All rights reserved.70
MySQL Cluster
Customers
mysql.com/customers/cluster
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.71
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 © 2014, Oracle and/or its affiliates. All rights reserved.72
Como começar a usar
o MySQL Cluster?
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.73
MySQL Cluster Auto-Install
downloads.mysql.com/tutorials/cluster/mysql_wp_cluster_quickstart.pdf
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.74
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 © 2014, Oracle and/or its affiliates. All rights reserved.75
Teste via MySQL Workbench
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.76
Teste via MySQL Workbench 2/2
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.77
Not Only SQL!
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.78
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 © 2014, Oracle and/or its affiliates. All rights reserved.79
Clients
Application Layer
Management
APIs NoSQL
Management
Data Layer
ndbd ndbd ndbd ndbd
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.80
Os mesmos dados
acessados
simultaneamente
através de interfaces
SQL e NoSQL
APIs de Acesso aos Dados
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.81
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 © 2014, Oracle and/or its affiliates. All rights reserved.82
<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 © 2014, Oracle and/or its affiliates. All rights reserved.83
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 © 2014, Oracle and/or its affiliates. All rights reserved.84
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 © 2014, Oracle and/or its affiliates. All rights reserved.85
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 © 2014, Oracle and/or its affiliates. All rights reserved.86
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 © 2014, Oracle and/or its affiliates. All rights reserved.87
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 © 2014, Oracle and/or its affiliates. All rights reserved.88
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 © 2014, Oracle and/or its affiliates. All rights reserved.89
Como o MySQL Cluster funciona?
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.90
Data Layer
Application Layer
Management
mgm_ndbd
MySQL Cluster: arquitetura simplificada
mysqld
Clients
MySQL Cluster Data Nodes
ndbd ndbd ndbd ndbd
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.91
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 © 2014, Oracle and/or its affiliates. All rights reserved.92
Data Node 1
Data Node 2
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
Data Sharding: escalando ESCRITAS
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.93
Data Node 1
Data Node 2
F1
Data Node 3
Data Node 4
Table T1
P2
P3
P4
P1
Data Sharding: escalando ESCRITAS
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.94
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 © 2014, Oracle and/or its affiliates. All rights reserved.95
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 © 2014, Oracle and/or its affiliates. All rights reserved.96
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 © 2014, Oracle and/or its affiliates. All rights reserved.97
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 © 2014, Oracle and/or its affiliates. All rights reserved.98
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 © 2014, Oracle and/or its affiliates. All rights reserved.99
 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 © 2014, Oracle and/or its affiliates. All rights reserved.100
MySQL Cluster 7.4
 Ganho de Performance sobre v7.3
– 47% (Read-Only)
– 38% (Read-Write)
Melhor performance e simplicidade operacional
labs.mysql.com
 Restarts mais rápidos dos nós
– Recovering nodes rejoin the cluster
faster
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.101
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 © 2014, Oracle and/or its affiliates. All rights reserved.102
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 © 2014, Oracle and/or its affiliates. All rights reserved.103
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 © 2014, Oracle and/or its affiliates. All rights reserved.104
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 © 2014, Oracle and/or its affiliates. All rights reserved.105
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 © 2014, Oracle and/or its affiliates. All rights reserved.106
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 © 2014, Oracle and/or its affiliates. All rights reserved.107
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 © 2014, Oracle and/or its affiliates. All rights reserved.108
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 © 2014, Oracle and/or its affiliates. All rights reserved.109
Qual o custo?
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.110
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 © 2014, Oracle and/or its affiliates. All rights reserved.111
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 © 2014, Oracle and/or its affiliates. All rights reserved.112
MySQL Cluster Carrier-Grade Edition
Subscrição com renovação anual: ferramentas + serviços
Escalabilidade
Segurança
Auditoria
Cluster
Plug-ins
Suporte
Backup
Monitor &
Workbench
Cluster
Manager
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.113
Aprenda mais…
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.114
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 © 2014, Oracle and/or its affiliates. All rights reserved.115
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 © 2014, Oracle and/or its affiliates. All rights reserved.116
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 © 2014, Oracle and/or its affiliates. All rights reserved.117
MySQL for
Beginners Ed 3
MySQL for Database
Administrators Ed 2
MySQL Performance
Tuning
MySQL High Availability
MySQL Cluster
MySQL DBA
Introduction to
MySQL 5.5
MySQL Developers
Techniques
MySQL for
Beginners Ed 3
MySQL and PHP
Developing Dynamic
Web Applications
MySQL for Developers
Ed 2
MySQL Advanced Stored
Procedures
MySQLDeveloper
education.oracle.com/mysql
Opcional
Necessário
Treinamentos e certificações
Oracle Certified
Associate, MySQL 5
Oracle Certified
Professional, MySQL 5.6
DBA
Oracle Certified Expert,
MySQL Cluster DBA
Certificações
Oracle Certified
Professional, MySQL 5
Developer
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.118
Sumário
 Há várias opções certificadas de alta-disponibilidade para MySQL, escolha
aquela que faz sentido para sua aplicação.
 O MySQL Cluster é um produto derivado do popular MySQL Server. 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.
 Boas práticas operacionais são muito importantes para uma real alta-
disponibilidade. Conte com a Oracle para implantá-las!
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.119
@MySQLBR facebook.com/MySQLBR
Obrigado!
Slides disponíves em…
Copyright © 2014, Oracle and/or its affiliates. All rights reserved.120
Perguntas?
airton.lastori@oracle.com
Alta-disponibilidade com MySQL

Mais conteúdo relacionado

Mais procurados

Oracle Premier Support para MySQL
Oracle Premier Support para MySQLOracle Premier Support para MySQL
Oracle Premier Support para MySQLMySQL Brasil
 
MySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para DesenvolvedoresMySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para DesenvolvedoresMySQL Brasil
 
Arquiteturas de referência MySQL
Arquiteturas de referência MySQLArquiteturas de referência MySQL
Arquiteturas de referência MySQLMySQL Brasil
 
MySQL e Oracle para DBAs
MySQL e Oracle para DBAsMySQL e Oracle para DBAs
MySQL e Oracle para DBAsAirton Lastori
 
Alta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL EnterpriseAlta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL EnterpriseMySQL Brasil
 
MySQL é de graça?
MySQL é de graça?MySQL é de graça?
MySQL é de graça?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 PHPMySQL Brasil
 
Segurança no MySQL
Segurança no MySQLSegurança no MySQL
Segurança no MySQLMySQL Brasil
 
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 2016MySQL Brasil
 
MySQL Enterprise (outubro-2011)
MySQL Enterprise (outubro-2011)MySQL Enterprise (outubro-2011)
MySQL Enterprise (outubro-2011)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 JavaMySQL Brasil
 
Oracle Real Application Clusters
Oracle Real Application ClustersOracle Real Application Clusters
Oracle Real Application Clusters4Partner
 
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 MySQLMySQL Brasil
 
My sql enterprise vs community
My sql enterprise vs communityMy sql enterprise vs community
My sql enterprise vs communityMySQL 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 MySQLMySQL Brasil
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresAirton Lastori
 
MySQL 5.6 com memcached
MySQL 5.6 com memcachedMySQL 5.6 com memcached
MySQL 5.6 com memcachedMySQL Brasil
 
Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014MySQL Brasil
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Brasil
 

Mais procurados (20)

Oracle Premier Support para MySQL
Oracle Premier Support para MySQLOracle Premier Support para MySQL
Oracle Premier Support para MySQL
 
MySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para DesenvolvedoresMySQL Enterprise Monitor para Desenvolvedores
MySQL Enterprise Monitor para Desenvolvedores
 
Arquiteturas de referência MySQL
Arquiteturas de referência MySQLArquiteturas de referência MySQL
Arquiteturas de referência MySQL
 
MySQL e Oracle para DBAs
MySQL e Oracle para DBAsMySQL e Oracle para DBAs
MySQL e Oracle para DBAs
 
Alta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL EnterpriseAlta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL Enterprise
 
MySQL é de graça?
MySQL é de graça?MySQL é de graça?
MySQL é de graça?
 
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
 
Segurança no MySQL
Segurança no MySQLSegurança no MySQL
Segurança no MySQL
 
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 Enterprise (outubro-2011)
MySQL Enterprise (outubro-2011)MySQL Enterprise (outubro-2011)
MySQL Enterprise (outubro-2011)
 
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
 
Oracle Real Application Clusters
Oracle Real Application ClustersOracle Real Application Clusters
Oracle Real Application Clusters
 
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
 
My sql enterprise vs community
My sql enterprise vs communityMy sql enterprise vs community
My sql enterprise vs community
 
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 e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para Desenvolvedores
 
MySQL 5.6 com memcached
MySQL 5.6 com memcachedMySQL 5.6 com memcached
MySQL 5.6 com memcached
 
Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014Novidades do Universo MySQL Maio 2014
Novidades do Universo MySQL Maio 2014
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
 
Apresentação MySQL Enterprise
Apresentação MySQL EnterpriseApresentação MySQL Enterprise
Apresentação MySQL Enterprise
 

Semelhante a MySQL Alta Disponibilidade Opções

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
 
Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15MySQL 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
 
MySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL Brasil
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL 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.6MySQL Brasil
 
Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15MySQL Brasil
 
Recursos e Benefícios do MySQL
Recursos e Benefícios do MySQLRecursos e Benefícios do MySQL
Recursos e Benefícios do MySQLMySQL 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 Futuroassertimarilia
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL Brasil
 
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...Ricardo Ferreira
 
Soluçõo Oracle Cloud VMware
Soluçõo Oracle Cloud VMwareSoluçõo Oracle Cloud VMware
Soluçõo Oracle Cloud VMwareOracle
 
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 mundoMySQL Brasil
 
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)Wagner Bianchi
 
Alta Disponibilidade TechEd
Alta Disponibilidade TechEdAlta Disponibilidade TechEd
Alta Disponibilidade TechEdViviane_ribeiro
 
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çõesMySQL Brasil
 
MySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionMySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionArtur Alves
 
2019 - Natura MeetUp - Journey to Cloud and Relational Databases
2019 - Natura MeetUp - Journey to Cloud and Relational Databases2019 - Natura MeetUp - Journey to Cloud and Relational Databases
2019 - Natura MeetUp - Journey to Cloud and Relational DatabasesMarcus Vinicius Miguel Pedro
 

Semelhante a MySQL Alta Disponibilidade Opções (20)

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...
 
Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15
 
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 para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de Produto
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
 
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
 
Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15
 
Recursos e Benefícios do MySQL
Recursos e Benefícios do MySQLRecursos e Benefícios do MySQL
Recursos e Benefícios do MySQL
 
TRIO IT - Resumo
TRIO IT - ResumoTRIO IT - Resumo
TRIO IT - Resumo
 
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
 
MySQL e Oracle para Desenvolvedores
MySQL e Oracle para DesenvolvedoresMySQL e Oracle para Desenvolvedores
MySQL e Oracle para Desenvolvedores
 
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
Blueprints & Patterns de Arquitetura para Sistemas que Escalam Linearmente (p...
 
Soluçõo Oracle Cloud VMware
Soluçõo Oracle Cloud VMwareSoluçõo Oracle Cloud VMware
Soluçõo Oracle Cloud VMware
 
WebSeminario Oracle
WebSeminario OracleWebSeminario Oracle
WebSeminario Oracle
 
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
 
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
 
Alta Disponibilidade TechEd
Alta Disponibilidade TechEdAlta Disponibilidade TechEd
Alta Disponibilidade TechEd
 
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 June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese VersionMySQL June/2009 FDTI - Portuguese Version
MySQL June/2009 FDTI - Portuguese Version
 
2019 - Natura MeetUp - Journey to Cloud and Relational Databases
2019 - Natura MeetUp - Journey to Cloud and Relational Databases2019 - Natura MeetUp - Journey to Cloud and Relational Databases
2019 - Natura MeetUp - Journey to Cloud and Relational Databases
 

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 2017MySQL Brasil
 
MySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL Brasil
 
MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17MySQL 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 MySQLMySQL Brasil
 
MySQL 5.7 como Document Store
MySQL 5.7 como Document StoreMySQL 5.7 como Document Store
MySQL 5.7 como Document StoreMySQL Brasil
 
Enabling digital transformation with MySQL
Enabling digital transformation with MySQLEnabling digital transformation with MySQL
Enabling digital transformation with MySQLMySQL Brasil
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7MySQL Brasil
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7MySQL 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 StartupsMySQL 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 - jun15MySQL Brasil
 
MySQL Enterprise Edition Portfolio
MySQL Enterprise Edition PortfolioMySQL Enterprise Edition Portfolio
MySQL Enterprise Edition PortfolioMySQL 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 (14)

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
 
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 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...
 

MySQL Alta Disponibilidade Opções

  • 1. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.1 Airton Lastori airton.lastori@oracle.com Mai-2014 Alta-disponibilidade com MySQL
  • 2. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.2 @MySQLBR meetup.com/MySQL-BR facebook.com/MySQLBR MySQLBR
  • 3. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.3 Agenda  Opções de Alta-disponibilidade  Práticas Operacionais  O que é o MySQL Cluster? Como funciona?  Como começar com MySQL Cluster  Perguntas?
  • 4. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.4 Alta-Disponibilidade
  • 5. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.6 Alta-Disponibilidade: soluções homologadas
  • 6. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.8 Replicação MySQL
  • 7. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.9 Aplicação Master Slave • Modelo assíncrono (padrão) • Modelo semi-síncrono (a partir da versão 5.5) Escritas & Leituras Replicação MySQL
  • 8. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.10 Aplicação Master Slave • Master down • Slave promovido para Master Escritas & Leituras MySQL failover
  • 9. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.11  Permite self-healing  Failover & recovery automatizado - mysqlfailover (Utilitário)  Switchover & administração - mysqlrpladmin (Utilitário)  Alta disponibilidade com MySQL core - Elimina necessidade de soluções de terceiros - Fácil de estender HA UtilitiesMonitoramento Master Falhou Slaves Slave Promovido para Master Disponibilidade com Replicação no MySQL 5.6 Replication HA Utilities (Python)
  • 10. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.12 Replicação MySQL: escalando LEITURAS • Divisão de leituras e escritas (R/W Split) • É possível adicionar mais slaves, dividir a carga Leituras Aplicação Master Slave Escritas & Leituras …
  • 11. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.13 Clustering e Virtualização
  • 12. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.14 • Soluções homologadas e suportadas pela Oracle MySQL – Oracle VM Template – Windows Failover Clustering – Oracle Solaris Cluster Clusterização baseada em Shared-Storage VIP Clients
  • 13. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.15 Oracle VM Servers Oracle VM Server Pool ocfs2 Oracle VM Manager SAN / iSCSI Secure Live Migration (SSL) Oracle VM Automatic Fault Detection & Recovery Oracle VM mysql.com/why-mysql/white-papers/mysql_wp_oracle-vm-template-for-mee.php • Oracle Linux • Oracle VM • Oracle VM Template for MySQL EE • Oracle Cluster File System 2 (OCFS2) • MySQL Database 5.5 Enterprise Edition Pré-instalado & Configurado Integrado & Testado Suporte de um único fornecedor Oracle VM Template for MySQL Enterprise
  • 14. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.16 oracle.com/technetwork/server-storage/solaris-cluster/overview/index.html • Heartbeat e monitoramento baseado no Kernel • SPARC e x86. Solaris Virtualization-aware • Agente MySQL incluíd o no Oracle Solaris Cluster Oracle Solaris Clustering
  • 15. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.17  Opção nativa do Windows certificada para MySQL Enterprise  Para Falhas ou Manutenção Planejada  Cluster gerenciado pela interface snap-in MS Failover Cluster Management*, não requer scripts customizados  Perda de serviço = alguns segundos + tempo de recovery do InnoDB: • Aplicação vê temporariamente uma perda de conexão e reconecta no mesmo IP • Slave na Replicação recupera-se automaticamente  Quorum (3o voto), dados (InnoDB + schema) & binários (opcional) em armazenamento compartilhado • teste com iSCSI & FCAL *suporte técnico do componente MS Failover Cluster Management deve ser contratado da Microsoft App Virtual IP Data Bin Slave App App Vote Windows Server Failover Clustering mysql.com/why-mysql/white-papers/mysql_wp_windows_failover_clustering.php
  • 16. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.18 mysql.com/why-mysql/white-papers/mysql_wp_drbd.php • Certificado e completamente suportado pela Oracle • DRBD integrado ao Oracle Linux Unbreakable Enterprise Kernel R2 • Pacemaker e Corosync para clustering & failover • Updates na pilha via ULN channel • Baseado em storage distribuído, não requer SAN • Replicação síncrona elimina o risco de perda de dados • Maduro & já utilizado em muitos casos Oracle Linux + DRBD Stack
  • 17. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.19 MySQL Cluster
  • 18. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.20 Clients Application Layer Management MySQL Cluster Management Data Layer ndbd ndbd ndbd ndbd
  • 19. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.21 Soluções certificadas MySQL HA: resumo mysql.com/why-mysql/white-papers/mysql_wp_ha_strategy_guide.php MySQL 5.6 Replication Windows Cluster Solaris Cluster Oracle VM Template DRBD MySQL Cluster Nível de disponibilidade 99.9% 99.95% 99.99% 99.99% 99.99% 99.999% Auto-Failover ✔ ✔ ✔ ✔ ✔ ✔ Sem perda de dados durante failover ✔ Semi-Sync ✔ ✔ ✔ ✔ ✔ Plataformas suportadas All Windows Solaris Linux Linux All Modo de clusterização Master + Slaves Active / Passive Active / Passive Active / Passive Active / Passive Multi- Master Dispensa Shared Storage ✔ ✖ ✖ ✖ ✔ ✔ Ponto único de suporte ✔ ✖ ✔ ✔ ✔ ✔
  • 20. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.22 Mais sobre Opções de Alta-Disponibilidade Whitepaper: MySQL Guide to High Availability Solutions August 2013 mysql.com/why-mysql/white-papers/mysql- guide-to-high-availability-solutions
  • 21. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.23 Em breve…
  • 22. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.24 MySQL Fabric 1.4 RC (MySQL Utilities 1.4.2)  Alta disponibilidade: – Monitoramento do Server com failover automático e transparente para aplicação  Conectores devem ser “Fabric-aware”: – Java, PHP, Python  Sem Proxy, sem latencia extra e SPoF  Escalabilidade de escrita com sharding: – Aplicação define a shard key (Range ou Hash) – Ferramentas para re-sharding – Tabelas globais & global updates Alta-disponibilidade + escalabilidade de escrita com sharding MySQL Fabric Connector Application Read-slaves SQL Master group Read-slaves Master group
  • 23. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.25 Soluções de HA homologadas pela Oracle MySQL Replication MySQL Fabric Oracle VM Template Solaris Cluster Windows Cluster DRBD MySQL Cluster Clustering Mode Master + Slaves Master + Slaves Active/Pass ive Active/Pass ive Active/Passi ve Active/Pa ssive Multi- Master App Auto-Failover ✖ ✔ ✔ ✔ ✔ ✔ ✔ Data Layer Auto-Failover ✖ ✔ ✔ ✔ ✔ ✔ ✔ Zero Data Loss MySQL 5.7 ✔ ✔ ✔ ✔ ✔ ✔ Failover Time N/A Secs Secs + Secs + Secs + Secs + < 1 Sec Scale-out Reads ✔ ✖ ✖ ✖ ✖ ✔ Cross-shard operations N/A ✖ N/A N/A N/A N/A ✔ Transparent routing ✖ For HA ✔ ✔ ✔ ✔ ✔ Shared Nothing ✔ ✔ ✖ ✖ ✖ ✔ ✔ Storage Engine InnoDB InnoDB InnoDB InnoDB InnoDB InnoDB NDB Single Vendor Support ✔ ✔ ✔ ✔ ✖ ✔ ✔ Platform Support All All Linux Solaris Windows Linux All
  • 24. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.26  http://www.oracle.com/technetwork/database/database- technologies/clusterware/downloads/index.html MySQL Grid Control Agent for Clusterware Oracle Clusterware
  • 25. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.27 Práticas Operacionais
  • 26. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.28 Pessoas 40% Processos 40% Produtos 20% Por que há indisponibilidade não planejada? gartner.com/DisplayDocument?id=334197
  • 27. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.29 Pessoas 40% Processos 40% Produtos 20% Reduzindo indisponibilidade soluções certificadas
  • 28. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.30 Pessoas 40% Processos 40% Produtos 20% Reduzindo indisponibilidade +automação +conhecimento +automação +ferramentas
  • 29. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.31  Acesso direto 24 x 7 x 365  Número ilimitado de incidentes  Base de conhecimento  Suporte Consultivo  Tradução para o Português  Hot Fixes para Bugs  Releases de manutenção do MySQL  Maior time de especialistas MySQL no mundo  Suportados pelos próprios Desenvolvedores do MySQL "The rep that assisted me was simply outstanding. He immediately recognized the cause of my problem and provided the resolution.” mysql.com/support/quotes Oracle Premier Support para MySQL Engenheiros MySQL como parte do seu time
  • 30. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.32 MySQL Enterprise Monitor 3.0  Monitoramento em tempo real da performance e disponibilidade  Encontre e corrija problemas visualmente  Monitore discos e faça capacity planning  Comece a monitorar em 10 minutos  Arquitetura que não exige agentes  Agente remoto monitora SO
  • 31. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.33
  • 32. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.34
  • 33. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.35
  • 34. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.36
  • 35. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.37 Explain Query
  • 36. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.38 QRTi Query Response Time Index
  • 37. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.39 Eventos
  • 38. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.40
  • 39. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.41
  • 40. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.42
  • 41. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.43 Advisors
  • 42. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.44
  • 43. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.45
  • 44. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.46
  • 45. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.47 Capacity Planning
  • 46. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.48
  • 47. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.49 MySQL Enterprise Backup  Backup online para InnoDB  Backups completos, incrementais, parciais (automatizados via script)  Compressão  Opções de Recovery: Point in Time, Completo, Parcial  Metadados de status, progresso e histórico  Tamanho ilimitado do BD  Multi-Plataforma  Windows, Linux, Unix  Certificado para Oracle Secure Backup, compatível SBT MEB Backup Files MySQL Database Files mysqlbackup Backup e Recovery mais rápidos e online.
  • 48. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.50 MySQL Enterprise Backup Menor tempo em backups e restores, menos downtime
  • 49. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.51
  • 50. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.52
  • 51. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.53 MySQL Enterprise Edition Subscrição com renovação anual: ferramentas + serviços Plug-ins Suporte Backup Monitor & Workbench Escalabilidade Segurança Auditoria
  • 52. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.54 O que é o MySQL Cluster?
  • 53. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.55 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
  • 54. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.56 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
  • 55. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.58 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…
  • 56. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.59 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
  • 57. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.60 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
  • 58. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.61 Clients Application Layer Management Arquitetura do MySQL Cluster Management Data Layer ndbd ndbd ndbd ndbd
  • 59. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.62 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)
  • 60. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.63 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
  • 61. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.64 NDB + InnoDB Replicação Síncrona Replicação Assíncrona NDB API NDB Cluster Data Nodes MySQL Cluster InnoDB local InnoDB externo
  • 62. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.65 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
  • 63. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.66 Alguns Clientes MySQL Cluster
  • 64. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.67  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
  • 65. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.68  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
  • 66. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.69  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
  • 67. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.70 MySQL Cluster Customers mysql.com/customers/cluster
  • 68. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.71 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
  • 69. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.72 Como começar a usar o MySQL Cluster?
  • 70. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.73 MySQL Cluster Auto-Install downloads.mysql.com/tutorials/cluster/mysql_wp_cluster_quickstart.pdf
  • 71. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.74 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
  • 72. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.75 Teste via MySQL Workbench
  • 73. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.76 Teste via MySQL Workbench 2/2
  • 74. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.77 Not Only SQL!
  • 75. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.78 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
  • 76. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.79 Clients Application Layer Management APIs NoSQL Management Data Layer ndbd ndbd ndbd ndbd
  • 77. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.80 Os mesmos dados acessados simultaneamente através de interfaces SQL e NoSQL APIs de Acesso aos Dados
  • 78. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.81 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
  • 79. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.82 <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%’;
  • 80. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.83 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
  • 81. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.84 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
  • 82. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.85 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
  • 83. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.86 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
  • 84. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.87 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
  • 85. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.88 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
  • 86. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.89 Como o MySQL Cluster funciona?
  • 87. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.90 Data Layer Application Layer Management mgm_ndbd MySQL Cluster: arquitetura simplificada mysqld Clients MySQL Cluster Data Nodes ndbd ndbd ndbd ndbd
  • 88. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.91 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
  • 89. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.92 Data Node 1 Data Node 2 Data Node 3 Data Node 4 Table T1 P2 P3 P4 P1 Data Sharding: escalando ESCRITAS
  • 90. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.93 Data Node 1 Data Node 2 F1 Data Node 3 Data Node 4 Table T1 P2 P3 P4 P1 Data Sharding: escalando ESCRITAS
  • 91. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.94 Data Node 1 Data Node 2 F1 F3 Data Node 3 Data Node 4 Table T1 P2 P3 P4 P1 Data Sharding: escalando ESCRITAS
  • 92. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.95 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
  • 93. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.96 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
  • 94. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.97 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
  • 95. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.98 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
  • 96. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.99  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
  • 97. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.100 MySQL Cluster 7.4  Ganho de Performance sobre v7.3 – 47% (Read-Only) – 38% (Read-Write) Melhor performance e simplicidade operacional labs.mysql.com  Restarts mais rápidos dos nós – Recovering nodes rejoin the cluster faster
  • 98. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.101 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
  • 99. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.102 Data Node 1 Data Node 2 F1 F1 Data Node 3 Data Node 4 Table T1 P2 P3 P4 P1 Data Sharding + Replicação
  • 100. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.103 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
  • 101. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.104 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
  • 102. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.105 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
  • 103. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.106 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
  • 104. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.107 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
  • 105. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.108 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
  • 106. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.109 Qual o custo?
  • 107. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.110 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
  • 108. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.111 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
  • 109. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.112 MySQL Cluster Carrier-Grade Edition Subscrição com renovação anual: ferramentas + serviços Escalabilidade Segurança Auditoria Cluster Plug-ins Suporte Backup Monitor & Workbench Cluster Manager
  • 110. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.113 Aprenda mais…
  • 111. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.114 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
  • 112. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.115 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
  • 113. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.116 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
  • 114. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.117 MySQL for Beginners Ed 3 MySQL for Database Administrators Ed 2 MySQL Performance Tuning MySQL High Availability MySQL Cluster MySQL DBA Introduction to MySQL 5.5 MySQL Developers Techniques MySQL for Beginners Ed 3 MySQL and PHP Developing Dynamic Web Applications MySQL for Developers Ed 2 MySQL Advanced Stored Procedures MySQLDeveloper education.oracle.com/mysql Opcional Necessário Treinamentos e certificações Oracle Certified Associate, MySQL 5 Oracle Certified Professional, MySQL 5.6 DBA Oracle Certified Expert, MySQL Cluster DBA Certificações Oracle Certified Professional, MySQL 5 Developer
  • 115. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.118 Sumário  Há várias opções certificadas de alta-disponibilidade para MySQL, escolha aquela que faz sentido para sua aplicação.  O MySQL Cluster é um produto derivado do popular MySQL Server. 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.  Boas práticas operacionais são muito importantes para uma real alta- disponibilidade. Conte com a Oracle para implantá-las!
  • 116. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.119 @MySQLBR facebook.com/MySQLBR Obrigado! Slides disponíves em…
  • 117. Copyright © 2014, Oracle and/or its affiliates. All rights reserved.120 Perguntas? airton.lastori@oracle.com Alta-disponibilidade com MySQL