Mysql

Mysql
Información sobre la plantilla
90138-logo-mysql.jpg
Gestor de Bases de Datos
CreadorMySQL AB
DesarrolladorOracle
Última versión estable5.5.9 -2 de junio de 2010
GéneroRDBMS
Sistemas Operativos compatiblesMultiplataforma
Sitio web
http://www.mysql.com

MySQL. Sistema de gestión de base de datos relacional y multiusuario con más de seis millones de instalaciones. Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C.

Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y el copyright del código está en poder del autor individual, MySQL es propietario y está patrocinado por una empresa privada, que posee el copyright de la mayor parte del código.

Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet. MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius.

Historia del proyecto

SQLLenguaje de Consulta Estructurado fue comercializado por primera vez en 1981 por IBM el cual fue presentado a ANSI y desde entonces ha sido considerado como un estándar para las bases de datos relacionales. Desde 1986, el estándar SQL ha aparecido en diferentes versiones como por ejemplo: SQL:92, SQL:99, SQL:2003. MySQL es una idea originaria de la empresa opensource Mysql AB establecida inicialmente en Suecia en 1995 y cuyos fundadores son David Axmark, Allan Larsson, y Michael Monty Widenius. El objetivo que persigue esta empresa consiste en que MySQL cumpla el estándar SQL, pero sin sacrificar velocidad, fiabilidad o usabilidad.

Michael Widenius en ladecada de los 90 trató de usar mSQL para conectar las tablas usando rutinas de bajo nivel ISAM, sin embargo, mSQL no era rápido y flexible para sus necesidades. Esto lo llevó a crear una API SQL denominada MySQL para bases de datos muy similar a la de mSQL pero más portable.

La procedencia del nombre de MySQL no es clara. Desde hace más de 10 años, las herramientas han mantenido el prefijo My. También, se cree que tiene relación con el nombre de la hija del cofundador Monty Widenius quien se llama My.

Por otro lado, el nombre del delfín de MySQL es Sakila y fue seleccionado por los fundadores de MySQL AB en el concurso “Name the Dolphin”. Este nombre fue enviado por Ambrose Twebaze, un desarrollador de software de código abierto africano, derivado del idioma SiSwate, el idioma local de Swzilandia y corresponde al nombre de una ciudad en Arusha, Tanzania, cerca de Uganda la ciudad origen de Ambrose.

Aplicaciones

MySQL es muy utilizado en apliciones web, 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 adelantar monitoreos sobre el desempeño para detectar y corregir errores tanto de SQL como de programacion.

Plataformas

MySQL funciona sobre múltiples plataformas, incluyendo:

Características de la versión 5.0.22

  • Un amplio subconjunto de ANSI SQL 99, y varias extensiones.
  • Soporte a multiplataforma
  • Procedimientos almacenados
  • Disparadores (triggers)
  • Cursores
  • Vistas actualizables
  • Soporte a VARCHAR
  • INFORMATION_SCHEMA
  • Modo Strict
  • Soporte X/Open XA de transacciones distribuidas; transacción en dos fases como parte de esto, utilizando el motor InnoDB de Oracle
  • Motores de almacenamiento independientes (MyISAM para lecturas rápidas, InnoDB para transacciones e integridad referencial)
  • Transacciones con los motores de almacenamiento InnoDB, BDB Y Cluster; puntos de recuperación (savepoints) con InnoDB
  • Soporte para SSL
  • Query caching
  • Sub-SELECTs (o SELECTs anidados)
  • Réplica con un maestro por esclavo, varios esclavos por maestro, sin soporte automático para múltiples maestros por esclavo.
  • indexing y buscando campos de texto completos usando el motor de almacenamiento MyISAM
  • Embedded database library
  • Soporte completo para Unicode
  • Conforme a las reglas ACID usando los motores InnoDB, BDB y Cluster
  • Shared-nothing clustering through MySQL Cluster

Características adicionales

  • Usa GNU Automake, Autoconf, y Libtool para portabilidad
  • Uso de multihilos mediante hilos del kernel.
  • Usa tablas en disco b-tree para búsquedas rápidas con compresión de índice
  • Tablas hash en memoria temporales
  • El código MySQL se prueba con Purify (un detector de memoria perdida comercial) así como con Valgrind, una herramienta GPL
  • Completo soporte para operadores y funciones en cláusulas select y where.
  • Completo soporte para cláusulas group by y order by, soporte de funciones de agrupación
  • Seguridad: ofrece un sistema de contraseñas y privilegios seguro mediante verificación basada en el host y el tráfico de contraseñas está cifrado al conectarse a un servidor.
  • Soporta gran cantidad de datos. MySQL Server tiene bases de datos de hasta 50 millones de registros.
  • 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.

Desarrollo del proyecto

El desarrollo de MySQL se fundamenta en el trabajo de los desarrolladores contratados por la empresa MySQL AB quienes se encargan de dar soporte a los socios comerciales y usuarios de la comunidad MySQL y dar solución a los problemas encontrados por los usuarios. Los usuarios o miembros de la comunidad MySQL pueden reportar bugs revisando el manual en línea que contiene las soluciones a problemas encontrados; el historial de cambios; la base de datos bugs que contiene bugs reportados y solucionados y en las listas de correo MySQL.

A través de las listas de correo los usuarios pueden enviar preguntas y éstas serán contestadas por desarrolladores brindándoles soporte.

Estructuras organizativas/asociativas o de decisión

La dirección y el patrocinio de los proyectos MySQL están a cargo de la empresa MySQL AB quien posee el copyrigth del código fuente MySQL, su logo y marca registrada. MySQL, Inc. y MySQL GmbH son ejemplos de empresas subsidiarias de MySQL AB. Están establecidas en los Estados Unidos y Alemania respectivamente. MySQL AB, cuenta con más de 200 empleados en más de 20 países y funcionan bajo la estrategia de teletrabajo.

En enero del 2008 Sun Microsystems anuncia su compra.

Industria relacionada

La industria radica en la venta de productos software y de algunos servicios relacionados a numerosas empresas que utilizan estos productos.

MySQL AB clasifica los productos así:

  • MySQL Enterprise: incluye MySQL Enterprise Server , Monitoreo de la red MySQL, servicios de consulta y soporte de producción MySQL.
  • MySQL Cluster.
  • MySQL Embedded Database.
  • MySQL Drivers: para JDBC, ODBC y .Net.
  • MySQL Tools: MySQL Administrator, MySQL Query Browser, and the MySQL Migration Toolkit.
  • MaxDB: MaxDB es una base de datos de código abierto certificada para SAP/R3.

Los ingresos de esta empresa por la venta de licencias privativas de sus productos y los servicios suma los U$12 millones.

MySQL en cifras

  • Según las cifras del fabricante, existen más de seis millones de copias de MySQL funcionando en la actualidad, lo que supera la base instalada de cualquier otra herramienta de bases de datos.
  • El tráfico del sitio web de MySQL AB superó en 2004 al del sitio de IBM.

Licencia

La licencia GNU GPL de MySQL obliga a que la distribución de cualquier producto derivado (aplicación) se haga bajo esa misma licencia. Si un desarrollador desea incorporar MySQL en su producto pero desea distribuirlo bajo otra licencia que no sea la GNU GPL, puede adquirir una licencia comercial de MySQL que le permite hacer justamente eso.

Estado actual

La serie en desarrollo de MySQL Server actualmente, es la 5.1 a la cual se añaden nuevas características en relación a la serie 5.0. La serie de producción actual de MySQL es 5.0, cuya penúltima versión estable es la 5.0.26 lanzada en octubre de 2006. Actualmente, se puede descargar la serie 5.0.27. La serie de producción anterior fue la 4.1, cuya versión estable es 4.1.7 lanzada en octubre de 2004. A estas versiones de producción sólo se arreglan problemas, es decir, ya no se añaden nuevas características. Y a las versiones anteriores solamente se les corrigen bugs críticos.

Oracle adquiere Sun Microsystems

El lunes 20 de abril, Oracle, el fabricante de software altamente reconocido por su base de datos; adquiere a Sun Microsystems para lo cual desembolsó $ 7,4 mil millones de dólares.

Véase también

Enlaces externos