lunes, 12 de octubre de 2015

MySQL.


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, WordpressDrupalphpBB, 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

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.

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

Desventajas de MySQL.

  • Un gran porcentaje de las utilidades de MySQL no están documentadas. 
  • No es intuitivo, como otros programas (ACCESS).

Tipos de compilación del servidor MySQL.

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.