Las bases de datos se han transformado de modelos básicos a versiones especializadas. ¿Están regresando ahora a días más simples?
por Matt Asay
A fines del año pasado, el analista de RedMonk, Steven O’Grady, escribió una publicación titulada “Un regreso a la base de datos de propósito general”. La idea era que el mercado, buscando algo más allá de las bases de datos relacionales “vainilla”, había producido todo tipo de NoSQL especializadas y otras bases de datos (o, en el caso de AWS, había intentado vender prácticamente todo tipo de base de datos). Pero ahora, el mercado está comenzando a revertir su experimento de una década. DB-Engines , que rastrea la popularidad de las bases de datos, una vez rastreó solo un puñado de bases de datos, pero para 2022, ese total aumentó a 391. ¿Volveremos ahora a un puñado más pequeño de bases de datos de uso general?
La realidad es que nunca nos fuimos.
Como señala el líder de ingeniería Erik Bernhardsson , “cualquier herramienta de propósito general (lenguaje, base de datos, marco, etc.) eventualmente dominará sobre las herramientas de propósito especial, incluso si estas últimas pueden ser 10 veces mejores en alguna dimensión (por ejemplo, rendimiento)”. Si observa la popularidad de la base de datos, el lenguaje de programación o el marco de la última década, apenas se han movido de su obstinada insistencia en el propósito general.
¿Por qué? Porque los desarrolladores no tienen tiempo que perder aprendiendo chucherías de propósito especial.
La persistencia de lo habitual
Cuando empecé a prestar atención al mercado de las bases de datos, estas eran las bases de datos líderes en octubre de 2012 , según el sistema de clasificación multifacético de DB-Engines:
- Oracle
- Microsoft SQL Server
- MySQL
- Microsoft Access
- DB2
- PostgreSQL
- MongoDB
- SQLite
- Cassandra
- Memcached
Aquí es donde están hoy :
- Oracle
- MySQL
- Microsoft SQL Server
- PostgreSQL
- MongoDB
- Redis
- Elasticsearch
- IBM Db2
- Microsoft Access
- SQLite
Aunque la popularidad relativa de las diferentes bases de datos ha cambiado, es el mismo elenco de personajes, ¿verdad?
¿Qué pasa con los lenguajes de programación? RedMonk ha estado cubriendo el flujo y reflujo de la popularidad de los lenguajes de programación durante mucho tiempo, pero en su actualización más reciente, la conclusión más importante fue cuán estable ha sido el mercado. Como señala O’Grady , “La historia de la racha de este trimestre, como lo ha sido durante algunas rachas ahora, es la estabilidad. Aparte de unas pocas excepciones notables… la regla del movimiento lingüístico en los últimos años ha sido que hay poco movimiento”.
Hoy los 10 idiomas principales son:
- JavaScript
- Python
- Java
- PHP
- (tie) CSS
- (tie) C#
- C++
- TypeScript
- Ruby
- 10 C
Hace una década, el top 10 se veía así:
- JavaScript
- Java
- PHP
- Python
- Ruby
- C#
- C++
- C
- Objective-C
- Shell
No es lo mismo, pero es bastante consistente. ¿Por qué somos tan constantes en nuestras elecciones tecnológicas?
Abraza lo mismo
Brian Goetz tiene una forma divertida de explicar el fenómeno, llamada Ley de Goetz: “Todo lenguaje declarativo se desliza lentamente hacia un terrible lenguaje de propósito general”. Quizás una explicación más útil proviene de Stephen Kell , quien argumenta que “la resistencia de C se debe a su extrema apertura a la interacción con otros sistemas a través de memoria externa, FFI, enlaces dinámicos, etc.”. En otras palabras, C perdura porque adquiere más funcionalidad, lo que permite a los desarrolladores usarlo para más tareas.
Eso está bien, pero me gusta aún más la explicación de Timothy Wolodzko : “Como industria, estamos sesgados hacia las herramientas de propósito general [porque es] más fácil contratar desarrolladores, ya están ampliamente adoptados (porque son de propósito general), a menudo tienen mejores documentación, se mantienen mejor y se puede esperar que vivan más tiempo”. Parte de esto simplemente describe los resultados de los efectos de red, pero la observación más interesante es cómo el propósito general permite esos efectos de red.
De manera similar, un comentarista en la publicación de Bernhardsson sugiere : “No se trata de lo general versus lo especializado”, sino de “qué herramienta tiene la capacidad de evolucionar. Esa herramienta dominará”. Este es ciertamente el caso de los lenguajes de programación de propósito general como Java: Han prosperado precisamente porque han cambiado para adaptarse a las nuevas demandas de la industria. Del mismo modo para las bases de datos. O’Grady argumenta que “muchos almacenes de datos que alguna vez fueron especializados se están volviendo menos”, incluso cuando los pilares como MySQL adquieren características innovadas por las bases de datos NoSQL.
¿Significa esto que nos quedamos con una gran olla de igualdad? Hasta cierto punto, tal vez, pero Python nunca será C nunca será Rust, al igual que Oracle nunca será MongoDB nunca será DB2. Incluso los lenguajes, marcos y bases de datos de propósito general tienen capacidades únicas, por lo que tenemos las 10 listas principales para bases de datos, lenguajes y marcos y no las listas principales.
Las empresas y los desarrolladores dentro de ellas seguirán exigiendo opciones reales en sus decisiones tecnológicas. Pero no hay demasiadas opciones, como detallé recientemente . El propósito general funciona porque aumenta la productividad del desarrollador (aprenda algunas herramientas, no un millón) y la agilidad empresarial (el talento se vuelve más fácil de contratar, entre otras cosas).
Por todos los medios, haga un pasatiempo de ese nuevo y brillante lenguaje de programación. Simplemente no intentes hacer una carrera con eso.
Fuente: https://www.infoworld.com/article/3657613/the-steady-march-of-general-purpose-databases.html