Bitmap indexes are tailored to data warehouses.The bitmap index has an interesting history. According to the book: Database Systems - The Complete Book from Jeffrey Ullman (Professor of Computer Science at Stanford University):
In its simplest form, a bitmap index on an index consists of one vector of bits (i.e., bitmap) per attribute value, where the size of each bitmap is equal to the number of records in the indexed relation. For example, if the attribute is day of the week, then there would be seven bitmap vectors for that attribute, one for each day. The bitmap vector corresponding to Monday would have a 1 at position i if record i contains Monday in the day-of-week attribute. This approach is called a value-list index.
There was a company called Nucleus, founded by Ted Glaser that patented the idea and developed a DBMS in which the bitmap index was both the index structure and the data representation. The company failed in the late 1980's, but the idea has recently incorporated into several major commercial database systems.But according to other sources: Data Warehouse Tuning: What's Different About Data Warehouses
These indexes have already been used in some commercial products to speed up query processing: the main early example was Model 204, a prerelational DBMS from Computer Corporation of America.and VLDB Vision - How the VLDB scene has changed
Bitmap indexes were introduced to the market in the 1970s by Computer Corporation of America (www.cca-int.com) in Model 204, a DBMS for the mainframe. Still around and still delivering astonishingly good performance in predicate evaluation and other areas, Model 204 undoubtedly features the most mature, and probably the best integrated, implementation of bitmap indexes. Of all the database engines on the market, it alone was designed to use bitmap indexes from the beginning.Computer Corporation of America (CCA) was founded in 1965. More info about the company you can read on its company's home page. More info about the 204 model you can read here:
Bitmap indexes were first developed for database use in the Model 204 product from Computer Corporation of America.Another interesting finding related to the bitmap indexes subject is a patent of Oracle Corporation from 2001 year: Supporting bitmap indexes on primary B+tree like structures (Short Description, Detailed Description)
Labels: Indexes
It's a slight simplification that there is one bitmap per distinct value with Oracle. Oracle creates a bitmap entry for a contiguous range of rowids, Jonathan Lewis wrote about this some while ago in DBAZINE
Continued...
Multiple entries per distinct key may kick in at around 24,000 rows.
Other vendors have implemented bitmap indexes in their products but often they are 'dynamic' indexes created by fast scanning conventional b-tree indexes.
Thank you for this clarification.
For everyone who is interested, the link for the Jonathan's article is: http://www.dbazine.com/oracle/or-articles/jlewis3
It is very detailed as always.
According to other DBMS vendors, as far as I know, DB2 still didn't have permanent bitmap indexes. They are using dynamic bitmap indexes that they build during query processing and uses them during query execution.
It is one of the main differences shown in the competitive analysis between Oracle and DB2 according the performance:
http://www.oracle.com/technology/deploy/performance/withDB2.html
I don't know details about other vendors.
Enjoy!