Sistemas de bases de datos – MySQL

Un sistema de administración de bases de datos relacionales (RDBMS) es una herramienta esencial en numerosos entornos, desde aplicaciones tradicionales en contextos empresariales, de investigación y educativos, hasta aplicaciones como los motores de búsqueda de Internet. Sin embargo, a pesar de la importancia de un buen sistema de base de datos para gestionar y acceder a fuentes de información, muchas empresas no se lo pueden permitir económicamente. Históricamente, los sistemas de base de datos eran caros y los distribuidores cobraban tanto por el software como  por la asistencia. Además, como los motores de base de datos suelen tener exigentes requisitos de hardware para ejecutarse con un rendimiento razonable, el coste era incluso mayor.

Ahora la situación es diferente, tanto en el aspecto del hardware como del software. Los sistemas de escritorio y los servidores de pequeño tamaño son económicos pero potentes, y existe una tendencia a crear sistemas operativos de alto rendimiento para ellos. Estos sistemas operativos suelen estar disponibles de forma gratuita por Internet o en CD. Incluyen diversos derivados de BSD Unix (FreeBSD, NetBSD, openBSD) así como distintas distribuciones de (Fedora, Debian, Gentoo, SuSE, por ejemplo).

La aparición de sistemas operativos gratuitos se ha producido junto al desarrollo de herramientas gratuitas como gcc, el compilador GNU de C. Estos esfuerzos forman parte del movimiento de Código abierto. Los proyectos de código abierto han creado importantes productos de software. Por ejemplo, Apache es el servidor Web más utilizado en Internet. Perl, Python y Ruby son lenguajes de creación de secuencias de comandos sólidamente establecidos, y PHP es un lenguaje popular ya que permite crear páginas Web dinámicas. Todos ellos contrastan con las soluciones propietarias que le imitan a productos de elevado precio de fabricantes que ni siquiera proporcionan el código fuente. El software de base de datos también es más accesible ahora y existen sistemas de código abierto gratuitos. Uno de ellos es MySQL, un sistema de administración de bases de datos relacionales cliente/servidor original de Escandinavia. MySQL incluye un servidor SQL, programas cliente para acceder al servidor, herramientas administrativas y una interfaz de programación para crear programas propios.

El origen de MySQL se remontan a 1979, a la herramienta de base de datos UNIREG creada por Michael “Monty” Widenius para la empresa sueca TcX. En 1994, TcX comenzó la búsqueda de un RDBMS con una interfaz SQL para desarrollar aplicaciones Web. Probaron distintos servidores comerciales pero todos eran demasiado lentos para las tablas de gran tamaño de TcX. También se fijaron en mSQL pero carecía de determinadas funciones necesarias para  TcX. Por ello, Monty comenzó a desarrollar un nuevo servidor. La interfaz de programación se desarrolló explícitamente como la utilizada por mSQL ya que existían diversas herramientas gratuitas disponibles para mSQL y, al utilizar una interfaz similar, se podrían utilizar en MySQL sin apenas esfuerzo.

En 1995, David Axmark de Detron HB, presionó a TcX para que publicara MySQL en Internet. También trabajó en la documentación y en la generación de la utilidad GNU configure. MySQL 3.11.1 se dio a conocer en 1996 como distribución binaria para Linux y Solaris. En la actualidad, MySQL funciona en muchas más plataformas y está disponible en formato binario y de código fuente. La empresa MySQL AB se creó para ofrecer distribuciones de MySQL de código abierto y de licencia comercial, y para proporcionar asistencia técnica, servicios de monitorización y formación. En 2008, Sun Microsystems adquirió MySQL AB y el compromiso con el código fuente sigue presente. (Sun ya había comenzado a ofrecer muchos de sus productos con licencias de código abierto.)

Inicialmente, MySQL se hizo muy popular debido a su velocidad y a su simplicidad. Pero también hubo críticas, ya que carecía de funciones como transacciones y compatibilidad con claves secundarias. MySQL continuó su desarrollo y no sólo incluyó estos elementos sino también otras funciones como duplicación, subconsultas, procedimientos almacenados, vistas y desencadenadores. Estas características permitieron que MySQL se abriera paso en el mundo de las aplicaciones empresariales. Como resultado, los usuarios empiezan a tener cuenta MySQL.

MySQL es portable y se ejecuta en sistemas operativos comerciales (como Mac OS X, HP-UX y Windows) y en hardware como servidores empresariales. Es más, su rendimiento supera al de cualquier otro sistema de base de datos con el que lo compare, y puede procesar bases de datos de gran tamaño con miles de miles de millones de filas. En el mundo empresarial, la presencia de MySQL sigue aumentando ya que las empresas descubren su capacidad para solucionar sus necesidades de bases de datos por mucho menos de lo que solían pagar por asistencia y licencias comerciales.

MySQL adopta una posición privilegiada en este panorama: sistemas operativos gratuitos ejecutados en hardware de gran potencia pero económico, con el poder del procesamiento en manos de más individuos y empresas que nunca, en una mayor variedad de sistemas. Debido al descenso de las barreras económicas, las soluciones de bases de datos llegan a un mayor número de usuarios y organizaciones. Las empresas que antes solamente podían soñar con disfrutar de un RDBMS de alto rendimiento, ahora pueden hacerlo sin apenas costes. Lo mismo sucede desde una perspectiva individual. Por ejemplo, nosotros hemos conseguidos utilizar MySQL con Perl, PHP y Apache en un portátil de Apple con Mac OS X. Coste total: el precio del portátil.

Por qué seleccionar MySQL

Si busca un sistema de administración de bases de datos gratuito o de bajo coste, puede escoger entre varios, como por ejemplo MySQL, PostgreSQL o SQLite. Al comparar MySQL con otros sistemas de base de datos, piense en sus necesidades. Debe tener en cuenta el rendimiento, la compatibilidad, sus funciones (compatibilidad con SQL o extensiones), condiciones de licencia y restricciones, y el precio. Dados estos factores, las características de MySQL resultan muy atractivas:

Velocidad: MySQL es rápido. Sus programadores afirman que es el sistema de base de datos más rápido que existe. Puede comprobarlo en http://www.mysql.com/why-mysql/benchmarks/, una página de comparativas de rendimiento en el sitio Web de MySQL.

Facilidad de uso: MySQL es un sistema de alto rendimiento pero relativamente sencillo, y mucho menos complejo de configurar y administrar que otros sistemas de mayor tamaño.

Compatibilidad con el lenguaje de consultas: MySQL comprende SQL (Lenguaje estructurado de consultas), el lenguaje estándar de todos los sistemas modernos de base de datos.

Prestaciones: El servidor MySQL es de subprocesamiento múltiple, de modo que varios clientes pueden conectarse al mismo tiempo. Cada cliente puede utilizar varias bases de datos simultáneamente. Puede acceder a MySQL de forma interactiva con varias interfaces que le permiten introducir consultas y ver los resultados: clientes de líneas de comandos, navegadores Web o clientes GUI. Además, existen interfaces de programación para diversos lenguajes como C, Perl, Java, PHP, Python y Ruby. También puede acceder a MySQL por medio de aplicaciones compatibles con ODBC y .NET (protocolos desarrollados por Microsoft). De este modo puede utilizar software cliente preconfigurado o crear sus propias aplicaciones personalizadas.

Conectividad y seguridad: MySQL está preparado para redes y se puede acceder a las bases de datos a través de Internet, de modo que puede compartir sus datos con terceros desde cualquier ubicación. Pero MySQL también cuenta con control de acceso para proteger los datos de los usuarios. Para reforzar la seguridad, admite conexiones codificadas a través del protocolo SSL.

Portabilidad: MySQL se ejecuta en distintas variedades de Unix y Linux, así como en otros sistemas como Windows y NetWare. MySQL se puede ejecutar en servidores comerciales o en equipos personales (incluso en dispositivos manuales).

Tamaño reducido: El tamaño de la distribución MySQL es reducido si lo comparamos con la cantidad de espacio en disco que ocupan otros sistemas de base de datos.

Disponibilidad y coste: MySQL es un proyecto de código abierto disponible bajo distintas licencias. Por un lado, está disponible bajo la licencia general pública GNU, de modo que no supone costo alguno para uso doméstico. Por otra parte, para organizaciones que prefieren o necesiten condiciones formales o no limitarse a las condiciones de GPL, existen licencias comerciales.

Distribución y código fuente abiertos: MySQL es fácil de obtener: basta con un navegador Web. Si no entiende el funcionamiento de algún aspecto concreto, tiene curiosidad sobre un algoritmo o desea realizar una uuditoría de seguridad, puede obtener el código fuente y examinarlo. Si detecta algún error, puede comunicárselo a los programadores.

Seguramente se pregunte sobre la asistencia. Un sistema de base de datos no sirve de mucho sino ofrece algún tipo de ayuda.

Existen recursos a su disposición:

El Manual de referencia de MySQL incluido en las distribuciones de MySQL y también disponible en la red y en formato impreso. Tiene una elevada aceptación entre la comunidad de usuarios, un dato importante ya que el valor de un buen producto disminuye si nadie sabe cómo utilizarlo.

Contratos de asistencia técnica, servicios de monitorización y clases formativas disponibles a través de Sun.

Existen diversas listas de correo MySQL a las que puede suscribirse. Sus participantes son muy activos, entre los que se encuentran programadores de MySQL. Como recurso de asistencia, estas listas son de gran valor.

Comparte