VoltDB es una base de datos en memoria diseñada por Michael Stonebraker (quien anteriormente diseñó Ingres y PostgreSQL ), Sam Madden y Daniel Abadi. Es un RDBMS compatible con ACID que utiliza una arquitectura de nada compartido . Incluye ediciones empresariales y comunitarias. La edición comunitaria tiene la licencia GNU Affero General Public License .
Desarrollador (es) | VoltDB Inc. |
---|---|
Lanzamiento estable | 10.1 / 30 de octubre de 2020 |
Repositorio | |
Escrito en | Java , C ++ |
Sistema operativo | Linux , macOS |
Plataforma | Java |
Tipo | RDBMS |
Licencia | Licencia pública general GNU Affero v3, licencia propietaria de VoltDB |
Sitio web | voltdb |
Arquitectura
VoltDB es una base de datos relacional NewSQL que admite acceso SQL desde procedimientos almacenados Java precompilados . La unidad de transacción es el procedimiento almacenado, escrito en Java intercalado con SQL. Internamente, los datos son administrados por un núcleo C ++ para evitar problemas de recolección de basura. [1]
VoltDB se basa en la partición horizontal hasta el subproceso de hardware individual para escalar, k-safety ( replicación sincrónica ) para brindar alta disponibilidad y una combinación de instantáneas continuas y registro de comandos para mayor durabilidad (recuperación de fallas).
VoltDB se basa en H-Store . Utiliza una arquitectura de nada compartido para escalar. Los datos y el procesamiento asociado con ellos se distribuyen a través de los núcleos de la CPU dentro de los servidores que componen un solo clúster de VoltDB. Al extender su base de nada compartido al nivel por núcleo, VoltDB escala con el creciente número de núcleos por CPU en servidores de múltiples núcleos.
Al convertir los procedimientos almacenados en la unidad de transacción y ejecutarlos en la partición que contiene los datos necesarios, es posible eliminar la mensajería de ida y vuelta entre declaraciones SQL. Los procedimientos almacenados se ejecutan en serie y hasta su finalización en un solo hilo sin bloqueo o pestillo, similar a la arquitectura LMAX . [2] Debido a que los datos están en la memoria y son locales en la partición, un procedimiento almacenado se puede ejecutar en microsegundos. El esquema de iniciación de procedimientos almacenados de VoltDB permite que todos los nodos inicien procedimientos almacenados evitando una sola orden global serializable. [3]
VoltDB es compatible con ACID. Los datos se escriben en un almacenamiento duradero. La durabilidad está garantizada por instantáneas continuas; registro de comandos asincrónico, que crea instantáneas y un registro de transacciones entre instantáneas; y registro de comandos síncrono, que registra las transacciones después de que se completa la transacción y antes de que se comprometa con la base de datos. Esto asegura que no se confirmen transacciones que no estén registradas y que no se pierdan transacciones.
Las aplicaciones deben diseñarse de manera que todos los datos alterados por un solo procedimiento almacenado se almacenen en la misma partición.
Historia
VoltDB v5.0 introdujo una herramienta de administración y monitoreo de bases de datos, el Centro de administración de VoltDB (VMC para abreviar). VMC proporciona una gestión de configuración y supervisión integral basada en navegador de la base de datos VoltDB, incluidos gráficos para el rendimiento y la latencia del clúster, así como el uso de la CPU y la memoria para el servidor actual.
La versión 5.1 de VoltDB, lanzada en marzo de 2015, introdujo la funcionalidad de replicación de bases de datos (DR), eliminando cualquier punto único de falla. La recuperación ante desastres proporciona replicación simultánea y paralela de múltiples particiones y registros binarios de los resultados de las transacciones, lo que evita que la réplica tenga que reproducir la transacción.
Ver también
Referencias
- ^ "Desmontando mitos sobre la base de datos en memoria VoltDB - DZone Java" . dzone.com . Consultado el 13 de noviembre de 2020 .
- ^ "La Arquitectura LMAX" . martinfowler.com . Consultado el 7 de abril de 2019 .
- ^ "DB Developer Central" . VoltDB . Consultado el 7 de abril de 2019 .
enlaces externos
- Página web oficial
- VoltDB en Open Hub
- Curt Monash (25 de mayo de 2010). "VoltDB finalmente se lanza" . DBMS 2 . Consultado el 9 de julio de 2011 .
- "VoltDB anuncia la versión 5.0" . VoltDB, Inc.28 de enero de 2015 . Consultado el 29 de marzo de 2015 .
- "Michael Stonebraker, cofundador de VoltDB y pionero de datos en tiempo real, gana el premio ACM 2014 AM Turing" . VoltDB, Inc. 26 de marzo de 2015 . Consultado el 29 de marzo de 2015 .
- "VoltDB tiene como objetivo el rápido desarrollo de Big Data" . ADTmag. 29 de enero de 2015 . Consultado el 29 de marzo de 2015 .