MySQL
Historia de MySQL
• Como surge MySQL: en un principio sus creadores
empezaron con la intención de usar mSQL (también
conocido como mini-SQL) para conectar a sus tablas
utilizando sus propias rutinas rápidas de bajo nivel
(ISAM). Sin embargo y tras algunas pruebas, los
desarrolladores llegaron a la conclusión que mSQL no
era lo suficientemente rápido o flexible para las
necesidades que tenían. Esto provocó la creación de
una nueva interfaz SQL para su base de datos pero casi
con la misma interfaz API que mSQL. Esta API fue
diseñada para permitir código de terceras partes que
fue escrito para poder usarse con mSQL para ser
fácilmente portado para el uso con MySQL.
• MySQL es un sistema de gestión de base de datos relacional,
multihilo y multiusuario con más de doce millones de instalaciones.
• MySQL en los últimos años ha tenido un crecimiento vertiginoso. Es
una de las bases de datos de código abierto más popular del
mundo. Esta característica hace que todas aquellas personas que lo
deseen pueden contribuir con ideas, elementos, mejoras o sugerir
optimizaciones.
• Y así es como MySQL se ha transformado de una pequeña base de
datos a una completa herramienta. Su rápido desarrollo se debe en
gran medida a la contribución de mucha gente al proyecto, así
como la dedicación del “antiguo” equipo de MySQL (MySQL AB, que
desde enero de 2008 fue adquirida por la empresa Sun
Microsystems, que a su vez forma parte desde abril de 2009 de
Oracle Corporation) .
• MySQL es un sistema de administración de bases
de datos relacional (RDBMS). Se trata de un
gestor de bases de datos capaz de almacenar una
enorme cantidad de datos de gran variedad y de
distribuirlos para cubrir las necesidades de
cualquier tipo de organización. De hecho hay
quien comenta que MySQL compite con sistemas
RDBMS propietarios SQL Server, DB2 y antes con
Oracle.
• Todo el mundo puede acceder al código fuente, es decir, al código de
programación de MySQL.
• MySQL incluye todos los elementos necesarios para instalar
el programa, reparar diferentes niveles de acceso de
usuario, administrar el sistema y proteger los datos.
También existe la posibilidad de crear la base de datos de
una manera más intuitiva a través de la herramienta
Workbench (cuya descarga está licenciada bajo GPL) que se
ofrece en la página Web de MySQL, de tal manera que no
es necesaria la utilización de la consola, que es mucho
menos visual que la otra utilidad. Por otro lado, puede
desarrollar sus propias aplicaciones de bases de datos en la
mayor parte de lenguajes de programación utilizados en la
actualidad y ejecutarlos en casi todos los sistemas
operativos. MySQL utiliza el lenguaje de consulta
estructurado (SQL).
• incluye un motor de almacenamiento INNODB
compatible con ACID
• INNODB es un tipo de tabla de MySQL que
permite trabajar con transacciones, y definir
reglas de integridad referencial.
• ACID son las propiedades que una base de datos
debe cumplir para que el Sistema administrador
de base de datos (DBMS) maneje correctamente
la transaccionalidad. El término ACID viene de
Atomicidad, Consistencia, Aislamiento,
Durabilidad.
PRINCIPALES CARACTERÍSTICAS DE MySQL
Según el manual que proporciona la página oficial de MySQL8 las principales
características del sistema de la base de datos son:
• Escrito en C y en C++
• Probado con un amplio rango de compiladores diferentes
• Funciona en diferentes plataformas.
• Existen varias APIs 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).
• Proporciona sistemas de almacenamiento transaccional y no transaccional.
• Usa tablas en disco B-tree (MyISAM) muy rápidas con compresión de
índice.
• Relativamente sencillo de añadir otro sistema de almacenamiento • Un
sistema de reserva de memoria muy rápido basado en threads.
• Utilización de tablas temporales.
• Las funciones SQL están implementadas usando una librería
altamente optimizada y deben ser tan rápidas como sea posible.
Normalmente no hay reserva de memoria tras toda la inicialización
para consultas.
• El servidor está disponible como un programa separado para usar en
un entorno de red cliente/servidor. También está disponible como
biblioteca y puede ser incrustado (linkado) en aplicaciones autónomas.
Dichas aplicaciones pueden usarse por sí mismas o en entornos donde
no hay red disponible.
• Registros de longitud fija y longitud variable.
• Existe una interfaz ODBC (MyODBC) que permite a cualquier
lenguaje de programación que soporte ODBC comunicarse con las
bases de datos MySQL.
• DELETE, INSERT, REPLACE, y UPDATE devuelven el número de filas
que han cambiado (han sido afectadas).
• El comando específico de MySQL SHOW puede usarse para
obtener información acerca de la base de datos, el motor de
base de datos, tablas e índices. El comando EXPLAIN puede
usarse para determinar cómo el optimizador resuelve una
consulta.
• Un sistema de privilegios y contraseñas que es muy flexible
y seguro, y que permite verificación basada en el host. Las
contraseñas son seguras porque todo el tráfico de contraseñas
está cifrado cuando se conecta con un servidor.
• Soporte a grandes bases de datos y para alias en tablas y
columnas como lo requiere el estándar SQL.