DataBlitz is a general purpose
main memory
Computer data storage is a technology consisting of computer components and recording media that are used to retain digital data. It is a core function and fundamental component of computers.
The central processing unit (CPU) of a comput ...
database management system
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases span ...
, developed by Lucent
Bell Labs
Nokia Bell Labs, originally named Bell Telephone Laboratories (1925–1984),
then AT&T Bell Laboratories (1984–1996)
and Bell Labs Innovations (1996–2007),
is an American industrial research and scientific development company owned by mult ...
Research from 1993 to 1995. It replaced various home-grown database products used throughout Lucent beginning in 1997.
It was originally named "Dali", and provided recovery and
concurrency control
In information technology and computer science, especially in the fields of computer programming, operating systems, multiprocessors, and databases, concurrency control ensures that correct results for concurrent operations are generated, while ...
features. Later, Dali was renamed as "DataBlitz".
DataBlitz provides a platform for building high-performance shared memory applications that can survive failures or organize large amounts of data with features suited to many applications.
Applications for DataBlitz include:
* Switching and call routing in telecommunications
* Real-time billing
* High-performance Web servers
* Financial trading applications
* Data caching
Features of DataBlitz
*Architecture for high performance
**No disk I/O for read operations and limited disk I/O for write operations (for Real Time apps.)
**All algorithms optimized for memory rather than disk
**Direct shared memory access to data
**Native C++ API for faster data access
**Support Multithread applications.
*Full Transaction Semantics
**Atomicity
**Consistency
**Isolation
**Durability
*High Availability
**Data replication to enhance availability and redundancy
**Asynchronous and Synchronous data replication
**Multi level Recovery to handle all kinds of failures
**Enhanced
Fault Tolerance
Fault tolerance is the property that enables a system to continue operating properly in the event of the failure of one or more faults within some of its components. If its operating quality decreases at all, the decrease is proportional to the ...
**Code-word and Memory protection to detect and prevent data corruption due to stray application pointers
*Fuzzy checkpoints that only minimally interfere with transaction processing
*Relational C++ interfaces to optimize CPU cycles
*Supports a broad subset of ANSI SQL 99, using Dharma SQL engine
*Support SQL, ODBC and JDBC through Dharma SQL engine.
*On-line backup and restore facility
Relational
The DataBlitz Relational Manager is a C++ class library interface to a relational system with SQL support limited to definition statements. Schema information is stored in tables, and can be queried using the relational API itself. Indices may be created on arbitrary subsets of the attributes in a table.
Referential integrity
Referential integrity is a property of data stating that all its references are valid. In the context of relational databases, it requires that if a value of one attribute (column) of a relation (table) references a value of another attribute (e ...
is supported (foreign key constraints), as are null values, date and time attribute types, and variable length fields. Navigation is supported through
iterators over a single table. A conjunctive query may be specified for the iterator, and automatic index selection is performed. Both fine-grained and multi-granularity locking strategies are used for high concurrency without incurring too much overhead. Also, locks obtained by iterators avoid the "phantom" anomaly...
Collections and Indices
DataBlitz also provides higher-layer interfaces for grouping related data items, and performing scans as well as associative access (via indices) on data items in a group...
Storage Manager
Each database file in DataBlitz consists of segments, which are contiguous page-aligned units of allocation, similar to clusters in a
file system
In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one lar ...
. Chunk is a collection of segments. Recovery characteristics of memory (transient, zeroed, or persistent) are specified on a per-chunk basis at the time of chunk creation. Zeroed memory remains allocated upon recovery but each byte is set to zero. With transient memory, the data are no longer allocated upon recovery. Users allocate within a chunk, and do not specify a particular segment. Since segments can be arbitrarily large (within the size of the database), arbitrarily large objects can be stored contiguously. Upon allocation within a chunk, the system returns a standard DataBlitz pointer to the space, which specifies the offset within the file. The elements shown linking together segments in a chunk are themselves stored in a special chunk used for control information. Storing control information separately from the data reduces the likelihood of it being corrupted by stray application pointers...
Replication
In DataBlitz, data can be replicated across multiple DataBlitz instances running on machines connected by a network in a distributed environment. The primary benefits of
data replication
Replication in computing involves sharing information so as to ensure consistency between redundant resources, such as software or hardware components, to improve reliability, fault-tolerance, or accessibility.
Terminology
Replication in com ...
are higher availability and improved performance. For instance, if a table is stored only at a single site in a distributed setting, and if that site crashes or becomes unavailable due to a network failure, then the table would become inaccessible to other sites in the system. DataBlitz provides support for data replication at the granularity of tables. Each table can be replicated at any subset of sites in the system...
References
Architecture of DataBlitzThe DataBlitz (Dali) Home PageDataBlitz Main Memory DataBase SystemDataBlitz Storage Manager: Main-Memory Database Performance for Critical Applications
Proprietary database management systems