473,413 Members | 1,798 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,413 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 8209
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 have the 4.1.1 alpha source (4.0 is no good,...
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. The application I am working in (not my choice)...
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. I've already found out several times the way I was...
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 = Graphics.FromImage(bmdest) Dim hdc As IntPtr = g.GetHdc() as the...
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 (e.Graphics.DrawImage( bitmap, destrect)). Now,...
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 indexes? (If you could give me an example, that would be...
3
by: botched | last post by:
How can I convert a bitmap's color depth from 32bits to 16bits?
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

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.