DataBlitz es un sistema de administración de base de datos de memoria principal de propósito general , desarrollado por Lucent Bell Labs Research de 1993 a 1995. Reemplazó varios productos de base de datos de cosecha propia utilizados en todo Lucent a partir de 1997.
Desarrollador (es) | Laboratorios Bell |
---|---|
Versión inicial | 1997 |
Lanzamiento estable | 7.1 / 4 de abril de 2010 |
Sistema operativo | Linux, Solaris |
Tipo | RDBMS |
Licencia | Propiedad |
Originalmente se llamaba "Dali" y proporcionaba funciones de recuperación y control de simultaneidad . Más tarde, Dali pasó a llamarse "DataBlitz".
DataBlitz proporciona una plataforma para crear aplicaciones de memoria compartida de alto rendimiento que pueden sobrevivir a fallas u organizar grandes cantidades de datos con características adecuadas para muchas aplicaciones.
Las aplicaciones de DataBlitz incluyen:
- Conmutación y enrutamiento de llamadas en telecomunicaciones
- Facturación en tiempo real
- Servidores web de alto rendimiento
- Aplicaciones de comercio financiero
- Almacenamiento en caché de datos
Características de DataBlitz
- Arquitectura de alto rendimiento
- Sin E / S de disco para operaciones de lectura y E / S de disco limitadas para operaciones de escritura (para aplicaciones en tiempo real).
- Todos los algoritmos optimizados para memoria en lugar de disco
- Acceso directo a la memoria compartida a los datos
- API nativa de C ++ para un acceso más rápido a los datos
- Admite aplicaciones multiproceso.
- Semántica de transacción completa
- Atomicidad
- Consistencia
- Aislamiento
- Durabilidad
- Alta disponibilidad
- Replicación de datos para mejorar la disponibilidad y la redundancia
- Replicación de datos asíncrona y síncrona
- Recuperación multinivel para manejar todo tipo de fallas
- Tolerancia a fallas mejorada
- Protección de memoria y palabra de código para detectar y prevenir la corrupción de datos debido a punteros de aplicación perdidos
- Puntos de control difusos que solo interfieren mínimamente con el procesamiento de transacciones
- Interfaces relacionales de C ++ para optimizar los ciclos de la CPU
- Admite un amplio subconjunto de ANSI SQL 99, utilizando el motor Dharma SQL
- Admite SQL, ODBC y JDBC a través del motor Dharma SQL.
- Función de copia de seguridad y restauración en línea
Relacional
DataBlitz Relational Manager es una interfaz de biblioteca de clases C ++ para un sistema relacional con soporte SQL limitado a declaraciones de definición. La información del esquema se almacena en tablas y se puede consultar utilizando la propia API relacional. Los índices se pueden crear en subconjuntos arbitrarios de los atributos en una tabla. Se admite la integridad referencial (restricciones de clave externa), al igual que los valores nulos, los tipos de atributos de fecha y hora y los campos de longitud variable. La navegación se admite a través de iteradores sobre una sola tabla. Se puede especificar una consulta conjuntiva para el iterador y se realiza una selección de índice automática. Tanto las estrategias de bloqueo de grano fino como las de granularidad múltiple se utilizan para lograr una alta simultaneidad sin incurrir en demasiados gastos generales. Además, los bloqueos obtenidos por iteradores evitan la anomalía "fantasma" ...
Cobros e índices
DataBlitz también proporciona interfaces de capa superior para agrupar elementos de datos relacionados y realizar escaneos, así como acceso asociativo (a través de índices) en elementos de datos en un grupo ...
Gerente de almacenamiento
Cada archivo de base de datos en DataBlitz consta de segmentos, que son unidades de asignación alineadas en páginas contiguas, similares a los clústeres en un sistema de archivos . Chunk es una colección de segmentos. Las características de recuperación de la memoria (transitoria, puesta a cero o persistente) se especifican por fragmento en el momento de la creación del fragmento. La memoria puesta a cero permanece asignada después de la recuperación, pero cada byte se establece en cero. Con la memoria transitoria, los datos ya no se asignan después de la recuperación. Los usuarios asignan dentro de un fragmento y no especifican un segmento en particular. Dado que los segmentos pueden ser arbitrariamente grandes (dentro del tamaño de la base de datos), los objetos arbitrariamente grandes se pueden almacenar de forma contigua. Tras la asignación dentro de un fragmento, el sistema devuelve un puntero DataBlitz estándar al espacio, que especifica el desplazamiento dentro del archivo. Los elementos que se muestran enlazando segmentos en un fragmento se almacenan ellos mismos en un fragmento especial que se utiliza para la información de control. Almacenar la información de control por separado de los datos reduce la probabilidad de que sea corrompida por punteros de aplicación perdidos ...
Replicación
En DataBlitz, los datos se pueden replicar en varias instancias de DataBlitz que se ejecutan en máquinas conectadas por una red en un entorno distribuido. Los principales beneficios de la replicación de datos son una mayor disponibilidad y un mejor rendimiento. Por ejemplo, si una tabla se almacena solo en un solo sitio en un entorno distribuido, y si ese sitio falla o deja de estar disponible debido a una falla de red, entonces la tabla se volverá inaccesible para otros sitios en el sistema. DataBlitz proporciona soporte para la replicación de datos en la granularidad de las tablas. Cada tabla se puede replicar en cualquier subconjunto de sitios del sistema ...
Referencias
- Arquitectura de DataBlitz
- La página de inicio de DataBlitz (Dali)
- Dali: documentos de investigación y diapositivas
- Lista de software de recuperación de datos de Linux
- Sistema de base de datos de memoria principal DataBlitz
- DataBlitz Storage Manager: rendimiento de la base de datos de memoria principal para aplicaciones críticas