
Definición de MySQL.
Es un sistema de gestión de bases de datos relacional,
fue creada por la empresa sueca MySQL AB, la cual tiene el copyright del código
fuente del servidor SQL, así como también de la marca. MySQL es un software de
código abierto, licenciado bajo la GPL de la GNU, aunque MySQL AB distribuye
una versión comercial, en lo único que se diferencia de la versión libre, es en
el soporte técnico que se ofrece, y la posibilidad de integrar este gestor en
un software propietario, ya que de otra manera, se vulneraría la licencia GPL. El
lenguaje de programación que utiliza MySQL es Structured Query Language (SQL)
que fue desarrollado por IBM en 1981
y desde entonces es utilizado de forma generalizada en
las bases de datos relacionales.
Aplicaciones de MySQL.
MySQL es muy
utilizado en aplicaciones web, como Joomla,
Wordpress, Drupal
o phpBB,
en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas
de seguimiento de errores como Bugzilla. Su popularidad como aplicación web
está muy ligada a PHP,
que a menudo aparece en combinación con MySQL.
MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones. Sea cual sea el entorno en el que va a utilizar MySQL, es importante monitorizar de antemano el rendimiento para detectar y corregir errores tanto de SQL como de programación
MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones. Sea cual sea el entorno en el que va a utilizar MySQL, es importante monitorizar de antemano el rendimiento para detectar y corregir errores tanto de SQL como de programación
Características principales de MySQL.
Inicialmente, MySQL carecía
de algunos elementos esenciales en las bases de datos relacionales, tales como
integridad referencial y transacciones. A pesar de esto, atrajo a los
desarrolladores de páginas web con contenido dinámico, debido a su simplicidad,
de tal manera que los elementos faltantes fueron complementados por la vía de
las aplicaciones que la utilizan. Poco a poco estos elementos faltantes, están
siendo incorporados tanto por desarrolladores internos, como por desarrolladores
de software libre
En las últimas versiones se
pueden destacar las siguientes características principales:
- El principal objetivo de MySQL es velocidad y robustez.
- Soporta gran cantidad de tipos de datos para las columnas.
- Gran portabilidad entre sistemas, puede trabajar en distintas plataformas y sistemas operativos.
- Aprovecha la potencia de sistemas multiproceso, gracias a su implementación multihilo mediante hilos del kernel
- Flexible sistema de contraseñas (passwords) y gestión de usuarios, con un muy buen nivel de seguridad en los datos.
- El servidor soporta mensajes de error en distintas lenguas.
- Se permiten hasta 64 índices por tabla (32 antes de MySQL 4.1.2). Cada índice puede consistir desde 1 hasta 16 columnas o partes de columnas. El máximo ancho de límite son 1000 bytes (500 antes de MySQL 4.1.2).
- Los clientes se conectan al servidor MySQL usando sockets TCP/IP en cualquier plataforma. En sistemas Windows se pueden conectar usando named pipes y en sistemas Unix usando ficheros socket Unix.
- En MySQL 5.0, los clientes y servidores Windows se pueden conectar usando memoria compartida.
- MySQL contiene su propio paquete de pruebas de rendimiento proporcionado con el código fuente de la distribución de MySQL.
- Bajo costo en requerimientos para la elaboración de bases de datos, ya que debido a su bajo consumo puede ser ejecutado en una máquina con escasos recursos sin ningún problema.
- Facilidad de configuración e instalación.
- Soporta gran variedad de Sistemas Operativos.
- Baja probabilidad de corromper datos, incl uso si los errores no se producen en el propio gestor, sino en el sistema en el que está.
- Conectividad y seguridad.
- Velocidad al realizar las operaciones, lo que le hace uno de los gestores con mejor rendimiento.
- Un gran porcentaje de las utilidades de MySQL no están documentadas.
- No es intuitivo, como otros programas (ACCESS).
Hay tres tipos de
compilación del servidor MySQL:
- Estándar: Los binarios estándar de MySQL son los recomendados para la mayoría de los usuarios, e incluyen el motor de almacenamiento InnoDB.
- Max (No se trata de MaxDB, que es una cooperación con SAP): Los binarios incluyen características adicionales que no han sido lo bastante probadas o que normalmente no son necesarias.
- MySQL-Debug: Son binarios que han sido compilados con información de depuración extra. No debe ser usada en sistemas en producción porque el código de depuración puede reducir el rendimiento.