Percona Live 17 - Open Source Databases Conference #
Day Two #
Galera Cluster Data Consistency #
Nuevamente si tenes Master-Slaves casi no hay problemas, si usas
Multiples Masters es problematico y quedo claro porque un nodo de
Galera/PXC ni bien detecta una inconsistencia deja de escribir y se
suicida (kill -9
) y la única manera de volver es de una copia completa
(como agregar un nodo nuevo), aunque si es un slave y a tu aplicación no
le molesta mucho la integridad podés ponerlo en modo read-only que siga
devolviendo SELECT
:)
Optimizing MySQL without SQL or touching my.cnf
#
Un flaco de Dropbox contando que tenian 1000 MySQLs, que se creaban 1.200.000.000 de archivos por día y había mucha data por manejar y que en lugar de ponerse a tunear MySQL, se pusieron a ver como se comportaba el SO, dieron un par de tuneos simples y efectivos para GNU/Linux pero mostraron su laboratorio perfilando MySQL.
Primero vieron que TCPWrapper hace un montón de syscalls revisando
/etc/hosts.deny
y /etc/hosts.accept
para comprorar si el host que
se esta conectado tiene permiso para hacerlo, esto es un legacy y
básicamente eliminaron eso del source de la lib y pusieron reglas de
iptables
, como tenían que compilar MySQL.
Empezaron a hacer tests con diferentes compiladores, cgolang
y 2
versiones de gcc
, resulto que la versión mas nueva de gcc
era menos
performante que la vieja, pero que no podían hacer un downgrade, asi
que se pusieron a jugar con todos los parámetros de gcc
para lograr
una excelente performance, básicamente uso de instrucciones modernas
para el hardware con el que contaban y unas optimizaciones locas, entre
otras cosas reemplazaron el código de fastmutex del source de
MySQL por algo mas performante y fast posta.
Y como todos estos tests son fabulosos con unit tests vieron como
simular una carga real, para esto hablo uno de Percona mostrando una
tool pt-query-playback
, que básicamente lee un slow-query y lo
ejecuta y con eso perfilaron y lo usaron de base para recompilar con
gcc
y lograr que sea casi el doble de rápido!
Multi-Site, Multi-Master Done Right #
Estuve poco tiempo porque era muy bonito todo lo que contaban sobre la dificultad de tener replicación multi-continentes pero por lo que entendí es un SaaS (Software as a Service) y en otras charlas le pegaron varios palos porque ofrecen HA y contaban que no siempre funciona el HA :P
Caching your application data with MySQL and TokuDB #
Un par de tanos que descubrieron que tokudb era más rápido que innodb si las tablas no tenían primary key, porque la aplicación genera un uuid y entonces sólo crean el campo id como index (no unique) y combinado con logran responder para un sitio de alto tráfico como lastminute.
Securing your MySQL/MariaDB data #
Vi apenas unos minutos, pero lo esencial sobre permisos en la DB.
ZFS on Linux at Salesforce. A real world example of why Pardot, a Salesforce company, trusts and uses ZoL with their production MySQL servers. #
Llegué al final de esta, logré ver algunos tips de configuración de ZFS como filesystem de MySQL, la mala es que el speaker de Salesforce no tenía autorización para compartir los slides (menos mal que saque fotos)
Bash One-Liners and Other Tools to Simplify MySQL Ops at Scale #
- Web https://www.percona.com/live/17/sessions/bash-one-liners-and-other-tools-simplify-mysql-ops-scale
No podía faltar a esta, si bien de bash
no vi casi nada nuevo, resultó
muy útil algunos ejemplos para interactuar con mysql
, era un developer
de dropbox y tenían unos 450 MySQLs!
Protecting MySQL network traffic #
Como configurar TLS entre cliente y servidor, básicamente [lento pero seguro]{.underline}
Percona XtraDB Cluster 5.7 with ProxySQL for your high availability and clustering needs #
Mas datos sobre ProxySQL + PXC en diferentes escenarios.
Advance Sharding Solution with ProxySQL #
Como construir reglas para reescribir queries on-the-fly para hacer sharding
MyRocks Engineering: deploying a new MySQL storage engine to production at Facebook #
Como laburan en FaceBook haciendo replicas de InnoDB en MyRocks y en TokuDB para que todo funcione rapido y sin downtime
ProxySQL + Orchestrator #
La última fue una de las mejores, no habia slides ni nada preparado, se trato de una charla entre Shlomi Noach 11 desarrollador de Orchestrator 12 y René Cannaò 13 desarrollador de ProxySQL 14 escuchando las sugerencias de la comunidad sobre como debían interactuar estas 2 aplicaciones y fue muy productiva, porque todos tenían diferentes escenarios y necesidades, pero se llego a la conclusión que debían haber 2 opciones: consistencia vs disponibilidad, debido a que ambas herramientas son utilizadas en entornos de alta disponibilidad pero que ante una falla hay que decidir si seguir operando posiblemente con problemas de consistencia o split-brain 15 (lo mas común en entornos multi-master) o pasar a un esquema single-master o incluso readonly hasta ver como resolverlo.
Community Dinner #
Post charlas fue la Community Dinner, donde básicamente le queme la cabeza a varios sobre our cooperative company model :P
Según charlé con uno de los sponsors, esta es la conferencia mas grande sobre open-source-databases y estimaban unos 500 attendees
-
https://www.percona.com/live/17/sessions/galera-cluster-data-consistency ↩︎
-
https://www.percona.com/live/17/sites/default/files/slides/M17_2017_Galera_Conflict_Resolution.pdf ↩︎
-
https://www.percona.com/live/17/sessions/optimizing-mysql-without-sql-or-touching-mycnf ↩︎
-
https://www.percona.com/live/17/sites/default/files/slides/percona.pdf ↩︎
-
https://www.percona.com/live/17/sessions/multi-site-multi-master-done-right ↩︎
-
https://www.percona.com/live/17/sites/default/files/slides/MSMM%20done%20right.pdf ↩︎
-
https://www.percona.com/live/17/sessions/caching-your-application-data-mysql-and-tokudb ↩︎
-
https://www.percona.com/live/17/sites/default/files/slides/PL17-4541.pdf ↩︎
-
https://www.percona.com/live/17/sessions/securing-your-mysqlmariadb-data ↩︎
-
https://www.percona.com/live/17/sites/default/files/slides/pl17-4795.pdf ↩︎