Datablitz
Encyclopedia
DataBlitz is a general purpose main memory database management system
, developed by Lucent Bell Labs
Research in 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:
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...
. 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...
Database management system
A database management system is a software package with computer programs that control the creation, maintenance, and use of a database. It allows organizations to conveniently develop databases for various applications by database administrators and other specialists. A database is an integrated...
, developed by Lucent Bell Labs
Bell Labs
Bell Laboratories is the research and development subsidiary of the French-owned Alcatel-Lucent and previously of the American Telephone & Telegraph Company , half-owned through its Western Electric manufacturing subsidiary.Bell Laboratories operates its...
Research in 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
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 getting those results as quickly as possible.Computer...
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 access for read operations and limited disk access for write operations
- 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 ToleranceFault-tolerant systemFault-tolerance or graceful degradation is the property that enables a system to continue operating properly in the event of the failure of some of its components. A newer approach is progressive enhancement...
- 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 integrityReferential integrity
Referential integrity is a property of data which, when satisfied, requires every value of one attribute of a relation to exist as a value of another attribute in a different relation ....
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 systemFile system
A file system is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device which contain it. A file system organizes data in an efficient manner and is tuned to the...
. 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...