Hablemos del origen de MySQL

Three hosts trace MySQL's origins from David Hughes's mSQL in the 1990s through Michael Widenius renaming ISAM to MyISAM and founding MySQL AB. They cover licensing choices, the LAMP stack integration, and how storage engines like InnoDB evolved before Sun and Oracle acquired it.
Chapters
Érase una vez que se era un programador web de los 90.
¿Había programadores web en los 90? ¿Seguro?
¡Chip! ¡No interrumpas la historia!
Perdona.
Un programador de los 90 quería programar una página web con datos y por ello necesitó de una base de datos.
¿Y utilizó Postgres?
Ahora no he sido yo quien ha interrumpido.
Yo pregunto cosas coherentes.
Las bases de datos más famosas como Oracle, Sybase, Informix e incluso Postgres No cubrían sus necesidades.
¿Les faltaba alguna característica?
¡Les sobraba! Las máquinas no eran muy potentes y esas bases de datos requerían de mucha potencia computacional. Era una épica gesta que solo un elegido pudo completar.
Y voy yo y me lo creo.
A ver, Chip, lo que ha contado Pro es bastante coherente. ¿Por qué no podría alguien hacer una base de datos liviana y que todos pudiesen usar?
¿Y quién sería ese alguien? El gran Michael Stonebraker ya estaba ahí haciendo Postgres.
Pues David Hughes.
Ese nombre no me suena.
Fue quien implementó SQL en Postgres también.
¿Y le dio por hacer una base de datos liviana y que todos pudiesen usar? Creí que MySQL fue creada por Monty.
No estaba hablando de MySQL aún, sino de su antecesor, por llamarlo de alguna forma.
Podríamos decir que MSQL es a MySQL lo que Minix a Linux.
Entonces supongo que tendremos que empezar por MSQL.
Antes de continuar, si nos dais un buen me gusta y os suscribís al canal, nos ayudaréis mucho a crecer y a seguir haciendo este contenido que tanto disfrutamos. Y además, si os queréis hacer miembros del canal, ya sea como historiador o cronista, recibiréis contenido exclusivo, como por ejemplo un vídeo al mes especial. Muchas gracias a quien se anime y, por supuesto, también a los miembros recién llegados. Y ahora sí, ¡dale pro!
MiniSQL. ¿Os acordáis del gran debate?
¿Cómo olvidarlo? Lo vas recordando a lo largo de los capítulos.
Se ve que dejó huella.
Y lo seguiré recordando, porque fue el punto de inflexión de donde surgieron las bases de datos que hoy empleamos.
¿MiniSQL viene de ahí también?
En verdad no. Como decía, mini-SQL o mSQL... ¡Vaya!
Que esa m esté ahí al principio y en minúscula, no me digas. Hace alusión a la música. Ya sabes, cuando se etiqueta un acorde como menor siempre se acompaña con una m minúscula.
¡Buena observación, Chip!
Puede ser, aunque no he encontrado una explicación. No obstante, me gusta ese razonamiento.
¡Bien hecho, Chip!
Uno que tiene cultura.
Y un gran ego.
¿Cómo? Sigamos. Porque decía que SQL fue desarrollada porque David Hughes, también conocido como Bambi, encontró una necesidad.
¿A David Hughes le llamaban Bambi?
Había muchas pequeñas empresas y particulares que querían hacer su página web dinámica y no podían permitirse pagar por una base de datos.
Pero Postgres era gratuita.
Sí, pero Postgres requería de una gran máquina.
¿Por qué iban a llamar a David Bambi?
Y no eran tan económicas como ahora. Un Pentium de la época podía costar decenas de miles de dólares.
¡Esto ya lo has contado! David creó una base de datos libre, gratuita, y todo el mundo pudo crear su página web.
En verdad no.
¿Será porque tiene ojos lastimeros? ¿Bambi?
¡Ya, Chip! ¡Para con eso de Bambi! Volviendo al tema, has dicho hace un momento que SQL fue la opción a esas otras.
Sí, pero no dije que fuese gratuita.
¿Había que pagar por usarla?
Tenía sus condiciones.
Letra pequeña.
Sí, en cierto modo. La base de datos tenía una licencia propietaria, pero solo si se usaba con fines comerciales.
Entonces, los que quisieran hacer un blog o una página personal podían usarla de forma gratuita, pero las pequeñas empresas seguían teniendo el problema.
Tenían que pasar por caja igualmente.
Pero pagando mucho menos. En su página web decía que MySQL costaba $170, a diferencia de las otras grandes que debían abonar ¡Hay que admitir que es un precio competitivo!
Y que supuestamente MSQL no requería de una gran máquina.
Abramos sección porque me interesa preguntar algo. ¿Cómo consiguió MSQL su popularidad?
Ah, pues a ver. Ya comentamos en nuestro vídeo para miembros de Postgres que la extensión para el lenguaje SQL vino después.
Sí, que al principio cada base de datos parecía tener su propio lenguaje relacional. Hasta que comenzaron a unificarse todos hacia SQL.
Pues David Hughes fue quien implementó el lenguaje SQL para Postgres.
¡Vaya! Esa no la vi venir. Entonces por eso creó después MySQL, porque tenía conocimiento del lenguaje y quería algo más pequeño y manejable.
¡Exacto! Aunque hay matices. A ver, en esos años había una especie de guerra entre los lenguajes relacionales. Cada base de datos tenía el suyo propio y Postgres Usaba algo llamado PostQL.
No pensaron mucho el nombre.
Hace alusión a que usan QL y es un sabor específico de Postgres. Tiene sentido.
David Hughes estaba en Australia haciendo su tesis doctoral, un proyecto de monitorización llamado Minerva, y no quería restringir su sistema a una sola y única base de datos.
Quería utilizar un lenguaje de base de datos único.
¿Y cuál era el estándar o el más utilizado en esos días?
¿Lo adivinas?
SQL, seguro. No ha cambiado mucho desde entonces.
Exacto. Por lo que se decidió a utilizar Postgres para su proyecto e implementar un traductor de SQL a PostgreSQL.
¿Esa fue la implementación de SQL que hizo? ¿Un traductor?
En principio sí.
No sé, no parece óptimo.
En principio este traductor se llamó msql.
Esto comienza a ser confuso. Entonces, ¿MySQL surgió como una adaptación de SQL a PostgreSQL? ¿Un sistema traductor que permanecía entre Postgres y el programa?
¡Exacto! Pero Minerva creció y este traductor y Postgres ralentizaban el sistema enormemente. Algo había que hacer.
¿Implementar SQL en lugar de PostgreSQL?
No, aunque eso se haría más tarde.
Ahí surgió MiniSQL.
¡Exacto!
Se veía venir. Entonces, MSQL fue una simplificación de Postgres.
Algo así. Desarrolló algo que pequeñas empresas y particulares necesitaban: un sistema de base de datos muy simple, sin tantas características, que pudiese correr en máquinas pequeñas.
Estamos hablando de MSQL porque es un antecesor de MySQL, pero no estoy viendo una conexión clara en cómo pudo surgir MySQL. A ver... Si tan bueno es SQL, ¿por qué crear MySQL?
En un principio me gustaría dejar algo claro: cuando nos centramos en un tema parece que todo lo que sucede alrededor desaparece.
¿Te refieres al contexto histórico?
En cierta forma. A ver, estamos diciendo que había grandes empresas ofreciendo grandes bases de datos e incluso Postgres, pero había otras empresas ofreciendo soluciones sencillas y asequibles también. ¿No solo estaba MySQL?
Imagino que nos centramos en MySQL porque es el antecesor de MySQL y estamos hablando de MySQL.
Exacto, pero como he dicho había muchas empresas ofreciendo otras soluciones también asequibles.
¿Por qué MySQL sobresalió?
En verdad no sobresalió. Ahora le estamos dando una importancia que quizás no tuvo frente a otras como Debase, que culminó en Clipper, porque nos interesa para nuestra historia y en cierta forma M-SQL obtuvo un pequeño foco y un momento de gloria porque implementó SQL y parecía el lenguaje relacional de moda, pero no se conocía tanto.
Pero sí lo suficiente para que alguien se fijara en ella y quisiera implementar una variante.
Sí, llegamos a Michael Widemius, también conocido como Monty.
El bueno de Monty. Ahora sí hablamos de MySQL.
Aún no. Monty trabajó con bases de datos desde 1979 en TCX. Una empresa sueca, y había desarrollado su propia herramienta de base de datos llamada Unireg.
¿Una herramienta para administrar cualquier base de datos? ¡Qué pena que eso no exista hoy en día!
El caso es que Monty había ido adaptando su herramienta para las diferentes bases de datos y lenguajes, y en 1994 se sumaron a esa gran cantidad de empresas que hacían desarrollos basados en web.
¿No sería este Unireg como phpMyAdmin?
Puede ser. El problema es que era demasiado pesado y TCX comenzó a fijarse en SQL y principalmente en MS SQL. No obstante, la carencia total de características les preocupó.
¿Qué características podrían echar en falta? Si tienes las consultas básicas, ¿no sería suficiente?
Pues parece que los índices.
La madre del cordero. No había índices. Pero si eso hace que vaya más rápido.
No te pongas así, que actualizar los índices sobrecarga la escritura de datos.
Ya habíamos dicho que SQL quitó todas las características de las grandes bases de datos. Todas. Dejó tan solo las operaciones básicas.
Ya solo me queda oír que no respetaban ACID.
Exacto. Al simplificar tanto, pues no podían garantizar ni la atomicidad, ni la consistencia, ni el aislamiento. Solo la durabilidad.
Esos salvajes días de la programación de los 90.
Bueno, pues parece que el bueno de Monty se puso en contacto con Hughes para ver si le interesaría conectar MSQL a UniReg con su manejador ISAM. Y sí que lo estuvo, pero para su versión 2, que curiosamente ya implementó los índices a su forma.
Qué feo por su parte.
Entonces, en este punto, Monty decidió que era hora de tomar ISAM y convertirlo en MyISAM.
Pues TCX fue lo suficientemente inteligente para aprovechar la API interna de MySQL y así no reinventar la rueda, permitiendo a todos los que ya hubiesen hecho personalizaciones para MySQL que fuesen compatibles con su implementación de base de datos.
No entiendo, ¿convirtieron Unireg en su base de datos agregando lo que hacía MySQL y permitiendo conectar con ISAM?
¡Exacto! Solo que cambiaron algunos nombres. A ver, Unireg era un nombre muy extraño para una base de datos y quienes lo habían empleado en el pasado lo verían como ese antiguo producto, por lo que cambiaron a MySQL.
¡Obvio!
No era tan obvio, Chip. Podría haber sido otro nombre diferente.
No creo.
Pues ya lo habéis adivinado. MySQL incluyó ISAM como su sistema para almacenar los datos de forma rápida y con índices. Eso sí, Cambió su nombre por MyISAM.
Parece que todo lo creado por TCX tenía ese prefijo para indicar que era suyo.
Yo creo que tiene que ver con el hecho de que la hija de Monty se llamase May.
¡Qué nombre más raro! Supongo que será común en Suecia.
El propio Monty, aunque algunas veces decía que así fue, también dijo una vez que es un misterio.
Quizá quiso hacerse el interesante.
El crecimiento de MySQL. En los siguientes años MySQL creció y mucho. A diferencia de MySQL, esta base de datos había sido lanzada con licencia GPL.
Libre, pero esa licencia no es del gusto de todos.
¡Exacto! No obstante, el hecho de ser GPL, al igual que el kernel de Linux y las primeras versiones de PHP, creó un combo muy poderoso.
Y con nombre propio. ¿Quién no recuerda LAMP?
Es paradójico que MySQL, siendo el primero y con licencia propietaria, quedase por detrás de MySQL teniendo una licencia GPL. Casi demuestra que el software libre tiene más beneficios que el propietario.
Sí, si no fuese porque hubo muchas más diferencias.
¿Como cuáles?
Pues al ser software libre hubo empresas que no dudaron en compartir sus implementaciones, por lo que podíamos usar MySQL con el sistema de almacenamiento MyISAM o con BDB provisto por la empresa SleepyCat también de forma abierta y gratuita.
También recuerdo otra que se empleaba mucho por tener claves foráneas, era InnoDB.
Exacto, ese era otro sistema de almacenamiento muy utilizado, pero además hubo muchas más mejoras.
Cuenta, cuenta.
Pues mejoraron la seguridad, la velocidad de conexión, la velocidad analizando sintácticamente las consultas SQL y el optimizador para proporcionar los datos.
Entonces, por muchos motivos, en esos años era mejor adoptar MySQL en una pequeña empresa que utilizar MS SQL.
Obviamente, pasas de tener que pagar $170 a no pagar nada.
Paradójicamente, muchos terminaban contratando los servicios de la empresa detrás de MySQL para soporte y mantenimiento, por lo que les iba económicamente muy bien. Tanto que crearon la empresa sueca MySQL AB.
Yo sé cómo sigue la historia.
Conclusiones.
Bro, ¿ya? Ahora que se iba a poner interesante con las demandas, las compras y demás.
¿Nos saltamos el salseo?
Hemos comentado los orígenes de MySQL. Podemos dejar la historia con respecto a Sun Microsystems y Oracle para otro capítulo.
Sun Microsystems sería una gran historia. Los creadores de Java, Solaris, ¿VirtualBox?
¿VirtualBox fue creada por Sun?
Fue comprada por Sun, al igual que mucho software a lo largo de su historia, pero no nos desviemos. Ya veremos qué opinan nuestros seguidores en los comentarios. ¡Oh!
Pues ahí van las preguntas, prepara tus dedos.
¿Has usado una versión antigua de MySQL? Quizás la 3.22.
¿Te emocionaste cuando en la versión 4 ya se podían hacer subconsultas? Yo sí.
A veces se me olvida lo viejo que eres, pro.
Oye, que no soy tan viejo.
¿Sigues usando MySQL o MariaDB?
Déjanos tu comentario.
¿MariaDB? Esa base de datos la creó también Monty.
Sí, lo sé, en honor a su segunda hija.
El animal que hace de mascota en MySQL es un delfín y en la segunda es una foca.
Pero que no vaya con segundas.
¡Qué animal!
Yo no aceptaría con mi nombre nada que no fuese majestuoso.
Yo te pondría un burro.
Pues que sepas que es un animal muy digno, algo terco, pero digno e inteligente.
Continuará.
More from Manuel

Historia de los Lenguajes de Programación: años 1960-1969 #basic #apl #simula #lisp #logo

¿Compilador o intérprete? La historia de una rivalidad que comenzó en los años 40








