Bitmap Index

A bitmap index is a special kind of database index that uses bitmaps.

Bitmap indexes have traditionally been considered to work well for data such as Boolean values, which have a modest number of distinct values – in this case, boolean True and False - but many occurrences of those values. This would happen if, for example, you had data on whether or not each resident in a city has internet access. Bitmap indexes use bit arrays (commonly called bitmaps) and answer queries by performing bitwise logical operations on these bitmaps. Bitmap indexes have a significant space and performance advantage over other structures for query of such data. Their drawback is they are less efficient than the traditional B-tree indexes for columns whose data is frequently updated: consequently, they are more often employed in read-only systems that are specialized for fast query - e.g., data warehouses, and generally unsuitable for online transaction processing applications. However, this drawback appears to apply only to their implementation in relational database management systems: certain non-relational DBMSs, notably Intersystems Cache, a hierarchical database, use bitmap indexes for low-cardinality columns in transactional systems.

Some researchers argue that Bitmap indexes are also useful for moderate or even high-cardinality data (e.g., unique-valued data) which is accessed in a read-only manner, and queries access multiple bitmap-indexed columns using the AND, OR or XOR operators extensively.

Bitmap indexes are also useful in data warehousing applications for joining a large fact table to smaller dimension tables such as those arranged in a star schema.

Read more about Bitmap Index:  Example, Compression, Encoding, Binning, History, In-memory Bitmaps

Famous quotes containing the word index:

    Exile as a mode of genius no longer exists; in place of Joyce we have the fragments of work appearing in Index on Censorship.
    Nadine Gordimer (b. 1923)