MyJDB, un sistema de base de datos en JavaScript
El próximo lunes 1 de marzo (de 2010) verá la luz la primera versión de MyJDB, un sistema de bases de datos inspirado en JavaScriptDB (muerto hacia el 2005..) resucitado por Luis García.
Lo mas destacado de esta versión (beta 1.1.0), que es más un puente hacia lo que se quiere llegar, es la optimización del código, aunque es la primera optimización los resultados han sido cuanto menos sorprendentes. Entre sus cambios destacan los siguientes:
- Relicenciamiento a GPL 3.
- Documentación interna completa y en Ingles, así como las variables que pasan del catalán al ingles para internacionalizar el proyecto.
- Reestructuración completa del código.
- Nuevo analizador sintactico del Select sobre un 40% más rápido.
- Tipado de datos de los campos de las tablas, lo que nos ayuda a evaluar correctamente números, cadenas y sobre todo fechas.
- El algoritmo para realizar JOIN entre dos tablas es alrededor de 640 veces más rápido.
- Se ha añadido el uso de between, el uso de parentesis, reconocimiento de ‘<=>’.
- Implementación de la clausula limit.
- Reconocimiento de is, is not, is null, is not null y unknown.
- Realización de un select con sólo contando el tiempo de la clausula where alrededor de un 40 veces más rápido.
- Evaluación de la clausula where alrededor de un 94% más rápido.
- La evaluación de una condición LIKE es alrededor de 8 veces más rápida.
- La clausula Order by es alrededor de 2 veces más rápido.
Los tiempos han sido medidos con Firefox y el prerfilador de Firebug, con lo que aun queda probarlo en el resto de navegadores, y este es el objetivo de lanzar la beta, probarla y hacerla compatibles con el resto de navegadores (no van a incluir IE6, sólo versiones de IE7 hacia arriba).
Yo personalmente me pregunto cómo será todo el tema de la seguridad… ya que siendo una base de datos mediante JavaScript lo primero en lo que pienso es la manipulación que se puede hacer de código gracias a aplicaciones como firebug.