Structured Query Language

«No es usted, es SQL»

Download PDF

Traducción del artículo «It’s not you, it’s SQL» escrito en idioma inglés por Jamie Turner en Stack By Convex el 29 de enero de 2023.

https://stack.convex.dev/not-sql

Los tipos de letra, resaltado, colores y demás han sido colocadas oportunamente por mi persona, Jimmy Olano, traductor.

¿Recuerdan el movimiento NoSQL? El año 2010 fue una época más simple, y los ingenieros de software realmente comenzaban a conquistar el mundo. Y Combinator acababa de financiar mil millones de nuevas empresas, todas creando la próxima gran red social para hámsteres, entusiastas de los relojes de pulsera y autores de «ficciones de fans» de «Of Monsters and Men«.

Los primeros ingenieros de estas nuevas empresas estaban ocupados, ocupados siendo estrellas de rock. No había tiempo para CREATE TABLE. Solamente querían algo para colgar en sus diccionarios de Python, hombre.


Y ese algo era MongoDB. MongoDB felizmente tomó nuestros diccionarios de Python, los guardó en algún lugar y, a veces, incluso los devolvió más tarde. No hay cadenas SQL hechas a mano que ensucien nuestra base de código de Python, y todo funcionó.

Era como si se hubiera levantado un velo. “¿Qué pasó con toda la ceremonia, SQL? Mis controladores ahora son muy reducidos y mi esquema es lo que yo quiero que sea«. Hicimos una pausa lo suficiente para tomar un sorbo de nuestro Spicy Maya Mocha de Coupa Café. «Quiero decir, ¿y qué si ninguno de mis escritos es realmente confirmado por mi nueva base de datos? ¡Estos son solo hámsteres y entusiastas de los relojes de pulsera! Podemos perder algunos y aun así llegar a nuestra Serie B”.


Con el surgimiento de MongoDB, NoSQL se disparó como un cohete🚀. Los días de SQL seguramente estaban contados.

Los días de SQL seguramente estaban contados.

https://stack.convex.dev/not-sql

Los equipos de todas partes se regocijaron, extasiados con su elección de base de datos novedosa y sin consecuencias, durante aproximadamente 4 meses hasta que su proyecto explotó.


Graciosamente, los ancianos de la base de datos se deslizaron hacia la escena, sabios y serenos. Con los brazos abiertos permitieron que los advenedizos recién humillados volvieran a dedicarse a la única forma verdadera de SQL.

Les ahorraré un poco de lectura y resumiré estas secciones de comentarios: «Te lo dije«.

Y hemos usado SQL desde entonces, nunca queriendo más, nunca desviándonos, siempre confiando en que los académicos de la década de 1970 anticiparon exactamente lo que todo software necesitaría por un tiempo eterno.

Bien. ¿Entonces, cuál es el problema?

La tonta narración anterior parece que me estoy metiendo con los primeros MongoDB, y lo admito. Pero MongoDB tenía razón. Los desarrolladores quieren desesperadamente algo mejor que SQL.

Lo que salió mal en este movimiento inicial no fue la sugerencia de dejar de usar el lenguaje SQL, sino la inmadurez de las implementaciones contemporáneas de las plataformas NoSQL.

Aquí es donde realmente nos encontramos con problemas:

Los datos prácticamente siempre tienen relaciones, y las bases de datos deben respaldarlos.
Las transacciones ACID multidocumento reales son esenciales
No importa qué tan bueno sea su modelo de programación, si su base de datos no guarda datos, funciona de manera consistente, etc., nadie puede usarla para nada importante.

Por favor, lea también   «Comparación de sistemas y modelos gestión de bases de datos NoSQL» por Mark Drake (versión previa O. S. Tezer)

Pero la parte de «vamos a usar menos SQL» fue una muy buena idea.

Ahora no odio SQL; de hecho, en Dropbox dirigí el grupo de almacenamiento y bases de datos que administraba más de 10 000 servidores MySQL que admitían la mayor parte de mil millones de usuarios. Se puede hacer. Pero puede no significa que deba.

Entonces, sin más preámbulos, aquí están las tres razones principales por las que SQL apesta:

Download PDF