MySQL Panama
Enviado por jaled • 3 de Junio de 2013 • 2.030 Palabras (9 Páginas) • 268 Visitas
MySQL es un sistema de gestión de bases de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones.1MySQL AB —desde enero de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporation desde abril de 2009— desarrolla MySQL como software libre en un esquema de licenciamiento dual.
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 los derechos de autor del código están en poder del autor individual, MySQL es 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
SQL («lenguaje 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 «Monty» Widenius en la década de 1990 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 interfaz de programación de aplicaciones SQL denominada MySQL para bases de datos muy similar a la de mSQL pero más portable.
El nombre de MySQL procede de la combinación de My, hija Widenius, con el acrónimo SQL (según la documentación de la última versión en inglés2 ). Por otra parte, el directorio base y muchas de las bibliotecas usadas por los desarrolladores tenían el prefijo My.
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 Suazilandia y corresponde al nombre de una ciudad en Arusha, Tanzania, cerca deUganda la ciudad origen de Ambrose.
[editar]Lenguajes de programación
Existen varias interfaces de programación de aplicaciones que permiten, a aplicaciones escritas en diversos lenguajes de programación, acceder a las bases de datos MySQL, incluyendo C, C++, C#, Pascal, Delphi (via dbExpress), Eiffel, Smalltalk, Java (con una implementación nativa del driver de Java), Lisp, Perl, PHP, Python, Ruby,Gambas, REALbasic(Mac y Linux), (x)Harbour (Eagle1), FreeBASIC, y Tcl; cada uno de estos utiliza una interfaz de programación de aplicaciones específica. También existe una interfaz ODBC, llamadoMyODBC que permite a cualquier lenguaje de programación que soporte ODBC comunicarse con las bases de datos MySQL. También se puede acceder desde el sistema SAP, lenguaje ABAP.
[editar]Aplicaciones
Toma de pantalla programa de Monitoreo Mtop.
MySQL es muy utilizado en aplicaciones web, como 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.3
[editar]Versiones de MySQL
4 5 6 7 8 9
[editar]Especificaciones
[editar]Plataformas
MySQL funciona sobre múltiples plataformas, incluyendo:
AIX
BSD
FreeBSD
HP-UX
GNU/Linux
Mac OS X
NetBSD
Novell Netware
OpenBSD
OS/2 Warp
QNX
SGI IRIX
Solaris
SunOS
SCO OpenServer
SCO UnixWare
Tru64
eBD
Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7 y Windows Server (2000, 2003 y 2008).
OpenVMS10
[editar]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
...