30
MySQL, ¿por qué, cuándo y cómo? Emilio Rafael García Ríos MTS IV SysEngr | Verizon Terremark

MySql, ¿Por qué, cuándo y cómo?

Embed Size (px)

DESCRIPTION

Even though most of my experience with DataBases belongs to Oracle, I have been invited to present MySQL with more than 500 students at the "Autónoma" Peruvian University, on June 26th (2014).

Citation preview

Page 1: MySql, ¿Por qué, cuándo y cómo?

MySQL, ¿por qué,

cuándo y cómo?Emilio Rafael García Ríos

MTS IV – SysEngr | Verizon Terremark

Page 2: MySql, ¿Por qué, cuándo y cómo?

Agenda Presentación

Requisitos

MySQL: Overview

Un poco de historia

Arquitectura de MySQL

MySQL: ¿Por qué?

Filosófico

Estadístico

Técnico

Page 3: MySql, ¿Por qué, cuándo y cómo?

Agenda MySQL: ¿Cuándo?

Rendimiento

Soporte

Costo / Licenciamiento

Estrategia de IT

MySQL: ¿Cómo?

Recomendaciones de Implementación

Algunos problemas comunes

Seguridad

Page 4: MySql, ¿Por qué, cuándo y cómo?

Agenda MySQL y Big Data

Big Data

NoSQL y SiSQL

Control y Cumplimiento

Conclusiones

Referencias

Preguntas

Page 5: MySql, ¿Por qué, cuándo y cómo?

Requisitos OPEN SOURCE

CAP, ACID

SQL, NoSQL

RDBMS

BIG DATA

Page 6: MySql, ¿Por qué, cuándo y cómo?

MySQL: Overview RDBMS

Escrito en C / C++

Diseño multicapa con módulos independientes

Motores de almacenamiento transaccionales o no

transaccionales

Seguridad / Replicación / Monitoreo / Backups

Page 7: MySql, ¿Por qué, cuándo y cómo?

MySQL: Overview

Page 8: MySql, ¿Por qué, cuándo y cómo?

MySQL: Motores de

Almacenamiento

Page 9: MySql, ¿Por qué, cuándo y cómo?

¿Por qué MySQL? Open Source

Open Source != Gratis

Saber cómo funciona

Hacer que funcione mejor

Es usado por Wikipedia, Google, Facebook, Twitter, Youtube,

Verizon, etc.

Multiplataforma

Linux / Unix / Mac / Windows

Page 10: MySql, ¿Por qué, cuándo y cómo?

¿Quiénes usan MySQL?

Page 11: MySql, ¿Por qué, cuándo y cómo?

¿Por qué MySQL? Popularidad:

Page 12: MySql, ¿Por qué, cuándo y cómo?

¿Por qué MySQL?

Estadísticas (MS SQL Server 2008, Oracle

11g, IBM DB2, MySQL 5.5 y MS Access

2010)

Page 13: MySql, ¿Por qué, cuándo y cómo?

¿Por qué MySQL?

Estadísticas (MS SQL Server 2008, Oracle

11g, IBM DB2, MySQL 5.5 y MS Access

2010)

Page 14: MySql, ¿Por qué, cuándo y cómo?

¿Por qué MySQL? Sysbench (MySQL 5.5, 5.6 y 5.7)

Page 15: MySql, ¿Por qué, cuándo y cómo?

¿Por qué MySQL? DMR: (MySQL 5.5, 5.6 y 5.7)

Page 16: MySql, ¿Por qué, cuándo y cómo?

¿Por qué MySQL? Arquitectura y características:

Motores de almacenamiento acoplables

Algunos problemas no requieren todas las características de los

sistemas de bases de datos

ACID?

Si

No

Replicación?

Page 17: MySql, ¿Por qué, cuándo y cómo?

¿Por qué MySQL? Conectores para C, Java, .Net, Ruby, Perl, VB, Etc.

Plataformas soportadas: linux, solaris, red hat, suse, debian,

windows, etc

Estrategias de Almacenamiento

Particionado

Librerías personalizadas

Page 18: MySql, ¿Por qué, cuándo y cómo?

¿Cuándo? MySQL NO:

Es una solución “gratis” a los problemas

Incumple los principios ACID

Es la base de datos con mas problemas

Es la base de datos con menor seguridad

Adolece de todo tipo de soporte

Page 19: MySql, ¿Por qué, cuándo y cómo?

¿Cuándo? MySQL NO:

Es sólo para paginas web

Sólo lo usan organizaciones pequeñas

Está fuera del alcance de BigData

Tiene desventajas realmente apreciables frente a otros SGBD

(en la mayoría de los casos)

Page 20: MySql, ¿Por qué, cuándo y cómo?

¿Entonces, cuándo? No hay una formula exacta

Depende mucho del propósito, alcance y estrategia del

negocio y el equipo de IT

Base de datos pequeñas (OK)

Base de datos grandes (OK)

Base de datos en clúster (OK)

BigData (OK)

Page 21: MySql, ¿Por qué, cuándo y cómo?

¿Cómo? Guías

Estándares

Buenas prácticas

Mejora continua

Refactor

Prueba/Error

Page 22: MySql, ¿Por qué, cuándo y cómo?

¿Cómo? Driver

Uno por WEB-INF/lib o uno por Servidor de Aplicaciones

Fallo de conexiones

abort() en lugar de close() para coneciones fallidas

Uso de timeouts

Pooling

Espacio en disco

Un archivo por tabla

Tablas comprimidas

Page 23: MySql, ¿Por qué, cuándo y cómo?

¿Cómo? Caché de Prepared Statements

cachePrepStmts=true

< 256 caracteres

Seguridad:

Borrar la base de datos de prueba

Asegurar la cuenta root (cambiarle el nombre)

Evitar que root acceda desde un host anónimo

Borrar cuentas anonimas (2 por defecto)

PAM

Evitar las configuraciones por defecto

Page 24: MySql, ¿Por qué, cuándo y cómo?

¿Cómo? Políticas Internas

Revisiones de Código

Auditorias internas

Aseguramiento de la Calidad

Controles (SOX)

Requerimientos Legales

“Record Management”

Protección de la Información Sensible

Page 25: MySql, ¿Por qué, cuándo y cómo?

MySQL y BigData ¿Qué es BIGDATA?

Conjunto de problemas

Gran Volumen de Datos

Cambios en los Datos

Datos dispersos geográficamente

¿Qué no es BIGDATA?

No es una solución

NO es NoSQL

Page 26: MySql, ¿Por qué, cuándo y cómo?

MySQL y BigData ¿Qué es NoSQL?

Sistemas de Gestión de Bases de Datos no Relacionales

¿Puede usarse MySql para BigData?

Muchos de los problemas pueden solucionarse incluso con

Sistemas Relacionales

Page 27: MySql, ¿Por qué, cuándo y cómo?

MySQL en Verizon MySQL potencia varios sistemas en Verizon:

VzWeb (Intranet)

VzWiki (Wiki)

VzTube (Streaming)

Usados por más de 78K Empleados

Caso de Éxito documentado

Page 28: MySql, ¿Por qué, cuándo y cómo?

Referencias

https://blogs.oracle.com/MySQL/entry/verizon_wireless_supp

orts_its_mission

https://blog.twitter.com/2013/new-tweets-per-second-record-

and-how

http://www.mysql.com/why-mysql/white-papers/mysql-and-

hadoop-guide-to-big-data-integration/

http://www.mysql.com/why-mysql/white-papers/

Page 29: MySql, ¿Por qué, cuándo y cómo?

Conclusiones ¿Por qué MySQL?

¿Cuándo?

¿Cómo?

MySQL y BigData

Page 30: MySql, ¿Por qué, cuándo y cómo?

¿Preguntas?