472,338 Members | 1,635 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,338 software developers and data experts.

Bitmap indexes

Hello,

At
http://en.wikipedia.org/wiki/Compari...gement_systems
it's stated that DB2 doesn't have bitmap indexes. This seemed strange to
me, so I tried looking in the DB2 UDB (for LUW) manual without luck.
Googling turned up vector indexes, but it seems that those are only
available for the mainframe and AS/400 versions of UDB.

Can someone summarize UDB's support for indexes suitable for working with
OLAP, cubes, etc? - Especially: Do the various flavors of UDB still have
differences in their index type support?

--
Greetings from Troels Arvin, Copenhagen, Denmark

Nov 12 '05 #1
10 7995
This is not a direct answer to the "bitmap index" question, but for
OLAP/cube-type performance structures, the multi-dimensional-cluster
(or MDC) certainly is applicable. This has also been described as a
"block index", but its real name is multidimensional cluster. Reseach
here or at ibm.com

Pete H

Nov 12 '05 #2
Troels Arvin wrote:
At
http://en.wikipedia.org/wiki/Compari...gement_systems
it's stated that DB2 doesn't have bitmap indexes. This seemed strange to me, so I tried looking in the DB2 UDB (for LUW) manual without luck.
Googling turned up vector indexes, but it seems that those are only
available for the mainframe and AS/400 versions of UDB.
That article is wrong on a few accounts - lack of support for temp
tables, materialized views, and bitmaps. I just updated it (hurray for
wikis).

DB2 handles bitmap indexes differently than Oracle - it generates them
dynamically.

Can someone summarize UDB's support for indexes suitable for working
with OLAP, cubes, etc?
DB2 supports b-tree indexes as well as dynamic bitmap indexes. I find
its clustering via MDC to generally be of more value than indexing with
OLAP however. And MDC can work in conjunction with inter-partition
parallelism.
Especially: Do the various flavors of UDB still have
differences in their index type support?


Not that I'm aware of.

Here's a link that might be useful to you:
http://publib.boulder.ibm.com/infoce...lp/conhow2.htm

ken

Nov 12 '05 #3
On Tue, 08 Mar 2005 07:37:24 -0800, kenfar wrote:
That article is wrong on a few accounts - lack of support for temp tables,
materialized views, and bitmaps. I just updated it (hurray for wikis).
:-)
DB2 supports b-tree indexes as well as dynamic bitmap indexes. I find its
clustering via MDC to generally be of more value than indexing with OLAP
however. And MDC can work in conjunction with inter-partition
parallelism.
Have printed some MDC documentation for later reading; thanks.
Here's a link that might be useful to you:
http://publib.boulder.ibm.com/infoce...lp/conhow2.htm


I get a "The requested subject is not available" error message from that
URL.

--
Greetings from Troels Arvin, Copenhagen, Denmark

Nov 12 '05 #4
kenfar wrote:

That article is wrong on a few accounts - lack of support for temp
tables, materialized views, and bitmaps. I just updated it (hurray for
wikis).

DB2 handles bitmap indexes differently than Oracle - it generates them
dynamically.


I guess it comes down to what your definition of an index is.

To me an index is stored for reuse multiple times, so a "dynamically
generated bit mapped index" is a little bit of anathema. As a corollary,
does a hash table built during a hash join then also qualify as a 'hash
index' ?

Note also the wiki definition of an index.

"When talking about databases, indexing is a technique used by most
current database management systems to speed up particular kinds of
queries (usually by internally generating and storing redundant
information to more quickly locate table entries)."

Nov 12 '05 #5
>> DB2 handles bitmap indexes differently than Oracle - it generates
them
dynamically. I guess it comes down to what your definition of an index is.


The pros & cons of each strategy are up for debate. But given past
experience, not a pleasant debate. Since it would probably be nothing
more than a rehashing of a thread for a year ago, anyone can google
for it if they're interested.
Note also the wiki definition of an index.


Wikipedia is pretty cool, but its info is spotty.

Nov 12 '05 #6
Sorry about that, didn't realize that the infocenter url didn't have
the search criteria in it.

Here's the full url to infocenter:
http://publib.boulder.ibm.com/infoce...lp/conhow2.htm
From there search on star joins - and you'll find bitmap index

operations described within the article 'Strategies for selecting
optimal joins'

ken

Nov 12 '05 #7
On Tue, 08 Mar 2005 09:35:41 -0800, kenfar wrote:
Here's the full url to infocenter:
http://publib.boulder.ibm.com/infoce...lp/conhow2.htm
From there search on star joins - and you'll find bitmap index

operations described within the article 'Strategies for selecting optimal
joins'


This URL looks like it's e-mail/news-safe:
http://publib.boulder.ibm.com/infoce...n/c0005314.htm

--
Greetings from Troels Arvin, Copenhagen, Denmark

Nov 12 '05 #8
"Mark Townsend" <ma***********@comcast.net> wrote in message

I guess it comes down to what your definition of an index is.

To me an index is stored for reuse multiple times, so a "dynamically
generated bit mapped index" is a little bit of anathema. As a corollary,
does a hash table built during a hash join then also qualify as a 'hash
index' ?

Note also the wiki definition of an index.

"When talking about databases, indexing is a technique used by most
current database management systems to speed up particular kinds of
queries (usually by internally generating and storing redundant
information to more quickly locate table entries)."

If one were to look at decision support benchmarks published by the TPC, one
would see that DB2 does very well in terms of performance against all
competitors. Database vendors use different methods to achieve their
results, and 99.99% of the time it is foolish for customers to try and
predict how an database product will perform just by looking at its
"feature" list.

http://www.tpc.org/tpch/results/tpch_perf_results.asp

If you don't like the TPC benchmark, conduct your own. Don't rely on
"feature list" to understand the internals of how the database achieves its
performance.
Nov 12 '05 #9
>From there search on star joins - and you'll find bitmap index
operations described within the article 'Strategies for selecting
optimal joins'


Right - and that's sort of my point. In Oracle parlance we would call
this a bit mapped join (for which Oracle provides bit mapped join
indexes). Orthogonal to but not the same as a bit mapped index. Note
that it helps optimize the "fact to multiple dimensions" join problem,
especially where your predicates are based on the dimensional values (as
do bit mapped join indexes in Oracle), but doesn't help much with
census style queries solely against the fact table (where a bit mapped
index would).

Redbrick does bit map indexes a la Oracle, and IBM now owns Redbrick,
which presumably gives them a clear and present IPR to do full BMIs if
they want to. So perhaps you will see 'stored' BMIs in some future
version of DB2 ?

Nov 12 '05 #10
Mark A wrote:
If one were to look at decision support benchmarks published by the TPC, one
would see that DB2 does very well in terms of performance against all
competitors. Database vendors use different methods to achieve their
results, and 99.99% of the time it is foolish for customers to try and
predict how an database product will perform just by looking at its
"feature" list.
Strangely enough, I don't think Oracle uses BMIs in the TPC-H. I'm
guessing that generally the data model and queries as defined in H don't
benefit too much from them.
Don't rely on
"feature list" to understand the internals of how the database achieves its
performance.


Too true. However, it pays to know what a specific feature actually does
in a specific vendors implementation to understand how it can affect
performance. We all, unfortunately, tend to overload terms, thereby
muddying the waters a little.
Nov 12 '05 #11

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Mike Ruskai | last post by:
I've searched Google every way I know how, and came up with two answers that refer to MAX_KEY and MI_MAX_KEY, along with a typedef for key_map. I...
4
by: noleander | last post by:
Hey. I've got a color photo in a simple unsigned charRGB array. The photo does not exist on disk. I want to display the photo in my window. ...
7
by: Fir5tSight | last post by:
Hi All, I used the following code in C#: using System.Drawing; //blah blah blah Bitmap bmp = new Bitmap();
14
by: eliss.carmine | last post by:
I'm using TCP/IP to send a Bitmap object over Sockets. This is my first time using C# at all so I don't know if this is the "right" way to do it....
8
by: Joergen Bech | last post by:
Suppose I have Dim bm As New Bitmap(16, 16,Imaging.PixelFormat.Format8bppIndexed) I cannot use Dim g As Graphics =...
4
by: krishhhna | last post by:
what is the bitmap index ? how it can be used? what is the difference between bitmap index and other indexes?
5
by: =?Utf-8?B?QVRU?= | last post by:
I have a bitmap of 100X100. On the load, the bitmap is created by a function (createimage()). On my OnPaint, I draw the image back to the screen...
1
by: zeny | last post by:
Hi everybody! I have two questions concerning postgresql indexes: 1- Does PostgreSQL support bitmap indexes? 2- How does one create GIN...
3
by: botched | last post by:
How can I convert a bitmap's color depth from 32bits to 16bits?
0
better678
by: better678 | last post by:
Question: Discuss your understanding of the Java platform. Is the statement "Java is interpreted" correct? Answer: Java is an object-oriented...
0
by: Kemmylinns12 | last post by:
Blockchain technology has emerged as a transformative force in the business world, offering unprecedented opportunities for innovation and...
0
by: Naresh1 | last post by:
What is WebLogic Admin Training? WebLogic Admin Training is a specialized program designed to equip individuals with the skills and knowledge...
0
jalbright99669
by: jalbright99669 | last post by:
Am having a bit of a time with URL Rewrite. I need to incorporate http to https redirect with a reverse proxy. I have the URL Rewrite rules made...
0
by: Matthew3360 | last post by:
Hi there. I have been struggling to find out how to use a variable as my location in my header redirect function. Here is my code. ...
0
by: AndyPSV | last post by:
HOW CAN I CREATE AN AI with an .executable file that would suck all files in the folder and on my computerHOW CAN I CREATE AN AI with an .executable...
0
by: Arjunsri | last post by:
I have a Redshift database that I need to use as an import data source. I have configured the DSN connection using the server, port, database, and...
0
hi
by: WisdomUfot | last post by:
It's an interesting question you've got about how Gmail hides the HTTP referrer when a link in an email is clicked. While I don't have the specific...
0
by: Matthew3360 | last post by:
Hi, I have been trying to connect to a local host using php curl. But I am finding it hard to do this. I am doing the curl get request from my web...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.