planet-logo

MySQL

Historia de MySQL

Empezamos con la intención de usar mSQL para conectar a nuestras tablas utilizando nuestras propias rutinas rápidas de bajo nivel (ISAM). Sin embargo y tras algunas pruebas, llegamos a la conclusión que mSQL no era lo suficientemente rápido o flexible para nuestras necesidades.
Esto provocó la creación de una nueva interfície SQL para nuestra base de datos pero casi con la misma interfície 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.
La derivación del nombre MySQL no está clara.
Nuestro directorio base y un gran número de nuestras bibliotecas y herramientas han tenido el prefijo “my” por más de 10 años. Sin embargo, la hija del cofundador Monty Widenius también se llama My.
Cuál de los dos dió su nombre a MySQL todavía es un misterio, incluso para nosotros.
El nombre del delfín de MySQL (nuestro logo) es “Sakila”, que fué elegido por los fundadores de MySQL AB de una gran lista de nombres sugerida por los usuarios en el concurso “Name the Dolphin” (ponle nombre al delfín).
El nombre ganador fue enviado por Ambrose Twebaze, un desarrollador de software Open Source de Swaziland, África. Según Ambrose, el nombre femenino de Sakila tiene sus raíces en SiSwate, el idioma local de Swaziland. Sakila también es el nombre de una ciudad en Arusha, Tanzania, cerca del país de origen de Ambrose, Uganda.

Las principales características de MySQL

La siguiente lista describe algunas de las características más importantes del software de base de datos MySQL.

caracteristicas

● Escrito en C y en C++
● Probado con un amplio rango de compiladores diferentes
● Funciona en diferentes plataformas.
● Usa GNU Automake, Autoconf, y Libtool para portabilidad.
● APIs disponibles para C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, y Tcl.
● Uso completo de multithreaded mediante threads del kernel. Pueden usarse fácilmente multiple CPUs si están disponibles.
● Proporciona sistemas de almacenamiento transaccionales y no transaccionales.
● Usa tablas en disco Btree (MyISAM) muy rápidas con compresión de índice.
● Relativamente sencillo de añadir otro sistema de almacenamiento. Esto es útil si desea añadir una interfície SQL para una base de datos propia.
● Un sistema de reserva de memoria muy rápido basado en threads.
● Joins muy rápidos usando un multijoin de un paso optimizado.
● Tablas hash en memoria, que son usadas como 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…

Tipos de columnas

Diversos tipos de columnas: enteros con/sin signo de 1, 2, 3, 4, y 8 bytes de longitud, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET,ENUM, y tipos espaciales OpenGIS.

Seguridad

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á encriptado cuando se conecta con un servidor.

Escalabilidad y límites

Soporte a grandes bases de datos.
Usamos MySQL Server con bases de datos que contienen 50 millones de registros. También usuarios que usan MySQL Server con 60.000 tablas y
acerca de 5.000.000 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).
Un índice puede usar prefijos de una columna para los tipos de columna CHAR, VARCHAR, BLOB, o TEXT.

Conectividad

TCP-IP-ports-sockets

Los clientes pueden conectar con el servidor MySQL usando sockets TCP/IP en cualquier plataforma.
En sistemas Windows de la familia NT (NT,2000,XP, o 2003), los clientes pueden usar named pipes para la conexión.
En sistemas Unix, los clientes pueden conectar usando ficheros socket Unix.
En MySQL 5.0, los servidores Windows soportan conexiones con memoria compartida si se inicializan con la opción sharedmemory.
Los clientes pueden conectar a través de memoria compartida usando
la opción protocol=memory.
La interfaz para el conector ODBC (MyODBC) proporciona a MySQL soporte para programas clientes ue usen conexiones ODBC (Open Database Connectivity). Por ejemplo, puede usar MS Access para
conectar al servidor MySQL.
Los clientes pueden ejecutarse en Windows o Unix.
El código fuente de MyODBC está disponible.
Todas las funciones para ODBC 2.5 están soportadas, así como muchas otras.
La interfaz para el conector J MySQL proporciona soporte para clientes Java que usen conexiones JDBC.
Estos clientes pueden ejecutarse en Windows o Unix.
El código fuente para el conector J está disponible.

Clientes y herramientas

MySQL server tiene soporte para comandos SQL para chequear, optimizar, y reparar tablas.
Estos comandos están disponibles a través de la línea de comandos y el cliente mysqlcheck.
MySQL también incluye myisamchk, una utilidad de línea de comandos muy rápida para efectuar estas operaciones en tablas MyISAM.
Todos los programas MySQL pueden invocarse con las opciones help o ? para obtener asistencia en línea.

Estabilidad de MySQL

“¿Qué estabilidad tiene MySQL Server?”, “¿Puedo fiarme de MySQL Server para este proyecto?”
El código original se remonta a los principos de los años 80. En TcX, la predecesora de MySQL AB, el código MySQL ha funcionado en proyectos desde mediados de 1996 sin ningún problema.
Cuando el software de base de datos MySQL fue distribuido entre un público más amplio, los nuevos usuarios rápidamente encontraron trozos de código no probados.
Cada nueva versión desde entonces ha tenido pocos problemas de portabilidad incluso considerando que cada nueva versión ha tenido muchas nuevas funcionalidades.
Cada versión de MySQL Server ha sido usable.
Los problemas han ocurrido únicamente cuando los usuarios han probado código de las “zonas grises”.
Naturalmente, los nuevos usuarios no conocen cuáles son estas zonas; esta sección, por lo tanto, trata de documentar dichas áreas conocidas a día de hoy.
Las descripciones mayormente se corresponden con la versión 3.23, 4.0 y 4.1 de MySQL Server.
Todos los bugs reportados y conocidos se arreglan en la última versión, con las excepciones listadas en las secciones de bugs y que están relacionados con problemas de diseño.

Módulos de MySQL

El diseño de MySQL Server es multi capa, con módulos independientes. Algunos de los últimos módulos se listan a continuación con una indicación de lo bien testeados que están:

1.1.1.1 Replicatión (Estable)
Hay grandes grupos de servidores usando replicación en producción, con buenos resultados. Se trabaja para mejorar características de replicación en MySQL 5.x.
1.1.1.2 InnoDB tablas (Estable)
El motor de almacenamiento transaccional InnoDB es estable y usado en grandes sistemas de producción con alta carga de trabajo.
1.1.1.3 BDB tablas (Estable)
El código Berkeley DB es muy estable, pero todavía se esta mejorando con el interfaz del motor de almacenamiento transaccional BDB en MySQL Server.
1.1.1.4 Búsquedas Fulltext(Estable)
Búsquedas Fulltext es ámpliamente usada.
1.1.1.5 MyODBC 3.51 (Estable)
MyODBC 3.51 usa ODBC SDK 3.51 y es usado en sistemas de producción ámpliamente. Algunas cuestiones surgidas parecen ser cuestión de las aplicaciones que lo usan e independientes del controlador ODBC o la base de datos subyacente.

Dimensiones máximas de las tablas MySQL

En MySQL 5.0, usando el motor de almacenamiento MyISAM, el máximo tamaño de las tablas es de 65536 terabytes (256 ^ 7-1 bytes).
Por lo tanto, el tamaño efectivo máximo para las bases de datos en MySQL usualmente los determinan los límites de tamaño de ficheros del sistema operativo, y no por límites internos de MySQL.
El motor de almacenamiento InnoDB mantiene las tablas en un espacio que puede ser creado a partir de varios ficheros. Esto permite que una tabla supere el tamaño máximo individual de un fichero.
Este espacio puede incluir particiones de disco, lo que permite tablas extremadamente grandes. El tamaño máximo del espacio de tablas es 64TB.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies
Hola Bienvenido, envíame un mensaje
Enviar