MySQL

MYSQL

Sistema de gestión de bases de datos relacionales

MySQL es un sistema de gestión de bases de datos relacionales (RDBMS) basado en un modelo cliente-servidor, siendo una de las bases de datos más populares para entornos de desarrollo Web. Está desarrollado bajo licencia dual: Licencia Pública (GPL)/Licencia Comercial por Oracle©. 

Esto hace que se diferencien dos tipos:

MySQL Community Server  (Open Source)

MySQL Enterprise Server(Proprietary)

Satisface los requerimientos ACID de un sistema de base de datos relacional.

Arquitectura Cliente y Servidor: MySQL basa su funcionamiento en un modelo cliente y servidor. Es decir, clientes y servidores se comunican entre sí de manera diferenciada para un mejor rendimiento.

 Compatibilidad con SQL

Vistas: Desde la versión 5.0 se permite el uso/creación de vistas personalizadas.

Procedimientos almacenados

Transacciones. Una transacción representa la actuación de diversas operaciones en la base de datos como un dispositivo.

Seguridad: Ofrecen diferentes tipos de seguridad 

MySQL Enterprise Firewall protege las bases de datos contra amenazas de seguridad como SQL Injection, Sniff Attack o Trojan Horse.

MySql Enterprise Encryption. Cifra datos confidenciales y solo los usuarios autorizados pueden decodificarlos.

MySQL TDE ofrece una mayor seguridad al cifrar la información crítica a nivel de archivos de datos físico y solo se descifran durante el proceso de lectura.

¿Por qué usar MySQL?

Fácil de usar. MySQL es un sistema de base de datos de alto rendimiento pero relativamente simple y es mucho menos complejo de configurar y administrar que los sistemas más grandes. 

MySQL comprende SQL (Structured Query Language), lenguaje usado en la mayoría de sistemas de bases de datos.

Conectividad y seguridad. MySQL está completamente conectado en red y se puede acceder a las bases de datos desde cualquier lugar de Internet. Proporciona seguridad adicional, mediante conexiones cifradas con el protocolo Secure Sockets Layer (SSL).

Portable. MySQL funciona en variedad de sistemas (Unix, Windows, OS/2, etc…).

Distribución pequeño tamaño: MySQL tiene un tamaño reducido en el software de distribución y es fácil de obtener.

Tipos de almacenamiento MySQL

Uso de diferentes tipos de almacenamiento en función del tipo o tratamiento de la información. Los más importantes: 

  • InnoDB. Almacenamiento por defecto para MySQL 5.5 y versiones superiores pensado para el tratamiento relacional (Soporte ACID, row-level locks, etc.)
  •  MyISAM. Para entornos no transacionales (table-lock level)
  • Memory. Para el almacenamiento en memoria (datos no persistente en disco)
  • Archive. Usado para almacenar y recuperar información histórica.

Alta disponibilidad de MySQL

MySQL InnoDB Cluster ofrece una solución HA nativa integrada para sus bases de datos, que consta de los siguientes elementos principales. 

  • MySQL Server con replicación de grupo para replicar datos a todos los miembros del clúster al tiempo que brinda tolerancia a fallos, conmutación por error automatizada y elasticidad. 
  • MySQL Router, para garantizar que las solicitudes de los clientes tengan un equilibrio de carga y se enruten a los servidores correctos en caso de fallos en la base de datos.