SlideShare una empresa de Scribd logo
1 de 66
Descargar para leer sin conexión
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster: El ‘qué’ y el ‘cómo’.
Keith Hollman
Principal Sales Consultant EMEA
MySQL
keith.hollman@oracle.com
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Agenda
1
2
3
Introducción
Empezando: configuración/instalación/inicio/parada
La forma más sencilla: Cluster Manager.
2
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle MySQL Soluciones de Alta Disponibilidad & Sharding
MySQL
Replication
MySQL Fabric
Oracle VM
Template
Oracle
Clusterware
Solaris
Cluster
Windows
Cluster
DRBD
MySQL
Cluster
App Auto-Failover ✖ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Data Layer Auto-Failover ✖ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Zero Data Loss MySQL 5.7 MySQL 5.7 ✔ ✔ ✔ ✔ ✔ ✔
Platform Support All All Linux Linux Solaris Windows Linux All
Clustering Mode
Master +
Slaves
Master +
Slaves
Active/Passi
ve
Active/Passive
Active/Pas
sive
Active/Passiv
e
Active/Pas
sive
Multi-
Master
Failover Time N/A Secs Secs + Secs + Secs + Secs + Secs + < 1 Sec
Scale-out Reads ✔ ✖ ✖ ✖ ✖ ✖ ✔
Cross-shard operations N/A ✖ N/A N/A N/A N/A N/A ✔
Transparent routing ✖ For HA ✔ ✔ ✔ ✔ ✔ ✔
Shared Nothing ✔ ✔ ✖ ✖ ✖ ✖ ✔ ✔
Storage Engine InnoDB+ InnoDB+ InnoDB+ InnoDB+ InnoDB+ InnoDB+ InnoDB+ NDB
Single Vendor Support ✔ ✔ ✔ ✔ ✔ ✖ ✔ ✔
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Cuando pensar en MySQL Cluster
• ¿Cuáles son las consecuencias de una parada o de una caída en el
rendimiento?
• ¿Cuánto esfuerzo y dinero se invierte en el desarrollo de las
aplicaciones y en la gestión de la infrastructura HA?
• Estás pensando en hacer sharding en la base de datos para poder
escalar las escrituras y ganar en rendimiento. ¿Y ésto cómo afecta
a tu aplicación y desarrolladores?
• ¿Tus servicios necesitan ser real-time?
• ¿Los servicios que ofreces tienen un crecimiento predicible,
sobretodo en escrituras?
• ¿Quieres la flexibilidad de acceder a tus datos con algo más que
SQL?
4
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Cuando NO pensar en MySQL Cluster
• La mayoría de las aplicaciones de terceros.
• Transacciones laragas.
• Índices geospaciales.
• Volumenes de datos grandes (>2TB)
• Accesos complejos al dato y muchos Full Scans de tablas.
•Cuando necesitas una base de datos basado en el almacenamiento
en disco, ej. InnoDB.
5
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Introducción a MySQL Cluster
6
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
La historia de MySQL Cluster ”NDB”
• MySQL Cluster también conocido como la Network DataBase NDB
• Diseñado / desarrollado en Ericcson a finales de los 90.
• Documento original de diseño: ”Design and Modeling of a Parallel Data
Server for Telecom Applications” del año 1997 por Michael Ronström
• Originalmente escrito en PLEX (Programming Language for EXchanges) pero
convertido luego a C++.
• MySQL AB adquirió Alzato (cuyo propietario era Ericsson) final del 2003.
La base de datos en red / ”The Network DataBase NDB”
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
La historia de MySQL Cluster ”NDB”
• Servicios de bases de datos en aquel entonces:
– SCP/SDP (Service Control/Data Point) en Redes Inteligentes.
– HLR (Home Location Register) para mantener el control sobre los teléfonos móbiles /
usuarios.
– Bases de datos para gestión de redes, sobretodo información de cobro al instante
(real-time charging).
La base de datos en red / ”The Network DataBase NDB”
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
La historia de MySQL Cluster ”NDB”
• Se diseñó NDB para:
– Fiabilidad, la clase de disponibilidad de las bases de datos telco’s debería ser 6. Esto
significa que cualquier parada tiene que ser menos de 30 segundos por año. Significa
que no se permite paradas no-planificadas.
– Rendimiento, diseñado con alta concurrencia en mente, escalabilidad lineal cuando
añadiendo servidores (data nodes) para accesos sencillos (búsquedas por PK).
– Tiempo real (real-time), los datos se guardan en memoria y el sistema está diseñado
para realizar operaciones en memoria.
La base de datos en red / ”The Network DataBase NDB”
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster resumido
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster: Los Componentes
11
NDB API
(Aplicaciones)
Data Node
(Almacenamiento de
datos)
MGM Node
(Gestión)
SQL Node
(Aplicaciones)
• Interfaz estándar de SQL
• Escalabilidad horizontal para mejoras del rendimiento.
• Habilita la Replica Geográfica.
• Real-time applications.
• APIs C++/Java
• Failover y balanceo de carga automática.
• Almacenamiento de datos (en Memoria y en Disco).
• Particionamiento de datos Automática y Customizado.
• Escalabilidad horizontal para aumentar capacidad y rendimiento.
• Gestión, Monitorización y Configuración.
• Árbitro en situaciones de split brain/red particionada.
•Logs del Cluster .
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Data Nodes
• Almacena datos e índices
– En memoria
– Datos no-indexados posibles en disco.
– Contiene varios bloques, los mas
importantes, LQH, TUP, ACC y TC.
• Check points de los datos
realizados a disco “LCP”.
• Coordinación de Transacciones.
• Gestiona fail-over
• Realiza los backups online
• Todos conectados entre sí.
• Hasta 48
– Típicamente 2, 4.
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Management Nodes
• Distribuyen la configuración
• Logging
• Monitorización
• Hace de Árbitro
– Impede escenarios de split-brain
• Cuando no está en funcionamiento, Cluster
sigue.
– Se necesita para iniciar otros
• 1 es lo mínimo, 3 demasiados, 2 perfecto.
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
API Nodes
• Aplicaciones escritos utilizando NDB API
– C/C++/Java
• Rápido
– No parsea SQL
• Ejemplos:
– El storage engine NDBCluster
– ndb_restore
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
SQL Nodes
• Es MySQL con el motor NDBCluster.
– Es un API Node a la misma vez.
• Transparente para la mayoría de las aplicaciones.
• Se usa para crear tablas.
• Se usa para Replica Geográfica
– Guarda todos los cambios en Bin logs
• Puede ser un Árbitro.
• Conecta a todos los Data Nodes
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster Arquitectura
MySQL Cluster Data Nodes
Clientes
Capa Aplicaciones
Capa de Datos
Gestión
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster Escalando horizontalmente
MySQL Cluster Data Nodes
Clientes
Capa Aplicaciones
Capa de Datos
Gestión
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster – Resistencia Extrema
MySQL Cluster Data Nodes
Clientes
Capa Aplicaciones
Capa de Datos
Gestión
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Particionamiento I
• Particionamiento Vertical - 1:1 tablas a reducir el tamaño de las filas, tablas
e índices.
• Particionamiento Horizontal - 1 Tabla separación en múltiples tablas con
filas diferentes.
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
p1 p2 p1 p2 p3
Particionamiento de Datos II
• Se particionan los datos por Primary Key por defecto.
• Valor HASH de la PK, sólo es selectivo si se proporciona la PK completa, no
“la columna más a la izquierda”.
• Hash lineal, los datos sólo están desplazados (impacto bajo al hacer un
“reorganize”).
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Data Node 1
Data Node 2
Data Node 3
Data Node 4- Una partición es una parte de la tabla
- Número de particiónes = número de data nodes
- Particionamiento horizontal
Tabla T1
ID FirstName LastName Email Phone
P2
P3
P4
Px Partición
P1
Particionamiento de Datos Automático
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Data Node 1
Data Node 2
Data Node 3
Data Node 4Un fragmento es una partición
Número de fragmentos = # de particiónes * # de replicas
Tabla T1
ID FirstName LastName Email Phone
P2
P3
P4
Px Partición
P1
Particionamiento de Datos Automático
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Data Node 1
Data Node 2
Data Node 3
Data Node 4Un fragmento puede ser primario o secondario / backup
Número de fragmentos = # de particiones * # de replicas
Tabla T1
ID FirstName LastName Email Phone
P2
P3
P4
Px Partición
4 Particiones * 2 Replicas = 8 Fragmentos
P1
Particionamiento de Datos Automático
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Data Node 1
Data Node 2
F1
Primer Fragmento
Segundo Fragmento
Data Node 3
Data Node 4Fx
Fx
Tabla T1
ID FirstName LastName Email Phone
P2
P3
P4
Px Partición
4 Particiones * 2 Replicas = 8 Fragmentos
P1
Particionamiento de Datos Automático
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Data Node 1
Data Node 2
F1
Primer Fragmento
Segundo Fragmento
F1
Data Node 3
Data Node 4Fx
Fx
Tabla T1
ID FirstName LastName Email Phone
P2
P3
P4
Px Partición
4 Particiones * 2 Replicas = 8 Fragmentos
P1
Particionamiento de Datos Automático
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Data Node 1
Data Node 2
F1
Primer Fragmento
Segundo Fragmento
F3 F1
Data Node 3
Data Node 4Fx
Fx
Tabla T1
ID FirstName LastName Email Phone
P2
P3
P4
Px Partición
4 Particiones * 2 Replicas = 8 Fragmentos
P1
Particionamiento de Datos Automático
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Data Node 1
Data Node 2
F1 F3
Primer Fragmento
Segundo Fragmento
F3 F1
Data Node 3
Data Node 4Fx
Fx
Tabla T1
ID FirstName LastName Email Phone
P2
P3
P4
Px Partición
4 Particiones * 2 Replicas = 8 Fragmentos
P1
Particionamiento de Datos Automático
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Data Node 1
Data Node 2
F1 F3
Primer Fragmento
Segundo Fragmento
F3 F1
Data Node 3
Data Node 4
F2
Fx
Fx
Tabla T1
ID FirstName LastName Email Phone
P2
P3
P4
Px Partición
4 Particiones * 2 Replicas = 8 Fragmentos
P1
Particionamiento de Datos Automático
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Data Node 1
Data Node 2
F1 F3
Primer Fragmento
Segundo Fragmento
F3 F1
Data Node 3
Data Node 4
F2
F2
Fx
Fx
Tabla T1
ID FirstName LastName Email Phone
P2
P3
P4
Px Partición
4 Particiones * 2 Replicas = 8 Fragmentos
P1
Particionamiento de Datos Automático
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Data Node 1
Data Node 2
F1 F3
Primer Fragmento
Segundo Fragmento
F3 F1
Data Node 3
Data Node 4
F2
F4 F2
4 Particiones * 2 Replicas = 8 Fragmentos
Fx
Fx
Tabla T1
ID FirstName LastName Email Phone
P2
P3
P4
Px Partición
P1
Particionamiento de Datos Automático
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Data Node 1
Data Node 2
F1 F3
Primer Fragmento
Segundo Fragmento
F3 F1
Data Node 3
Data Node 4
F2 F4
F4 F2
Fx
Fx
Tabla T1
ID FirstName LastName Email Phone
P2
P3
P4
Px Partición
4 Particiones * 2 Replicas = 8 Fragmentos
P1
Particionamiento de Datos Automático
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Data Node 1
Data Node 2
F3
Primer Fragmento
Segundo Fragmento
F1
Data Node 3
Data Node 4
F2 F4
F4 F2
Node Group 1
Fx
Fx
Tabla T1
ID FirstName LastName Email Phone
P2
P3
P4
Px Partición
4 Particiones * 2 Replicas = 8 Fragmentos
P1
F1
F3
Particionamiento de Datos Automático
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Data Node 1
Data Node 2
F1 F3
Primer Fragmento
Segundo Fragmento
F3 F1
Data Node 3
Data Node 4
F2 F4
F4 F2
Node Group 1
Node Group 2
Fx
Fx
-Los node groups se crean automáticamente
- # de grupos = # de data nodes / # de replicas
Tabla T1
ID FirstName LastName Email Phone
P2
P3
P4
Px Partición
4 Particiones * 2 Replicas = 8 Fragmentos
P1
Particionamiento de Datos Automático
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Data Node 1
Data Node 2
F1 F3
Primer Fragmento
Segundo Fragmento
F3 F1
Data Node 3
Data Node 4
F2 F4
F4 F2
Node Group 1
Node Group 2
Fx
Fx
Mientras que haya un data node
funcionando en cada node group, tenemos
una copia completa de los datos.
Tabla T1
ID FirstName LastName Email Phone
P2
P3
P4
Px Partición
4 Particiones * 2 Replicas = 8 Fragmentos
P1
Particionamiento de Datos Automático
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Data Node 1
Data Node 2
F1 F3
Primer Fragmento
Segundo Fragmento
F3 F1
Data Node 3
Data Node 4
F2 F4
F4 F2
Node Group 1
Node Group 2
Fx
Fx
Tabla T1
ID FirstName LastName Email Phone
P2
P3
P4
Px Partición
4 Particiones * 2 Replicas = 8 Fragmentos
P1
Particionamiento de Datos Automático
Mientras que haya un data node
funcionando en cada node group, tenemos
una copia completa de los datos.
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Data Node 1
Data Node 2
F1 F3
Primer Fragmento
Segundo Fragmento
F3 F1
Data Node 3
Data Node 4
F2 F4
F4 F2
Node Group 1
Node Group 2
Fx
Fx
Tabla T1
ID FirstName LastName Email Phone
P2
P3
P4
Px Partición
4 Particiones * 2 Replicas = 8 Fragmentos
P1
Particionamiento de Datos Automático
Mientras que haya un data node
funcionando en cada node group, tenemos
una copia completa de los datos.
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Tabla T1 Data Node 1
Data Node 2
F1 F3
Primer Fragmento
Segundo Fragmento
ID FirstName LastName Email Phone
P2
P3
P4
Px Partición
F3 F1
Data Node 3
Data Node 4
F2 F4
F4 F2
Node Group 1
Node Group 2
4 Particiones * 2 Replicas = 8 Fragmentos
Fx
Fx
- No hay una copia completa de los datos.
- El cluster se para automáticamente.
P1
Particionamiento de Datos Automático
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Particionamiento de Datos III
• Partición
– Particionamiento Horizontal.
– Una parte de una tabla, cada Partición contiene un conjunto de filas.
– Número de Particiones == LQH
• Replica
– Una copia completa de los datos.
• Node Group
– Creado automáticamente
– # de grupos = # de data nodes / # de replicas
– Mientras que haya un data node funcionando en cada node group, tenemos una copia completa
de los datos.
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Agenda
1
2
3
Introducción
Empezando: configuración/instalación/inicio/parada
La forma más sencilla: Cluster Manager.
39
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster y los tipos de Instalaciones
• Community / GPL
– http://dev.mysql.com/downloads/cluster
• Carrier Grade Edition
– http://edelivery.oracle.com
– http://support.oracle.com
• Tarball
– Instalación de manera manual.
• RPM, DEB, PKG, DMG, MSI
– Paquetes de instalación específicos
para el S.O.
– Rutas y paquetes (server, client, etc.)
específicas.
• Código fuente
– Compila tu propia versión.
• cmake .
• make
• make install
40
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster Configuración
• Todos los nodos está definidos en el fichero config.ini
– Dividido en secciones mediante “[…]”, donde hay secciones para;
• Data nodes ndb{mt}d
• Management nodes [ndb_mgmd]
• MySQL servers [mysqld]
• API nodes [ndbapi]
• Si se añade ‘default’ al nombre de la sección [ndbd default], los valores se aplican a todos.
– Se inicia el Management node con un config.ini. Debería ser el mismo para todos los
management nodes del Cluster.
• Los MySQL API nodes se configuran tanto en el in config.ini y también en
un my.cnf dedicado.
41
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Configuración “config.ini”
Parámetros típicos
• IndexMemory y DataMemory.
• Configura MaxNoOfExecutionThreads <= #cores
– Si no, podría genera situaciones de contención → comportamiento inesperado.
• RedoBuffer=32-64M
– Si se tiene que configurar más alto → probablemente los discos sean demasiado lentos.
• FragmentLogFileSize=256M
• NoOfFragmentLogFiles= 6 x DataMemory (en MB) / (4x 256MB)
– Problema más típico – clientes nunca configuran los redo logs lo suficientemente grandes.
• Memoria para datos e índices adecuado para el tamaño de las bases de datos /índices.
• LockPagesInMainMemory=1
• MaxNoOf*
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Configuración
Tablas “Disk-based ”
• Usa “Disk Data Tables” para:
– Accesos simples (lectura/escritura por PK)
– Lo mismo que para InnoDB – Puedes empezar a sufrir problemas de E/S si no se vigila (iostat).
• Configura DiskPageBufferMemory=3072M
– Si se depende mucho de datos en disco, se suele recomenda su uso – igual que el
Innodb_Buffer_Pool, pero configúralo lo más alto que se pueda!
• Aumenta las posibilidades de que se cachea una página:
– SharedGlobalMemory=384M-1024M
• UNDO_BUFFER=64M to 128M (Si hay mucha escritura en disco)
– ¡No puedes modificar éste buffer después!
• Especificado a la hora de crear el LOGFILE GROUP:
– DiskIOThreadPool=[ 8 .. 16 ]
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster Iniciando / Parando
config.ini
[ndb_mgmd default]
ArbitrationRank =1
DataDir =/opt/mysql/746/mgmd_data
[ndb_mgmd]
hostname =khollman-es
NodeId =1
[ndbd default]
noofreplicas =2
DataDir =/opt/mysql/746/ndbd_data
DataMemory =20M
IndexMemory =10M
DiskPageBufferMemory =4M
StringMemory =5
MaxNoOfConcurrentOperations =2K
MaxNoOfConcurrentTransactions =2K
SharedGlobalMemory =500K
LongMessageBuffer =512K
MaxParallelScansPerFragment =16
MaxNoOfAttributes =1000
MaxNoOfTablas =20
MaxNoOfOrderedIndexes =20
ODirect =TRUE
HeartbeatIntervalDbDb =500
HeartbeatIntervalDbApi =500
StopOnError =1
TransactionInactiveTimeout =500
TransactionDeadlockDetectionTimeout = 1200
LockPagesInMainMemory =2
[ndbd]
hostname =khollman-es
datadir =/opt/mysql/746/ndbd_data
nodeid =3
[mysqld default]
[mysqld]
NodeId =10
[mysqld]
NodeId =11
[NDBAPI]
NodeId =12
[NDBAPI]
NodeId =13
44
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster Iniciando / Parando
my.cnf
[client]
socket =/tmp/mysql_7461.sock
[mysql]
prompt =R:m d>_
no-beep
[mysqld]
ndbcluster
datadir =/opt/mysql/746/data
ndb-connectstring =khollman-es:1186
user =mysql
port =7461
socket =/tmp/mysql_7461.sock
general-log =1
log-output =FILE
log-error =khollman-es_7461.err
slow-query-log =1
max_connections =20
innodb_log_buffer_size =8M
innodb_buffer_pool_size =64M
innodb_log_file_size =16M
innodb_flush_log_at_trx_commit =2
innodb_file_per_Tabla =1
innodb_data_home_dir =/opt/mysql/746/data
innodb_data_file_path
=ibdata1:50M;ibdata2:50M:autoextend
[mysql_cluster]
ndb-connectstring =khollman-es:1186
45
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster Iniciando / Parando
• La primera vez y cuando cambios en la configuación son necesarios:
--INITIAL
– Cuando cambia el config.ini, no hay que hacer una parada completa del cluster.
Reinicia ndb_mgmd con --INITIAL para limpiar la información cacheada de la
configuración. Y luego reiniciar los datanodes (sin --initial).
• Iniciando
# ndb_mgmd -f config.ini --config-dir=/usr/local/mysql-cluster/conf --INITIAL
# ndbd --INITIAL | ndbmtd –c localhost:1186 --INITIAL | ndbd –n (nostart)
# scripts/mysql_install_db --defaults-file=my.cnf --user=mysql
# mysqld_safe --defaults-file=my.cnf --user=mysql
46
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster Iniciando / Parando
• Iniciando
– ndb_mgmd -f config.ini --config-dir=/usr/local/mysql-cluster/conf
– ndbd | ndbmtd –c localhost:1186
– mysqld_safe --defaults-file=my.cnf
• Parando
– ndb_mgm –e shutdown
– ndb_mgm –e [mgmt node & datanode] 1 | 3 | 4 stop
– ndb_mgm –e [mgmt node & datanode] 1 | 3 | 4 restart
– mysqladmin --defaults-file=my.cnf -uroot shutdown
47
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster Iniciando / Parando
nostart
ndbmtd --ndb-nodeid=3 –n
ndbmtd --ndb-nodeid=4 –n
ndb_mgm -e show
Cluster configuración
---------------------
[ndbd(NDB)] 2 node(s)
id=3 @127.0.0.1 (mysql-5.6.17 ndb-7.3.5, not started)
id=4 @127.0.0.1 (mysql-5.6.17 ndb-7.3.5, not started)
ndb_mgm -e "all start“
ndb_mgm -e show
Cluster configuración
---------------------
[ndbd(NDB)] 2 node(s)
id=3 @127.0.0.1 (mysql-5.6.17 ndb-7.3.5, starting, Nodegroup: 0, *)
id=4 @127.0.0.1 (mysql-5.6.17 ndb-7.3.5, starting, Nodegroup: 0)
48
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Ficheros de Log
• Logs
– Management
• Datadir: /opt/mysql/746/mgmd_data/ ndb_1_cluster.log / ndb_1_out.log
– Datanodes
• Datadir: /opt/mysql/746/ndbd_data/ ndb_3_out.log / ndb_3_out.err
– SQLNodes
• Datadir /opt/mysql/746/data/ hostname.err
• Errores
– El fichero de log del Cluster ndb_1_cluster.log es el mejor sitio donde empezar a
investigar.
49
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Agenda
1
2
3
Introducción
Empezando: configuración/instalación/inicio/parada
La forma más sencilla: Cluster Manager.
50
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 51
La forma más sencilla: Cluster Manager
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Oracle Premier
Lifetime Support
Oracle Product
Certifications/Integrations
MySQL Enterprise
Security
MySQL Enterprise
Scalability
MySQL Cluster
Manager
MySQL Enterprise
Monitor/Query Analyzer
MySQL Workbench
MySQL Enterprise
Audit
MySQL Enterprise
Backup
Los niveles más altos de Rendimiento,
Seguridad y Disponibilidad.
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Potenciando la agilidad de DevOps,
Minimizando el Downtime
Gestión Automatizada
• Iniciar/Parar nodo o todo
el cluster.
• Crecimiento horizontal
online.
• Reconfiguración online.
• Upgrades online.
• Backup & Restore online.
• Importar un Cluster en
marcha.
Auto-recuperable
• Monitorización por
nodo.
• Auto-recuperación se
extiende a los sql nodes
y management node.
Operaciones de Alta
Disponibilidad
• Configuración
consistente de todos los
componentes del cluster.
• Configuraciónes
persistentes.
• Agentes de HA.
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster Manager: Creando un Cluster I
• Download MySQL Cluster Manager (MCM) + MySQL Cluster:
– MCM 1.3.4, elige el paquete *sin* cluster, que debería ser sobre unos 20Mb (download en https://edelivery.oracle.com/)
– MySQL Cluster 7.4.6 (download en http://downloads.mysql.com/archives/get/file/ mysql-cluster-gpl-7.4.6-linux-glibc2.5-
x86_64.tar.gz)
• Instalar y Configurar MySQL Cluster Manager
– Los binarios de MCM y Cluster tienen que estar instalados en todos los servidores donde corre algún proceso NDB.
– mkdir MCM
– cd MCM
– tar xzf /ruta/a/ mcm-1.3.4-linux-glibc2.5-x86-64bit.tar.gz
– mv mcm-1.3.4-linux-glibc2.5-x86-64bit/mcm1.3.4 .
– rmdir mcm-1.3.4-linux-glibc2.5-x86-64bit.tar.gz
– cp mcm1.3.4/etc/mcmd.ini .
– (hay que cambiar: manager-directory = /home/<user>/MCM/mcm_data)
54
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster Manager: Creando un Cluster II
• Instalar los binarios Cluster
– tar xzf /ruta/a/ mysql-cluster-gpl-7.4.6-linux-glibc2.5-x86_64.tar.gz
– mv mysql-cluster-gpl-7.4.6-linux-glibc2.5-x86_64 cluster-746
• iniciar el demonio MCMD (como usuario del s.o. ‘mysql’)
– ./mcm1.3.4/bin/mcmd --defaults-file=./mcmd.ini –daemon
• Configurar el Cluster
– Connect to MCM and configure cluster (only from one site):
– Start mcm client: ./mcm1.3.4/bin/mcm
– (se necesita en el PATH la ruta del CLI de mysql, ej. /usr/local/mysql/bin/mysql ya que el CLI mcm se basa en él)
55
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster Manager: Creando un Cluster III
mcm> list commands
mcm> create site --hosts=127.0.0.1 mysite;
mcm> list sites;
mcm> list hosts mysite;
mcm> add package --basedir=/home/<user>/MCM/cluster-746
cluster746;
mcm> list packages mysite;
mcm> create cluster --package=cluster746 --
processhosts=ndb_mgmd@127.0.0.1,ndbmtd@127.0.0.1,ndbmtd@1
27.0.0.1 mycluster;
mcm> add process --
processhosts=mysqld@127.0.0.1,mysqld@127.0.0.1 mycluster;
mcm> add process --
processhosts=ndbapi@127.0.0.1,ndbapi@127.0.0.1 mycluster;
mcm> add process --
processhosts=ndbapi@127.0.0.1,ndbapi@127.0.0.1 mycluster;
mcm> get -d port:mysqld mycluster;
mcm> set port:mysqld:51=3307 mycluster;
56
• Iniciar el Cluster:
mcm> show status -r mycluster;
mcm> start cluster mycluster;
mcm> show status -r mycluster;
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Migración de Base de datos en caliente
Alternativas
• Para que se haga en ‘caliente’, la mejor y única alternativa es un “Rolling
Restart”:
1. Parar todos los Cluster Management nodes, sustituyendo el binario ndb_mgmd
con la nueva versión y reiniciando.
2. Parar, sustituir y reinicar cada data node, cada uno en turno, uno a uno.
3. Parar, sustituir y reinicar cada sql node, cada uno en turno.
– “Sustituir” significa redirigir al software nuevo en el servidor, (bien ln –s, o bien a la ruta directa /absoluta).
– “software” significa el nuevo paquete de Cluster, en el formato de “mysql-cluster-gpl-7.4.6-linux-
glibc2.5-x86_64.tar.gz”.
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Migración de Base de datos en caliente
Requisitos
• Usar un esclavo replica del MySQL Cluster.
– El esclavo puede tener una versión superior al Master.
• “Rolling Upgrade” upgrade escalonado. (--initial obligatorio)
• Si quieres usar MySQL Cluster Manager:
mcm> add package –-basedir=/opt/MCM_LAB/cluster-746 cluster747;
mcm> upgrade cluster --package=cluster747 mycluster;
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
¿Cómo ayuda MySQL Cluster Manager?
Realizando la actualización de MySQL Cluster 7.0 a 7.4
• 1 x chequeo preliminar del estado del cluster
• 8 x comandos ssh por servidor
• 8 x comandos “stop” para cada proceso.
• 4 x scp del fichero de configuración (2x mgmd y 2x
mysqld)
• 8 x comandos “start” para cada proceso.
• 8 x comprobaciones para los procesos iniciados y
los procesos que se unen
• 8 verificaciones de éxito a cada proceso
• 1 x verificación completa del cluster entero
• Excluye el ajuste manual de cada fichero de config
Total: 46 comandos -
2.5 horas de operación atendida
Antes de MySQL Cluster Manager Con MySQL Cluster Manager
upgrade cluster --package=7.4 mycluster;
Total: 1 Comando –
Operación Desatendida
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
MCM: La actualización de Cluster
mcm> upgrade cluster --package=cluster747
mycluster;
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
http://www.mysql.com/customers/cluster/
• Telecomunicaciones
• Subscriber Databases (HLR / HSS)
• Service Delivery Platforms
• VAS: VoIP, IPTV & VoD
• Mobile Content Delivery
• Mobile Payments
• LTE Access
• Web & Enterprise
• High volume OLTP
• eCommerce
• User Profile Management
• Session Management & Caching
• Content Management
• On-Line Gaming
MySQL Cluster – Usuarios y Aplicaciones
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
COMPANY OVERVIEW
• Leading provider of communications platforms, solutions &
services
• €15.2bn Revenues (2009), 77k employees across 130 countries
CHALLENGES / OPPORTUNITIES
• Converged services driving migration to next generation HLR /
HSS systems
• New IMS platforms for Unified Communications
• Reduce cost per subscriber and accelerate time to value
SOLUTIONS
• MySQL Cluster Carrier Grade Edition
• MySQL Support & Consulting Services
CUSTOMER PERSPECTIVE
“MySQL Cluster won the performance test hands-down, and it fitted our
needs perfectly. We evaluated shared-disk clustered databases, but the cost
would have been at least 10x more.”
-- François Leygues, Systems Manager
RESULTS
• Scale out on standard ATCA hardware to support 60m+
subscribers on a single platform
• Low latency, high throughput with 99.999%+ availability
• Enabled customers to reduce cost per subscriber and improve
margins
• Delivered data management solution at 10x less cost than
alternatives
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
COMPANY OVERVIEW
• Leading telecoms provider across Europe and Asia. Largest
Nordic provider
• 184m subscribers (Q2, 2010)
CHALLENGES / OPPORTUNITIES
• Extend OSS & BSS platforms for new mobile services and
evolution to LTE
• OSS: IP Management & AAA
• BSS: Subscriber Data Management & Customer Support
SOLUTIONS
• MySQL Cluster
• MySQL Support Services
CUSTOMER PERSPECTIVE
“Telenor has been using MySQL for fixed IP
management since 2003 and are extremely
satisfied with its speed, availability and
flexibility. Now we also support mobile
and LTE IP management with our solution.
Telenor has found MySQL Cluster to be
the best performing database in the world
for our applications.”
- Peter Eriksson, Manager, Network Provisioning
RESULTS
• Launch new services with no downtime, due to on-line
operations of MySQL Cluster
• Consolidated database supports Subscriber Data Management
initiatives
• MySQL Cluster selected due to 99.999% availability, real time
performance and linear scalability on commodity hardware
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Alguna Pregunta?
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Siguientes Pasos
65
Aprender más:
• www.mysql.com/cluster
• MySQL Curriculum: http://oracle.com/education/mysql
Pruébame:
• dev.mysql.com/downloads/cluster/
Dejadnos saber que opinas:
• forums.mysql.com/list.php?25
• keith.hollman@oracle.com
MySQL Cluster: El ‘qué’ y el ‘cómo’.

Más contenido relacionado

La actualidad más candente

Software update for embedded systems
Software update for embedded systemsSoftware update for embedded systems
Software update for embedded systemsSZ Lin
 
Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Chris Simmonds
 
2019 Pure Storage Top Ten Benefits
2019 Pure Storage Top Ten Benefits2019 Pure Storage Top Ten Benefits
2019 Pure Storage Top Ten BenefitsMarketingArrowECS_CZ
 
EMC Vnx master-presentation
EMC Vnx master-presentationEMC Vnx master-presentation
EMC Vnx master-presentationsolarisyougood
 
Vagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptopVagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptopLorin Hochstein
 
Infrastructure automation using awx ansible tower
Infrastructure automation using awx ansible towerInfrastructure automation using awx ansible tower
Infrastructure automation using awx ansible towerTO THE NEW Pvt. Ltd.
 
Aci presentation
Aci presentationAci presentation
Aci presentationJoe Ryan
 
Db2 analytics accelerator technical update
Db2 analytics accelerator  technical updateDb2 analytics accelerator  technical update
Db2 analytics accelerator technical updateCuneyt Goksu
 
[IBM 서버] 노후서버는 왜 교체해야 하는가
[IBM 서버] 노후서버는 왜 교체해야 하는가[IBM 서버] 노후서버는 왜 교체해야 하는가
[IBM 서버] 노후서버는 왜 교체해야 하는가(Joe), Sanghun Kim
 
Android for Embedded Linux Developers
Android for Embedded Linux DevelopersAndroid for Embedded Linux Developers
Android for Embedded Linux DevelopersOpersys inc.
 
IBM DS8880 and IBM Z - Integrated by Design
IBM DS8880 and IBM Z - Integrated by DesignIBM DS8880 and IBM Z - Integrated by Design
IBM DS8880 and IBM Z - Integrated by DesignStefan Lein
 
Linux - Hedi Magroun - AUF - 2008
Linux -  Hedi Magroun - AUF - 2008Linux -  Hedi Magroun - AUF - 2008
Linux - Hedi Magroun - AUF - 2008Hedi Magroun
 
Gpfs introandsetup
Gpfs introandsetupGpfs introandsetup
Gpfs introandsetupasihan
 
SIP-to-SIP Connections on a Cisco Unified Border Element
SIP-to-SIP Connections on a Cisco Unified Border ElementSIP-to-SIP Connections on a Cisco Unified Border Element
SIP-to-SIP Connections on a Cisco Unified Border ElementLong Nguyen
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLOlivier DASINI
 
Monitoramento de ativos com zabbix
Monitoramento de ativos com zabbixMonitoramento de ativos com zabbix
Monitoramento de ativos com zabbixRafael Gomes
 
Qlik Replicate のインストール
Qlik Replicate のインストールQlik Replicate のインストール
Qlik Replicate のインストールQlikPresalesJapan
 
Monitoramento Enterprise com Zabbix+RHEL
Monitoramento Enterprise com Zabbix+RHELMonitoramento Enterprise com Zabbix+RHEL
Monitoramento Enterprise com Zabbix+RHELAlessandro Silva
 
Redis on Kubernetes
Redis on KubernetesRedis on Kubernetes
Redis on KubernetesIdan Atias
 

La actualidad más candente (20)

Software update for embedded systems
Software update for embedded systemsSoftware update for embedded systems
Software update for embedded systems
 
Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5
 
2019 Pure Storage Top Ten Benefits
2019 Pure Storage Top Ten Benefits2019 Pure Storage Top Ten Benefits
2019 Pure Storage Top Ten Benefits
 
EMC Vnx master-presentation
EMC Vnx master-presentationEMC Vnx master-presentation
EMC Vnx master-presentation
 
Vagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptopVagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptop
 
Infrastructure automation using awx ansible tower
Infrastructure automation using awx ansible towerInfrastructure automation using awx ansible tower
Infrastructure automation using awx ansible tower
 
Aci presentation
Aci presentationAci presentation
Aci presentation
 
Introduction to Linux
Introduction to LinuxIntroduction to Linux
Introduction to Linux
 
Db2 analytics accelerator technical update
Db2 analytics accelerator  technical updateDb2 analytics accelerator  technical update
Db2 analytics accelerator technical update
 
[IBM 서버] 노후서버는 왜 교체해야 하는가
[IBM 서버] 노후서버는 왜 교체해야 하는가[IBM 서버] 노후서버는 왜 교체해야 하는가
[IBM 서버] 노후서버는 왜 교체해야 하는가
 
Android for Embedded Linux Developers
Android for Embedded Linux DevelopersAndroid for Embedded Linux Developers
Android for Embedded Linux Developers
 
IBM DS8880 and IBM Z - Integrated by Design
IBM DS8880 and IBM Z - Integrated by DesignIBM DS8880 and IBM Z - Integrated by Design
IBM DS8880 and IBM Z - Integrated by Design
 
Linux - Hedi Magroun - AUF - 2008
Linux -  Hedi Magroun - AUF - 2008Linux -  Hedi Magroun - AUF - 2008
Linux - Hedi Magroun - AUF - 2008
 
Gpfs introandsetup
Gpfs introandsetupGpfs introandsetup
Gpfs introandsetup
 
SIP-to-SIP Connections on a Cisco Unified Border Element
SIP-to-SIP Connections on a Cisco Unified Border ElementSIP-to-SIP Connections on a Cisco Unified Border Element
SIP-to-SIP Connections on a Cisco Unified Border Element
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
 
Monitoramento de ativos com zabbix
Monitoramento de ativos com zabbixMonitoramento de ativos com zabbix
Monitoramento de ativos com zabbix
 
Qlik Replicate のインストール
Qlik Replicate のインストールQlik Replicate のインストール
Qlik Replicate のインストール
 
Monitoramento Enterprise com Zabbix+RHEL
Monitoramento Enterprise com Zabbix+RHELMonitoramento Enterprise com Zabbix+RHEL
Monitoramento Enterprise com Zabbix+RHEL
 
Redis on Kubernetes
Redis on KubernetesRedis on Kubernetes
Redis on Kubernetes
 

Destacado

REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTERREPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTEREduardo Schenker
 
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison Severalnines
 
la perra iris
la perra irisla perra iris
la perra irisiri2006
 
Antología de cuentos
Antología de cuentosAntología de cuentos
Antología de cuentosjosobu
 
Robert Schloegl at BASF Science Symposium 2015
Robert Schloegl at BASF Science Symposium 2015Robert Schloegl at BASF Science Symposium 2015
Robert Schloegl at BASF Science Symposium 2015BASF
 
Mda Consulting S E A Presentation Feb 2012
Mda Consulting S E A  Presentation Feb 2012Mda Consulting S E A  Presentation Feb 2012
Mda Consulting S E A Presentation Feb 2012Luca Vianelli
 
petroleo artificial
petroleo artificial petroleo artificial
petroleo artificial Francy Isaza
 
Seminario magneto terapia libro
Seminario magneto terapia libroSeminario magneto terapia libro
Seminario magneto terapia libroNostrumSport
 
Oga gloria mendez y marlen espinel
Oga gloria mendez  y marlen espinelOga gloria mendez  y marlen espinel
Oga gloria mendez y marlen espinelAlejandro Acevedo
 
El Carbono Social - Microsol - Por: Nadia Wagner
El Carbono Social - Microsol -  Por: Nadia WagnerEl Carbono Social - Microsol -  Por: Nadia Wagner
El Carbono Social - Microsol - Por: Nadia WagnerLibelula
 
Viking K 1900-3 - Door Entry Dialer 250 apt
Viking K 1900-3 - Door Entry Dialer 250 aptViking K 1900-3 - Door Entry Dialer 250 apt
Viking K 1900-3 - Door Entry Dialer 250 aptlcdtcorp
 
Stora Enso at Interpack 2011: Primeforma
Stora Enso at Interpack 2011: PrimeformaStora Enso at Interpack 2011: Primeforma
Stora Enso at Interpack 2011: PrimeformaStora Enso
 
Mapa conceptual interoperabilidad
Mapa conceptual interoperabilidadMapa conceptual interoperabilidad
Mapa conceptual interoperabilidadgleiyerithroa
 
Buenagente noviembre 2011.
Buenagente noviembre 2011.Buenagente noviembre 2011.
Buenagente noviembre 2011.cristinamoreubi
 

Destacado (20)

REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTERREPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
REPORTE INSTALACIÓN Y CONFIGURACIÓN DEL MySQL CLUSTER
 
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
 
la perra iris
la perra irisla perra iris
la perra iris
 
Antología de cuentos
Antología de cuentosAntología de cuentos
Antología de cuentos
 
Robert Schloegl at BASF Science Symposium 2015
Robert Schloegl at BASF Science Symposium 2015Robert Schloegl at BASF Science Symposium 2015
Robert Schloegl at BASF Science Symposium 2015
 
Historia16
Historia16Historia16
Historia16
 
bikram
bikrambikram
bikram
 
Mda Consulting S E A Presentation Feb 2012
Mda Consulting S E A  Presentation Feb 2012Mda Consulting S E A  Presentation Feb 2012
Mda Consulting S E A Presentation Feb 2012
 
International
InternationalInternational
International
 
petroleo artificial
petroleo artificial petroleo artificial
petroleo artificial
 
Seminario magneto terapia libro
Seminario magneto terapia libroSeminario magneto terapia libro
Seminario magneto terapia libro
 
Oga gloria mendez y marlen espinel
Oga gloria mendez  y marlen espinelOga gloria mendez  y marlen espinel
Oga gloria mendez y marlen espinel
 
El Carbono Social - Microsol - Por: Nadia Wagner
El Carbono Social - Microsol -  Por: Nadia WagnerEl Carbono Social - Microsol -  Por: Nadia Wagner
El Carbono Social - Microsol - Por: Nadia Wagner
 
Indian cg
Indian cgIndian cg
Indian cg
 
Viking K 1900-3 - Door Entry Dialer 250 apt
Viking K 1900-3 - Door Entry Dialer 250 aptViking K 1900-3 - Door Entry Dialer 250 apt
Viking K 1900-3 - Door Entry Dialer 250 apt
 
Stora Enso at Interpack 2011: Primeforma
Stora Enso at Interpack 2011: PrimeformaStora Enso at Interpack 2011: Primeforma
Stora Enso at Interpack 2011: Primeforma
 
Mapa conceptual interoperabilidad
Mapa conceptual interoperabilidadMapa conceptual interoperabilidad
Mapa conceptual interoperabilidad
 
Buenagente noviembre 2011.
Buenagente noviembre 2011.Buenagente noviembre 2011.
Buenagente noviembre 2011.
 
Uso responsable alcohol arba feb2012
Uso responsable alcohol arba feb2012Uso responsable alcohol arba feb2012
Uso responsable alcohol arba feb2012
 
2011 Nissan Quest Specs
2011 Nissan Quest Specs2011 Nissan Quest Specs
2011 Nissan Quest Specs
 

Similar a MySQL Cluster: El ‘qué’ y el ‘cómo’.

Integración de Oracle Data Integrator con Oracle GoldenGate 12c
Integración de Oracle Data Integrator  con Oracle GoldenGate 12cIntegración de Oracle Data Integrator  con Oracle GoldenGate 12c
Integración de Oracle Data Integrator con Oracle GoldenGate 12cEdelweiss Kammermann
 
24 HOP edición Español - Optimizacion de motores sql server desde el codigo h...
24 HOP edición Español - Optimizacion de motores sql server desde el codigo h...24 HOP edición Español - Optimizacion de motores sql server desde el codigo h...
24 HOP edición Español - Optimizacion de motores sql server desde el codigo h...SpanishPASSVC
 
Polybase
PolybasePolybase
PolybaseSolidQ
 
Optimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassOptimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassJulián Castiblanco
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5juliomacr
 
Introducción a bases de datos en memoria oltp
Introducción a bases de datos en memoria oltpIntroducción a bases de datos en memoria oltp
Introducción a bases de datos en memoria oltpEliana Caraballo
 
Mejores prácticas de SQL Server para Sharepoint
Mejores prácticas de SQL Server para SharepointMejores prácticas de SQL Server para Sharepoint
Mejores prácticas de SQL Server para SharepointdbLearner
 
Web cast de optimización Sql Server - Arquitectura
Web cast de optimización Sql Server - ArquitecturaWeb cast de optimización Sql Server - Arquitectura
Web cast de optimización Sql Server - ArquitecturaJOSE AHIAS LOPEZ PORTILLO
 
Consideraciones de hardware para SQL Server
Consideraciones de hardware para SQL ServerConsideraciones de hardware para SQL Server
Consideraciones de hardware para SQL ServerEduardo Castro
 
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfTabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfMIGUELANGELDORADOJAR
 
Kit de videovigilancia para pequeños Negocios
Kit de videovigilancia para pequeños NegociosKit de videovigilancia para pequeños Negocios
Kit de videovigilancia para pequeños NegociosTRENDnet
 
Ciclo webinars avanttic - Actualiza tu base de datos Oracle (3/3) "Conducción...
Ciclo webinars avanttic - Actualiza tu base de datos Oracle (3/3) "Conducción...Ciclo webinars avanttic - Actualiza tu base de datos Oracle (3/3) "Conducción...
Ciclo webinars avanttic - Actualiza tu base de datos Oracle (3/3) "Conducción...avanttic Consultoría Tecnológica
 
Charla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productosCharla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productosRonald Francisco Vargas Quesada
 

Similar a MySQL Cluster: El ‘qué’ y el ‘cómo’. (20)

Integración de Oracle Data Integrator con Oracle GoldenGate 12c
Integración de Oracle Data Integrator  con Oracle GoldenGate 12cIntegración de Oracle Data Integrator  con Oracle GoldenGate 12c
Integración de Oracle Data Integrator con Oracle GoldenGate 12c
 
24 HOP edición Español - Optimizacion de motores sql server desde el codigo h...
24 HOP edición Español - Optimizacion de motores sql server desde el codigo h...24 HOP edición Español - Optimizacion de motores sql server desde el codigo h...
24 HOP edición Español - Optimizacion de motores sql server desde el codigo h...
 
Polybase
PolybasePolybase
Polybase
 
Optimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassOptimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL Pass
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5
 
Oracle GG presentacion
Oracle GG presentacionOracle GG presentacion
Oracle GG presentacion
 
Introducción a bases de datos en memoria oltp
Introducción a bases de datos en memoria oltpIntroducción a bases de datos en memoria oltp
Introducción a bases de datos en memoria oltp
 
Optimiza tus queries desde abajo
Optimiza tus queries desde abajoOptimiza tus queries desde abajo
Optimiza tus queries desde abajo
 
Mejores prácticas de SQL Server para Sharepoint
Mejores prácticas de SQL Server para SharepointMejores prácticas de SQL Server para Sharepoint
Mejores prácticas de SQL Server para Sharepoint
 
Web cast de optimización Sql Server - Arquitectura
Web cast de optimización Sql Server - ArquitecturaWeb cast de optimización Sql Server - Arquitectura
Web cast de optimización Sql Server - Arquitectura
 
avanttic - webinar: Oracle Database 12c (24-03-2015)
avanttic - webinar: Oracle Database 12c (24-03-2015)avanttic - webinar: Oracle Database 12c (24-03-2015)
avanttic - webinar: Oracle Database 12c (24-03-2015)
 
Meetup Oracle Database MAD_BCN: 5 GDPR en profundidad
Meetup Oracle Database MAD_BCN: 5 GDPR en profundidadMeetup Oracle Database MAD_BCN: 5 GDPR en profundidad
Meetup Oracle Database MAD_BCN: 5 GDPR en profundidad
 
Consideraciones de hardware para SQL Server
Consideraciones de hardware para SQL ServerConsideraciones de hardware para SQL Server
Consideraciones de hardware para SQL Server
 
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfTabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
 
Kit de videovigilancia para pequeños Negocios
Kit de videovigilancia para pequeños NegociosKit de videovigilancia para pequeños Negocios
Kit de videovigilancia para pequeños Negocios
 
Ciclo webinars avanttic - Actualiza tu base de datos Oracle (3/3) "Conducción...
Ciclo webinars avanttic - Actualiza tu base de datos Oracle (3/3) "Conducción...Ciclo webinars avanttic - Actualiza tu base de datos Oracle (3/3) "Conducción...
Ciclo webinars avanttic - Actualiza tu base de datos Oracle (3/3) "Conducción...
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Charla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productosCharla técnica comercial v3.0 junio 2014 db visit productos
Charla técnica comercial v3.0 junio 2014 db visit productos
 
In-Memory OLTP en SQL Server 2014
In-Memory OLTP en SQL Server 2014In-Memory OLTP en SQL Server 2014
In-Memory OLTP en SQL Server 2014
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 

Más de Keith Hollman

MySQL Enterprise Backup - BnR Scenarios
MySQL Enterprise Backup - BnR ScenariosMySQL Enterprise Backup - BnR Scenarios
MySQL Enterprise Backup - BnR ScenariosKeith Hollman
 
Moodle Moot Spain: Moodle Available and Scalable with MySQL HA - InnoDB Clust...
Moodle Moot Spain: Moodle Available and Scalable with MySQL HA - InnoDB Clust...Moodle Moot Spain: Moodle Available and Scalable with MySQL HA - InnoDB Clust...
Moodle Moot Spain: Moodle Available and Scalable with MySQL HA - InnoDB Clust...Keith Hollman
 
MySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoMySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoKeith Hollman
 
MySQL Technology Overview
MySQL Technology OverviewMySQL Technology Overview
MySQL Technology OverviewKeith Hollman
 
MySQL 8.0 Released Update
MySQL 8.0 Released UpdateMySQL 8.0 Released Update
MySQL 8.0 Released UpdateKeith Hollman
 
MySQL Enterprise Edition - Complete Guide (2019)
MySQL Enterprise Edition - Complete Guide (2019)MySQL Enterprise Edition - Complete Guide (2019)
MySQL Enterprise Edition - Complete Guide (2019)Keith Hollman
 
MySQL 8.0 InnoDB Cluster demo
MySQL 8.0 InnoDB Cluster demoMySQL 8.0 InnoDB Cluster demo
MySQL 8.0 InnoDB Cluster demoKeith Hollman
 
MySQL NoSQL JSON JS Python "Document Store" demo
MySQL NoSQL JSON JS Python "Document Store" demoMySQL NoSQL JSON JS Python "Document Store" demo
MySQL NoSQL JSON JS Python "Document Store" demoKeith Hollman
 
MySQL Replication: Demo Réplica en Español
MySQL Replication: Demo Réplica en EspañolMySQL Replication: Demo Réplica en Español
MySQL Replication: Demo Réplica en EspañolKeith Hollman
 
Meb Backup & Recovery Performance
Meb Backup & Recovery PerformanceMeb Backup & Recovery Performance
Meb Backup & Recovery PerformanceKeith Hollman
 
MySQL Una Introduccion Tecnica
MySQL Una Introduccion TecnicaMySQL Una Introduccion Tecnica
MySQL Una Introduccion TecnicaKeith Hollman
 
MySQL Enterprise Backup: PITR Partial Online Recovery
MySQL Enterprise Backup: PITR Partial Online RecoveryMySQL Enterprise Backup: PITR Partial Online Recovery
MySQL Enterprise Backup: PITR Partial Online RecoveryKeith Hollman
 
A MySQL Odyssey - A Blackhole Crossover
A MySQL Odyssey - A Blackhole CrossoverA MySQL Odyssey - A Blackhole Crossover
A MySQL Odyssey - A Blackhole CrossoverKeith Hollman
 
Embracing Database Diversity: The New Oracle / MySQL DBA - UKOUG
Embracing Database Diversity: The New Oracle / MySQL DBA -   UKOUGEmbracing Database Diversity: The New Oracle / MySQL DBA -   UKOUG
Embracing Database Diversity: The New Oracle / MySQL DBA - UKOUGKeith Hollman
 

Más de Keith Hollman (14)

MySQL Enterprise Backup - BnR Scenarios
MySQL Enterprise Backup - BnR ScenariosMySQL Enterprise Backup - BnR Scenarios
MySQL Enterprise Backup - BnR Scenarios
 
Moodle Moot Spain: Moodle Available and Scalable with MySQL HA - InnoDB Clust...
Moodle Moot Spain: Moodle Available and Scalable with MySQL HA - InnoDB Clust...Moodle Moot Spain: Moodle Available and Scalable with MySQL HA - InnoDB Clust...
Moodle Moot Spain: Moodle Available and Scalable with MySQL HA - InnoDB Clust...
 
MySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoMySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & Demo
 
MySQL Technology Overview
MySQL Technology OverviewMySQL Technology Overview
MySQL Technology Overview
 
MySQL 8.0 Released Update
MySQL 8.0 Released UpdateMySQL 8.0 Released Update
MySQL 8.0 Released Update
 
MySQL Enterprise Edition - Complete Guide (2019)
MySQL Enterprise Edition - Complete Guide (2019)MySQL Enterprise Edition - Complete Guide (2019)
MySQL Enterprise Edition - Complete Guide (2019)
 
MySQL 8.0 InnoDB Cluster demo
MySQL 8.0 InnoDB Cluster demoMySQL 8.0 InnoDB Cluster demo
MySQL 8.0 InnoDB Cluster demo
 
MySQL NoSQL JSON JS Python "Document Store" demo
MySQL NoSQL JSON JS Python "Document Store" demoMySQL NoSQL JSON JS Python "Document Store" demo
MySQL NoSQL JSON JS Python "Document Store" demo
 
MySQL Replication: Demo Réplica en Español
MySQL Replication: Demo Réplica en EspañolMySQL Replication: Demo Réplica en Español
MySQL Replication: Demo Réplica en Español
 
Meb Backup & Recovery Performance
Meb Backup & Recovery PerformanceMeb Backup & Recovery Performance
Meb Backup & Recovery Performance
 
MySQL Una Introduccion Tecnica
MySQL Una Introduccion TecnicaMySQL Una Introduccion Tecnica
MySQL Una Introduccion Tecnica
 
MySQL Enterprise Backup: PITR Partial Online Recovery
MySQL Enterprise Backup: PITR Partial Online RecoveryMySQL Enterprise Backup: PITR Partial Online Recovery
MySQL Enterprise Backup: PITR Partial Online Recovery
 
A MySQL Odyssey - A Blackhole Crossover
A MySQL Odyssey - A Blackhole CrossoverA MySQL Odyssey - A Blackhole Crossover
A MySQL Odyssey - A Blackhole Crossover
 
Embracing Database Diversity: The New Oracle / MySQL DBA - UKOUG
Embracing Database Diversity: The New Oracle / MySQL DBA -   UKOUGEmbracing Database Diversity: The New Oracle / MySQL DBA -   UKOUG
Embracing Database Diversity: The New Oracle / MySQL DBA - UKOUG
 

Último

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 

Último (20)

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 

MySQL Cluster: El ‘qué’ y el ‘cómo’.

  • 1. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | MySQL Cluster: El ‘qué’ y el ‘cómo’. Keith Hollman Principal Sales Consultant EMEA MySQL keith.hollman@oracle.com
  • 2. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Agenda 1 2 3 Introducción Empezando: configuración/instalación/inicio/parada La forma más sencilla: Cluster Manager. 2
  • 3. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle MySQL Soluciones de Alta Disponibilidad & Sharding MySQL Replication MySQL Fabric Oracle VM Template Oracle Clusterware Solaris Cluster Windows Cluster DRBD MySQL Cluster App Auto-Failover ✖ ✔ ✔ ✔ ✔ ✔ ✔ ✔ Data Layer Auto-Failover ✖ ✔ ✔ ✔ ✔ ✔ ✔ ✔ Zero Data Loss MySQL 5.7 MySQL 5.7 ✔ ✔ ✔ ✔ ✔ ✔ Platform Support All All Linux Linux Solaris Windows Linux All Clustering Mode Master + Slaves Master + Slaves Active/Passi ve Active/Passive Active/Pas sive Active/Passiv e Active/Pas sive Multi- Master Failover Time N/A Secs Secs + Secs + Secs + Secs + Secs + < 1 Sec Scale-out Reads ✔ ✖ ✖ ✖ ✖ ✖ ✔ Cross-shard operations N/A ✖ N/A N/A N/A N/A N/A ✔ Transparent routing ✖ For HA ✔ ✔ ✔ ✔ ✔ ✔ Shared Nothing ✔ ✔ ✖ ✖ ✖ ✖ ✔ ✔ Storage Engine InnoDB+ InnoDB+ InnoDB+ InnoDB+ InnoDB+ InnoDB+ InnoDB+ NDB Single Vendor Support ✔ ✔ ✔ ✔ ✔ ✖ ✔ ✔
  • 4. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Cuando pensar en MySQL Cluster • ¿Cuáles son las consecuencias de una parada o de una caída en el rendimiento? • ¿Cuánto esfuerzo y dinero se invierte en el desarrollo de las aplicaciones y en la gestión de la infrastructura HA? • Estás pensando en hacer sharding en la base de datos para poder escalar las escrituras y ganar en rendimiento. ¿Y ésto cómo afecta a tu aplicación y desarrolladores? • ¿Tus servicios necesitan ser real-time? • ¿Los servicios que ofreces tienen un crecimiento predicible, sobretodo en escrituras? • ¿Quieres la flexibilidad de acceder a tus datos con algo más que SQL? 4
  • 5. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Cuando NO pensar en MySQL Cluster • La mayoría de las aplicaciones de terceros. • Transacciones laragas. • Índices geospaciales. • Volumenes de datos grandes (>2TB) • Accesos complejos al dato y muchos Full Scans de tablas. •Cuando necesitas una base de datos basado en el almacenamiento en disco, ej. InnoDB. 5
  • 6. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Introducción a MySQL Cluster 6
  • 7. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | La historia de MySQL Cluster ”NDB” • MySQL Cluster también conocido como la Network DataBase NDB • Diseñado / desarrollado en Ericcson a finales de los 90. • Documento original de diseño: ”Design and Modeling of a Parallel Data Server for Telecom Applications” del año 1997 por Michael Ronström • Originalmente escrito en PLEX (Programming Language for EXchanges) pero convertido luego a C++. • MySQL AB adquirió Alzato (cuyo propietario era Ericsson) final del 2003. La base de datos en red / ”The Network DataBase NDB”
  • 8. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | La historia de MySQL Cluster ”NDB” • Servicios de bases de datos en aquel entonces: – SCP/SDP (Service Control/Data Point) en Redes Inteligentes. – HLR (Home Location Register) para mantener el control sobre los teléfonos móbiles / usuarios. – Bases de datos para gestión de redes, sobretodo información de cobro al instante (real-time charging). La base de datos en red / ”The Network DataBase NDB”
  • 9. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | La historia de MySQL Cluster ”NDB” • Se diseñó NDB para: – Fiabilidad, la clase de disponibilidad de las bases de datos telco’s debería ser 6. Esto significa que cualquier parada tiene que ser menos de 30 segundos por año. Significa que no se permite paradas no-planificadas. – Rendimiento, diseñado con alta concurrencia en mente, escalabilidad lineal cuando añadiendo servidores (data nodes) para accesos sencillos (búsquedas por PK). – Tiempo real (real-time), los datos se guardan en memoria y el sistema está diseñado para realizar operaciones en memoria. La base de datos en red / ”The Network DataBase NDB”
  • 10. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | MySQL Cluster resumido
  • 11. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | MySQL Cluster: Los Componentes 11 NDB API (Aplicaciones) Data Node (Almacenamiento de datos) MGM Node (Gestión) SQL Node (Aplicaciones) • Interfaz estándar de SQL • Escalabilidad horizontal para mejoras del rendimiento. • Habilita la Replica Geográfica. • Real-time applications. • APIs C++/Java • Failover y balanceo de carga automática. • Almacenamiento de datos (en Memoria y en Disco). • Particionamiento de datos Automática y Customizado. • Escalabilidad horizontal para aumentar capacidad y rendimiento. • Gestión, Monitorización y Configuración. • Árbitro en situaciones de split brain/red particionada. •Logs del Cluster .
  • 12. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Data Nodes • Almacena datos e índices – En memoria – Datos no-indexados posibles en disco. – Contiene varios bloques, los mas importantes, LQH, TUP, ACC y TC. • Check points de los datos realizados a disco “LCP”. • Coordinación de Transacciones. • Gestiona fail-over • Realiza los backups online • Todos conectados entre sí. • Hasta 48 – Típicamente 2, 4.
  • 13. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Management Nodes • Distribuyen la configuración • Logging • Monitorización • Hace de Árbitro – Impede escenarios de split-brain • Cuando no está en funcionamiento, Cluster sigue. – Se necesita para iniciar otros • 1 es lo mínimo, 3 demasiados, 2 perfecto.
  • 14. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | API Nodes • Aplicaciones escritos utilizando NDB API – C/C++/Java • Rápido – No parsea SQL • Ejemplos: – El storage engine NDBCluster – ndb_restore
  • 15. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | SQL Nodes • Es MySQL con el motor NDBCluster. – Es un API Node a la misma vez. • Transparente para la mayoría de las aplicaciones. • Se usa para crear tablas. • Se usa para Replica Geográfica – Guarda todos los cambios en Bin logs • Puede ser un Árbitro. • Conecta a todos los Data Nodes
  • 16. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Arquitectura MySQL Cluster Data Nodes Clientes Capa Aplicaciones Capa de Datos Gestión
  • 17. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Escalando horizontalmente MySQL Cluster Data Nodes Clientes Capa Aplicaciones Capa de Datos Gestión
  • 18. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | MySQL Cluster – Resistencia Extrema MySQL Cluster Data Nodes Clientes Capa Aplicaciones Capa de Datos Gestión
  • 19. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Particionamiento I • Particionamiento Vertical - 1:1 tablas a reducir el tamaño de las filas, tablas e índices. • Particionamiento Horizontal - 1 Tabla separación en múltiples tablas con filas diferentes.
  • 20. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | p1 p2 p1 p2 p3 Particionamiento de Datos II • Se particionan los datos por Primary Key por defecto. • Valor HASH de la PK, sólo es selectivo si se proporciona la PK completa, no “la columna más a la izquierda”. • Hash lineal, los datos sólo están desplazados (impacto bajo al hacer un “reorganize”).
  • 21. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Data Node 1 Data Node 2 Data Node 3 Data Node 4- Una partición es una parte de la tabla - Número de particiónes = número de data nodes - Particionamiento horizontal Tabla T1 ID FirstName LastName Email Phone P2 P3 P4 Px Partición P1 Particionamiento de Datos Automático
  • 22. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Data Node 1 Data Node 2 Data Node 3 Data Node 4Un fragmento es una partición Número de fragmentos = # de particiónes * # de replicas Tabla T1 ID FirstName LastName Email Phone P2 P3 P4 Px Partición P1 Particionamiento de Datos Automático
  • 23. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Data Node 1 Data Node 2 Data Node 3 Data Node 4Un fragmento puede ser primario o secondario / backup Número de fragmentos = # de particiones * # de replicas Tabla T1 ID FirstName LastName Email Phone P2 P3 P4 Px Partición 4 Particiones * 2 Replicas = 8 Fragmentos P1 Particionamiento de Datos Automático
  • 24. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Data Node 1 Data Node 2 F1 Primer Fragmento Segundo Fragmento Data Node 3 Data Node 4Fx Fx Tabla T1 ID FirstName LastName Email Phone P2 P3 P4 Px Partición 4 Particiones * 2 Replicas = 8 Fragmentos P1 Particionamiento de Datos Automático
  • 25. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Data Node 1 Data Node 2 F1 Primer Fragmento Segundo Fragmento F1 Data Node 3 Data Node 4Fx Fx Tabla T1 ID FirstName LastName Email Phone P2 P3 P4 Px Partición 4 Particiones * 2 Replicas = 8 Fragmentos P1 Particionamiento de Datos Automático
  • 26. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Data Node 1 Data Node 2 F1 Primer Fragmento Segundo Fragmento F3 F1 Data Node 3 Data Node 4Fx Fx Tabla T1 ID FirstName LastName Email Phone P2 P3 P4 Px Partición 4 Particiones * 2 Replicas = 8 Fragmentos P1 Particionamiento de Datos Automático
  • 27. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Data Node 1 Data Node 2 F1 F3 Primer Fragmento Segundo Fragmento F3 F1 Data Node 3 Data Node 4Fx Fx Tabla T1 ID FirstName LastName Email Phone P2 P3 P4 Px Partición 4 Particiones * 2 Replicas = 8 Fragmentos P1 Particionamiento de Datos Automático
  • 28. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Data Node 1 Data Node 2 F1 F3 Primer Fragmento Segundo Fragmento F3 F1 Data Node 3 Data Node 4 F2 Fx Fx Tabla T1 ID FirstName LastName Email Phone P2 P3 P4 Px Partición 4 Particiones * 2 Replicas = 8 Fragmentos P1 Particionamiento de Datos Automático
  • 29. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Data Node 1 Data Node 2 F1 F3 Primer Fragmento Segundo Fragmento F3 F1 Data Node 3 Data Node 4 F2 F2 Fx Fx Tabla T1 ID FirstName LastName Email Phone P2 P3 P4 Px Partición 4 Particiones * 2 Replicas = 8 Fragmentos P1 Particionamiento de Datos Automático
  • 30. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Data Node 1 Data Node 2 F1 F3 Primer Fragmento Segundo Fragmento F3 F1 Data Node 3 Data Node 4 F2 F4 F2 4 Particiones * 2 Replicas = 8 Fragmentos Fx Fx Tabla T1 ID FirstName LastName Email Phone P2 P3 P4 Px Partición P1 Particionamiento de Datos Automático
  • 31. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Data Node 1 Data Node 2 F1 F3 Primer Fragmento Segundo Fragmento F3 F1 Data Node 3 Data Node 4 F2 F4 F4 F2 Fx Fx Tabla T1 ID FirstName LastName Email Phone P2 P3 P4 Px Partición 4 Particiones * 2 Replicas = 8 Fragmentos P1 Particionamiento de Datos Automático
  • 32. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Data Node 1 Data Node 2 F3 Primer Fragmento Segundo Fragmento F1 Data Node 3 Data Node 4 F2 F4 F4 F2 Node Group 1 Fx Fx Tabla T1 ID FirstName LastName Email Phone P2 P3 P4 Px Partición 4 Particiones * 2 Replicas = 8 Fragmentos P1 F1 F3 Particionamiento de Datos Automático
  • 33. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Data Node 1 Data Node 2 F1 F3 Primer Fragmento Segundo Fragmento F3 F1 Data Node 3 Data Node 4 F2 F4 F4 F2 Node Group 1 Node Group 2 Fx Fx -Los node groups se crean automáticamente - # de grupos = # de data nodes / # de replicas Tabla T1 ID FirstName LastName Email Phone P2 P3 P4 Px Partición 4 Particiones * 2 Replicas = 8 Fragmentos P1 Particionamiento de Datos Automático
  • 34. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Data Node 1 Data Node 2 F1 F3 Primer Fragmento Segundo Fragmento F3 F1 Data Node 3 Data Node 4 F2 F4 F4 F2 Node Group 1 Node Group 2 Fx Fx Mientras que haya un data node funcionando en cada node group, tenemos una copia completa de los datos. Tabla T1 ID FirstName LastName Email Phone P2 P3 P4 Px Partición 4 Particiones * 2 Replicas = 8 Fragmentos P1 Particionamiento de Datos Automático
  • 35. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Data Node 1 Data Node 2 F1 F3 Primer Fragmento Segundo Fragmento F3 F1 Data Node 3 Data Node 4 F2 F4 F4 F2 Node Group 1 Node Group 2 Fx Fx Tabla T1 ID FirstName LastName Email Phone P2 P3 P4 Px Partición 4 Particiones * 2 Replicas = 8 Fragmentos P1 Particionamiento de Datos Automático Mientras que haya un data node funcionando en cada node group, tenemos una copia completa de los datos.
  • 36. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Data Node 1 Data Node 2 F1 F3 Primer Fragmento Segundo Fragmento F3 F1 Data Node 3 Data Node 4 F2 F4 F4 F2 Node Group 1 Node Group 2 Fx Fx Tabla T1 ID FirstName LastName Email Phone P2 P3 P4 Px Partición 4 Particiones * 2 Replicas = 8 Fragmentos P1 Particionamiento de Datos Automático Mientras que haya un data node funcionando en cada node group, tenemos una copia completa de los datos.
  • 37. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Tabla T1 Data Node 1 Data Node 2 F1 F3 Primer Fragmento Segundo Fragmento ID FirstName LastName Email Phone P2 P3 P4 Px Partición F3 F1 Data Node 3 Data Node 4 F2 F4 F4 F2 Node Group 1 Node Group 2 4 Particiones * 2 Replicas = 8 Fragmentos Fx Fx - No hay una copia completa de los datos. - El cluster se para automáticamente. P1 Particionamiento de Datos Automático
  • 38. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Particionamiento de Datos III • Partición – Particionamiento Horizontal. – Una parte de una tabla, cada Partición contiene un conjunto de filas. – Número de Particiones == LQH • Replica – Una copia completa de los datos. • Node Group – Creado automáticamente – # de grupos = # de data nodes / # de replicas – Mientras que haya un data node funcionando en cada node group, tenemos una copia completa de los datos.
  • 39. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Agenda 1 2 3 Introducción Empezando: configuración/instalación/inicio/parada La forma más sencilla: Cluster Manager. 39
  • 40. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | MySQL Cluster y los tipos de Instalaciones • Community / GPL – http://dev.mysql.com/downloads/cluster • Carrier Grade Edition – http://edelivery.oracle.com – http://support.oracle.com • Tarball – Instalación de manera manual. • RPM, DEB, PKG, DMG, MSI – Paquetes de instalación específicos para el S.O. – Rutas y paquetes (server, client, etc.) específicas. • Código fuente – Compila tu propia versión. • cmake . • make • make install 40
  • 41. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Configuración • Todos los nodos está definidos en el fichero config.ini – Dividido en secciones mediante “[…]”, donde hay secciones para; • Data nodes ndb{mt}d • Management nodes [ndb_mgmd] • MySQL servers [mysqld] • API nodes [ndbapi] • Si se añade ‘default’ al nombre de la sección [ndbd default], los valores se aplican a todos. – Se inicia el Management node con un config.ini. Debería ser el mismo para todos los management nodes del Cluster. • Los MySQL API nodes se configuran tanto en el in config.ini y también en un my.cnf dedicado. 41
  • 42. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Configuración “config.ini” Parámetros típicos • IndexMemory y DataMemory. • Configura MaxNoOfExecutionThreads <= #cores – Si no, podría genera situaciones de contención → comportamiento inesperado. • RedoBuffer=32-64M – Si se tiene que configurar más alto → probablemente los discos sean demasiado lentos. • FragmentLogFileSize=256M • NoOfFragmentLogFiles= 6 x DataMemory (en MB) / (4x 256MB) – Problema más típico – clientes nunca configuran los redo logs lo suficientemente grandes. • Memoria para datos e índices adecuado para el tamaño de las bases de datos /índices. • LockPagesInMainMemory=1 • MaxNoOf*
  • 43. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Configuración Tablas “Disk-based ” • Usa “Disk Data Tables” para: – Accesos simples (lectura/escritura por PK) – Lo mismo que para InnoDB – Puedes empezar a sufrir problemas de E/S si no se vigila (iostat). • Configura DiskPageBufferMemory=3072M – Si se depende mucho de datos en disco, se suele recomenda su uso – igual que el Innodb_Buffer_Pool, pero configúralo lo más alto que se pueda! • Aumenta las posibilidades de que se cachea una página: – SharedGlobalMemory=384M-1024M • UNDO_BUFFER=64M to 128M (Si hay mucha escritura en disco) – ¡No puedes modificar éste buffer después! • Especificado a la hora de crear el LOGFILE GROUP: – DiskIOThreadPool=[ 8 .. 16 ]
  • 44. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Iniciando / Parando config.ini [ndb_mgmd default] ArbitrationRank =1 DataDir =/opt/mysql/746/mgmd_data [ndb_mgmd] hostname =khollman-es NodeId =1 [ndbd default] noofreplicas =2 DataDir =/opt/mysql/746/ndbd_data DataMemory =20M IndexMemory =10M DiskPageBufferMemory =4M StringMemory =5 MaxNoOfConcurrentOperations =2K MaxNoOfConcurrentTransactions =2K SharedGlobalMemory =500K LongMessageBuffer =512K MaxParallelScansPerFragment =16 MaxNoOfAttributes =1000 MaxNoOfTablas =20 MaxNoOfOrderedIndexes =20 ODirect =TRUE HeartbeatIntervalDbDb =500 HeartbeatIntervalDbApi =500 StopOnError =1 TransactionInactiveTimeout =500 TransactionDeadlockDetectionTimeout = 1200 LockPagesInMainMemory =2 [ndbd] hostname =khollman-es datadir =/opt/mysql/746/ndbd_data nodeid =3 [mysqld default] [mysqld] NodeId =10 [mysqld] NodeId =11 [NDBAPI] NodeId =12 [NDBAPI] NodeId =13 44
  • 45. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Iniciando / Parando my.cnf [client] socket =/tmp/mysql_7461.sock [mysql] prompt =R:m d>_ no-beep [mysqld] ndbcluster datadir =/opt/mysql/746/data ndb-connectstring =khollman-es:1186 user =mysql port =7461 socket =/tmp/mysql_7461.sock general-log =1 log-output =FILE log-error =khollman-es_7461.err slow-query-log =1 max_connections =20 innodb_log_buffer_size =8M innodb_buffer_pool_size =64M innodb_log_file_size =16M innodb_flush_log_at_trx_commit =2 innodb_file_per_Tabla =1 innodb_data_home_dir =/opt/mysql/746/data innodb_data_file_path =ibdata1:50M;ibdata2:50M:autoextend [mysql_cluster] ndb-connectstring =khollman-es:1186 45
  • 46. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Iniciando / Parando • La primera vez y cuando cambios en la configuación son necesarios: --INITIAL – Cuando cambia el config.ini, no hay que hacer una parada completa del cluster. Reinicia ndb_mgmd con --INITIAL para limpiar la información cacheada de la configuración. Y luego reiniciar los datanodes (sin --initial). • Iniciando # ndb_mgmd -f config.ini --config-dir=/usr/local/mysql-cluster/conf --INITIAL # ndbd --INITIAL | ndbmtd –c localhost:1186 --INITIAL | ndbd –n (nostart) # scripts/mysql_install_db --defaults-file=my.cnf --user=mysql # mysqld_safe --defaults-file=my.cnf --user=mysql 46
  • 47. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Iniciando / Parando • Iniciando – ndb_mgmd -f config.ini --config-dir=/usr/local/mysql-cluster/conf – ndbd | ndbmtd –c localhost:1186 – mysqld_safe --defaults-file=my.cnf • Parando – ndb_mgm –e shutdown – ndb_mgm –e [mgmt node & datanode] 1 | 3 | 4 stop – ndb_mgm –e [mgmt node & datanode] 1 | 3 | 4 restart – mysqladmin --defaults-file=my.cnf -uroot shutdown 47
  • 48. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Iniciando / Parando nostart ndbmtd --ndb-nodeid=3 –n ndbmtd --ndb-nodeid=4 –n ndb_mgm -e show Cluster configuración --------------------- [ndbd(NDB)] 2 node(s) id=3 @127.0.0.1 (mysql-5.6.17 ndb-7.3.5, not started) id=4 @127.0.0.1 (mysql-5.6.17 ndb-7.3.5, not started) ndb_mgm -e "all start“ ndb_mgm -e show Cluster configuración --------------------- [ndbd(NDB)] 2 node(s) id=3 @127.0.0.1 (mysql-5.6.17 ndb-7.3.5, starting, Nodegroup: 0, *) id=4 @127.0.0.1 (mysql-5.6.17 ndb-7.3.5, starting, Nodegroup: 0) 48
  • 49. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Ficheros de Log • Logs – Management • Datadir: /opt/mysql/746/mgmd_data/ ndb_1_cluster.log / ndb_1_out.log – Datanodes • Datadir: /opt/mysql/746/ndbd_data/ ndb_3_out.log / ndb_3_out.err – SQLNodes • Datadir /opt/mysql/746/data/ hostname.err • Errores – El fichero de log del Cluster ndb_1_cluster.log es el mejor sitio donde empezar a investigar. 49
  • 50. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Agenda 1 2 3 Introducción Empezando: configuración/instalación/inicio/parada La forma más sencilla: Cluster Manager. 50
  • 51. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 51 La forma más sencilla: Cluster Manager
  • 52. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Oracle Premier Lifetime Support Oracle Product Certifications/Integrations MySQL Enterprise Security MySQL Enterprise Scalability MySQL Cluster Manager MySQL Enterprise Monitor/Query Analyzer MySQL Workbench MySQL Enterprise Audit MySQL Enterprise Backup Los niveles más altos de Rendimiento, Seguridad y Disponibilidad.
  • 53. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Potenciando la agilidad de DevOps, Minimizando el Downtime Gestión Automatizada • Iniciar/Parar nodo o todo el cluster. • Crecimiento horizontal online. • Reconfiguración online. • Upgrades online. • Backup & Restore online. • Importar un Cluster en marcha. Auto-recuperable • Monitorización por nodo. • Auto-recuperación se extiende a los sql nodes y management node. Operaciones de Alta Disponibilidad • Configuración consistente de todos los componentes del cluster. • Configuraciónes persistentes. • Agentes de HA.
  • 54. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Manager: Creando un Cluster I • Download MySQL Cluster Manager (MCM) + MySQL Cluster: – MCM 1.3.4, elige el paquete *sin* cluster, que debería ser sobre unos 20Mb (download en https://edelivery.oracle.com/) – MySQL Cluster 7.4.6 (download en http://downloads.mysql.com/archives/get/file/ mysql-cluster-gpl-7.4.6-linux-glibc2.5- x86_64.tar.gz) • Instalar y Configurar MySQL Cluster Manager – Los binarios de MCM y Cluster tienen que estar instalados en todos los servidores donde corre algún proceso NDB. – mkdir MCM – cd MCM – tar xzf /ruta/a/ mcm-1.3.4-linux-glibc2.5-x86-64bit.tar.gz – mv mcm-1.3.4-linux-glibc2.5-x86-64bit/mcm1.3.4 . – rmdir mcm-1.3.4-linux-glibc2.5-x86-64bit.tar.gz – cp mcm1.3.4/etc/mcmd.ini . – (hay que cambiar: manager-directory = /home/<user>/MCM/mcm_data) 54
  • 55. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Manager: Creando un Cluster II • Instalar los binarios Cluster – tar xzf /ruta/a/ mysql-cluster-gpl-7.4.6-linux-glibc2.5-x86_64.tar.gz – mv mysql-cluster-gpl-7.4.6-linux-glibc2.5-x86_64 cluster-746 • iniciar el demonio MCMD (como usuario del s.o. ‘mysql’) – ./mcm1.3.4/bin/mcmd --defaults-file=./mcmd.ini –daemon • Configurar el Cluster – Connect to MCM and configure cluster (only from one site): – Start mcm client: ./mcm1.3.4/bin/mcm – (se necesita en el PATH la ruta del CLI de mysql, ej. /usr/local/mysql/bin/mysql ya que el CLI mcm se basa en él) 55
  • 56. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Manager: Creando un Cluster III mcm> list commands mcm> create site --hosts=127.0.0.1 mysite; mcm> list sites; mcm> list hosts mysite; mcm> add package --basedir=/home/<user>/MCM/cluster-746 cluster746; mcm> list packages mysite; mcm> create cluster --package=cluster746 -- processhosts=ndb_mgmd@127.0.0.1,ndbmtd@127.0.0.1,ndbmtd@1 27.0.0.1 mycluster; mcm> add process -- processhosts=mysqld@127.0.0.1,mysqld@127.0.0.1 mycluster; mcm> add process -- processhosts=ndbapi@127.0.0.1,ndbapi@127.0.0.1 mycluster; mcm> add process -- processhosts=ndbapi@127.0.0.1,ndbapi@127.0.0.1 mycluster; mcm> get -d port:mysqld mycluster; mcm> set port:mysqld:51=3307 mycluster; 56 • Iniciar el Cluster: mcm> show status -r mycluster; mcm> start cluster mycluster; mcm> show status -r mycluster;
  • 57. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Migración de Base de datos en caliente Alternativas • Para que se haga en ‘caliente’, la mejor y única alternativa es un “Rolling Restart”: 1. Parar todos los Cluster Management nodes, sustituyendo el binario ndb_mgmd con la nueva versión y reiniciando. 2. Parar, sustituir y reinicar cada data node, cada uno en turno, uno a uno. 3. Parar, sustituir y reinicar cada sql node, cada uno en turno. – “Sustituir” significa redirigir al software nuevo en el servidor, (bien ln –s, o bien a la ruta directa /absoluta). – “software” significa el nuevo paquete de Cluster, en el formato de “mysql-cluster-gpl-7.4.6-linux- glibc2.5-x86_64.tar.gz”.
  • 58. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Migración de Base de datos en caliente Requisitos • Usar un esclavo replica del MySQL Cluster. – El esclavo puede tener una versión superior al Master. • “Rolling Upgrade” upgrade escalonado. (--initial obligatorio) • Si quieres usar MySQL Cluster Manager: mcm> add package –-basedir=/opt/MCM_LAB/cluster-746 cluster747; mcm> upgrade cluster --package=cluster747 mycluster;
  • 59. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | ¿Cómo ayuda MySQL Cluster Manager? Realizando la actualización de MySQL Cluster 7.0 a 7.4 • 1 x chequeo preliminar del estado del cluster • 8 x comandos ssh por servidor • 8 x comandos “stop” para cada proceso. • 4 x scp del fichero de configuración (2x mgmd y 2x mysqld) • 8 x comandos “start” para cada proceso. • 8 x comprobaciones para los procesos iniciados y los procesos que se unen • 8 verificaciones de éxito a cada proceso • 1 x verificación completa del cluster entero • Excluye el ajuste manual de cada fichero de config Total: 46 comandos - 2.5 horas de operación atendida Antes de MySQL Cluster Manager Con MySQL Cluster Manager upgrade cluster --package=7.4 mycluster; Total: 1 Comando – Operación Desatendida
  • 60. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | MCM: La actualización de Cluster mcm> upgrade cluster --package=cluster747 mycluster;
  • 61. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | http://www.mysql.com/customers/cluster/ • Telecomunicaciones • Subscriber Databases (HLR / HSS) • Service Delivery Platforms • VAS: VoIP, IPTV & VoD • Mobile Content Delivery • Mobile Payments • LTE Access • Web & Enterprise • High volume OLTP • eCommerce • User Profile Management • Session Management & Caching • Content Management • On-Line Gaming MySQL Cluster – Usuarios y Aplicaciones
  • 62. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | COMPANY OVERVIEW • Leading provider of communications platforms, solutions & services • €15.2bn Revenues (2009), 77k employees across 130 countries CHALLENGES / OPPORTUNITIES • Converged services driving migration to next generation HLR / HSS systems • New IMS platforms for Unified Communications • Reduce cost per subscriber and accelerate time to value SOLUTIONS • MySQL Cluster Carrier Grade Edition • MySQL Support & Consulting Services CUSTOMER PERSPECTIVE “MySQL Cluster won the performance test hands-down, and it fitted our needs perfectly. We evaluated shared-disk clustered databases, but the cost would have been at least 10x more.” -- François Leygues, Systems Manager RESULTS • Scale out on standard ATCA hardware to support 60m+ subscribers on a single platform • Low latency, high throughput with 99.999%+ availability • Enabled customers to reduce cost per subscriber and improve margins • Delivered data management solution at 10x less cost than alternatives
  • 63. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | COMPANY OVERVIEW • Leading telecoms provider across Europe and Asia. Largest Nordic provider • 184m subscribers (Q2, 2010) CHALLENGES / OPPORTUNITIES • Extend OSS & BSS platforms for new mobile services and evolution to LTE • OSS: IP Management & AAA • BSS: Subscriber Data Management & Customer Support SOLUTIONS • MySQL Cluster • MySQL Support Services CUSTOMER PERSPECTIVE “Telenor has been using MySQL for fixed IP management since 2003 and are extremely satisfied with its speed, availability and flexibility. Now we also support mobile and LTE IP management with our solution. Telenor has found MySQL Cluster to be the best performing database in the world for our applications.” - Peter Eriksson, Manager, Network Provisioning RESULTS • Launch new services with no downtime, due to on-line operations of MySQL Cluster • Consolidated database supports Subscriber Data Management initiatives • MySQL Cluster selected due to 99.999% availability, real time performance and linear scalability on commodity hardware
  • 64. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Alguna Pregunta?
  • 65. Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | Siguientes Pasos 65 Aprender más: • www.mysql.com/cluster • MySQL Curriculum: http://oracle.com/education/mysql Pruébame: • dev.mysql.com/downloads/cluster/ Dejadnos saber que opinas: • forums.mysql.com/list.php?25 • keith.hollman@oracle.com