DataBlitz Main Memory RDBMS | |
Developer: | Bell Labs |
Latest Release Version: | 7.1 |
Operating System: | Linux, Solaris |
Genre: | RDBMS |
License: | Proprietary |
DataBlitz is a general purpose main memory database management system, developed by Lucent Bell Labs 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 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:
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 is supported (foreign key constraints), as are null values, date and time attribute types, and variable length fields. Navigation is supported throughiterators 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...
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...
Each database file in DataBlitz consists of segments, which are contiguous page-aligned units of allocation, similar to clusters in a file system. 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...
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 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...