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

Post on 05-Jul-2015

205 views 3 download

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

Transcript of 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

Agenda Presentación

Requisitos

MySQL: Overview

Un poco de historia

Arquitectura de MySQL

MySQL: ¿Por qué?

Filosófico

Estadístico

Técnico

Agenda MySQL: ¿Cuándo?

Rendimiento

Soporte

Costo / Licenciamiento

Estrategia de IT

MySQL: ¿Cómo?

Recomendaciones de Implementación

Algunos problemas comunes

Seguridad

Agenda MySQL y Big Data

Big Data

NoSQL y SiSQL

Control y Cumplimiento

Conclusiones

Referencias

Preguntas

Requisitos OPEN SOURCE

CAP, ACID

SQL, NoSQL

RDBMS

BIG DATA

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

MySQL: Overview

MySQL: Motores de

Almacenamiento

¿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

¿Quiénes usan MySQL?

¿Por qué MySQL? Popularidad:

¿Por qué MySQL?

Estadísticas (MS SQL Server 2008, Oracle

11g, IBM DB2, MySQL 5.5 y MS Access

2010)

¿Por qué MySQL?

Estadísticas (MS SQL Server 2008, Oracle

11g, IBM DB2, MySQL 5.5 y MS Access

2010)

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

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

¿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?

¿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

¿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

¿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)

¿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)

¿Cómo? Guías

Estándares

Buenas prácticas

Mejora continua

Refactor

Prueba/Error

¿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

¿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

¿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

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

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

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

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/

Conclusiones ¿Por qué MySQL?

¿Cuándo?

¿Cómo?

MySQL y BigData

¿Preguntas?