sábado, 5 de junio de 2010

VoltDB es casi 50 veces más rápido que los tradicionales MySQL y Oracle

VoltDB es casi 50 veces más rápido que los tradicionales MySQL y Oracle: "

Hace unos días, el 25 de mayo para ser precisos, fue anunciada la disponibilidad para el público de general de VoltDB: un sistema de base de datos relacional, pero no por ello, tradicional. Y valga este verso sin esfuerzo para hablar de lo que bien puede convertirse en piedra angular para una nueva generación de sistemas para almacenar y recuperar información.

¿Qué hace a VoltDB tan “de nueva generación”? Que cuenta con estas características para atacar problemas de Procesamiento de Transacciones en Línea (OLTP), más críticos hoy en día gracias a las redes sociales:

  • Los datos se almacenan en memoria en vez de hacerlo en disco para lograr el máximo desempeño. Elimina el manejo de buffers. En este sentido es parecido a un MySQL más Memcached.

  • Es una base de datos distribuida donde existe en cada nodo un motor SQL para hacer de interfaz con el DBMS. Asimismo, está diseñada para aprovechar los equipos con CPU multinúcleo.

  • Elimina los asuntos que afectan de forma más directa el desempeño de los sistemas de base de datos tradicionales: protección de datos en transacciones concurrentes (locking y latching) y reporte de las transacciones en disco (loggin).

  • VoltDB escala de forma lineal. De modo que si aumenta el tamaño del problema, por ejemplo el número de usuarios, el sistema los soportará con la misma calidad de servicio.

En las pruebas realizadas por VoltDB, estos midieron una tasa de transacciones por segundo (TPS) de 53.000 en comparación con las 1.155 de otros DBMS sobre hardware idéntico. La escalabilidad del sistema es casi lineal. Y lograron 1.3 millones de TPS sobre un grupo de servidores (cluster) de 12 nodos.

Hoy en día está de moda hablar sobre NoSQL: un paradigma para la creación de DBMS en el que a cambio de no cumplir rigurosamente las propiedades ACID, ganan desempeño. (Twitter y Digg recién migraron al NoSQL, por cierto.) Lo que VoltDB ofrece son transacciones ACID (y confiables, por tanto) que no afectan de manera alguna el desempeño y escala del sistema.

Aquí cabe mencionar que uno de los detractores del nombre NoSQL -que parece negar al SQL- es un reconocido académico, pionero de los DBMS y quizá una figura comparable a la del gran Jim Gray: estoy hablando de Michael Stonebraker. Pues bien, no hubo artículo que hiciera eco de la publicación de VoltDB que no lo mencionara. Esto no es fortuito pues él es el también diseñador del sistema y actual CTO de la empresa VoltDB. Para Stonebraker las NoSQL tienen un nombre mal elegido que mejor debió ser algo así como NoDisco, NoACID o NoConcurrencia.

Es posible que VoltDB evolucione en una suerte de MySQL distribuido, “hipertransaccional”, escalable, ajustado para los nuevos y exigentes tiempos en internet. Como quiera que sea, en términos de software libre la llegada de VoltDB supone un montón conocimiento acumulado por años traducido/depositado en fresco y apetitoso código fuente. Esto es una excelente noticia.



"