Por qué las aplicaciones modernas necesitan una estrategia de base de datos multilingüe
Comentarios: ¿Listo para migrar todas sus aplicaciones a bases de datos NoSQL? no es tan simple
Para cualquiera que haya comenzado a trabajar en bases de datos relacionales en Oracle justo al salir de la universidad, Mark Porter parece feliz de dejarlas atrás.existir Anuncia su nuevo rol como CTO en MongoDBComo la compañía detrás de la base de datos distribuida basada en documentos del mismo nombre, Porter se ha sumergido un poco en el mundo relacional que dejó atrás.
Esto no quiere decir que los datos relacionales estén muertos, o incluso cojeando. En cambio, la capacidad de Porter para abarcar los mundos NoSQL (MongoDB) y SQL (Oracle) simplemente demuestra que los datos son mucho más complejos de lo que sugiere la calcomanía, y estamos lejos de llamarlo un problema «resuelto».
Mirar: Cómo construir una carrera de desarrollador exitosa (PDF gratuito) (República tecnológica)
El nuevo mundo de los datos
Cuando Porter comenzó a trabajar en Oracle (1988), MongoDB no existía. Diablos, el cofundador de MongoDB, Eliot Horowitz, todavía estaba en la escuela primaria en ese momento. Por lo tanto, Porter (y el resto del mundo) no tiene idea de lo que podría estar faltando en esas filas y columnas de datos relacionales. No fue hasta 2009 que se lanzó MongoDB y puso patas arriba el mundo de las bases de datos.
Once años después, Lo que Porter tiene que decir sobre el nuevo y valiente mundo de los datos:
No importa cuán asombrosas sean las bases de datos… crear aplicaciones en ellas nunca ha sido tan fácil. Los datos normalizados, matemáticamente puros o no, son una molestia para la programación humana; eso no es lo que pensamos… aunque SQL se ve bonito en el editor, es lo más cercano a lo que se puede pensar desde el punto de vista de la programación. Encontrar información. Las bases de datos relacionales promocionan sus modelos de datos fijos y predecibles como una característica, pero en realidad, los modelos de datos inflexibles son los grilletes de la productividad de cualquier desarrollador del mundo real. Pregúntele a cualquier CIO con qué frecuencia «hacen rodar» el nuevo modo en su cola de aplicaciones y, por lo general, se taparán la cabeza con las manos y murmurarán «una vez por trimestre… si tenemos suerte». ‘»
Y sin embargo… El mundo de datos relacionales sin procesar de Porter es el nuestro. ¿Esos sistemas ERP que SAP tuvo $ 27 mil millones en ventas el año pasado? Principalmente datos relacionales. De hecho, ¿adoptar todos estos sistemas de registro que las organizaciones usan para ayudar a administrar empleados o rastrear dispositivos en la cadena de suministro, etc.? Casi en su totalidad datos relacionales. De hecho, los desarrolladores aún usan el antiguo RDBMS Todo, desde emisión de boletos en línea hasta sistemas de publicidad..
Entonces, si bien Porter tiene razón al decir que a los desarrolladores les encanta la flexibilidad de los nuevos métodos de administración de datos como MongoDB, muchos seguirán confiando en los RDBMS también.
O algo nuevo.
Proliferación de bases de datos
Si alguien cree que hemos encontrado la base de datos, todo lo que necesita hacer es mirar DB-Engines, que actualmente Seguimiento de más de 350 bases de datos diferentes, en todas las formas y tamaños. De relacional a documento a gráfico a clave-valor a multimodelo a… lo que sea. En la última década en particular, hemos visto una explosión en las opciones de bases de datos.
Si bien ningún desarrollador quiere dominar 350 o incluso 35 bases de datos, el hecho de que tengamos este nivel de elección habla del deseo de muchos de crear formas mejores y más simples de administrar datos en constante cambio. También ilustra la ineficiencia de algunas personas que reinventan la rueda de la base de datos en lugar de colaborar en varios proyectos.como analista Curt Monash señaló«Desarrollar una buena [database] Se necesitan de 5 a 7 años y decenas de millones de dólares. Si las cosas van muy bien. «No hay excepciones para esta regla.
Tome MongoDB como ejemplo. Es más o menos lo mismo que nuestro «éxito de la noche a la mañana» en las bases de datos, y tomó una década y cientos de millones de dólares para alcanzar su popularidad actual (puesto 5 en el ranking DB-Engines). Si bien las personas continúan creando nuevas bases de datos, puede ser más rentable contribuir a los proyectos de bases de datos de código abierto existentes para ayudarlos a obtener la funcionalidad que se cree que falta.
Y sin embargo… sucedió el tenedor. Los proyectos existentes a menudo no se adaptan a las nuevas direcciones. A veces su arquitectura tampoco. Para el fundador de Redis, Salvatore Sanfilippo, me dijo que el ejemplo de Redis nos recuerda que aunque todo parezca «resuelto», es «posible explorar cosas nuevas» en áreas como las bases de datos.
Esto significa que podríamos obtener más de 356 bases de datos, aunque en realidad no necesitamos las «más» bases de datos que usamos regularmente. Ya sea que giremos en torno a algunos proyectos existentes o innovemos en otros nuevos, el futuro de los datos es «más».
Divulgación: trabajo en AWS, pero este artículo refleja mis puntos de vista, no los de mi empleador.