473,839 Members | 1,508 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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 8304
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 multidimensiona l 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 "dynamicall y
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 "dynamicall y
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

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

Similar topics

0
1788
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, because it doesn't support subqueries). I changed the two defines in sql/mysql_priv.h and include/myisam.h, respectively. The typedef for key_map is no longer ulong or ulonglong, but instead Bitmap(64);
4
2417
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) demands that I draw into the display by first creating a Bitmap, and then drawing into a DisplayContext using BitBlt(). The pseudocode looks something like: // Create an empty bitmap: HDC hScreen = GetDC (0); pHandle = CreateCompatibleBitmap...
7
8251
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
11935
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 doing something was really inefficient and could reduce 10 lines of code with 2, etc. For reading, I am using a TcpClient and I call NetworkStream ns = client.GetStream(); to get a stream stream.Read(buffer, 0, buffer.Length);
8
4326
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 FromImage call will fail for indexed bitmaps.
4
5273
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
2573
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, I want to add a button. When user click on it, I want the bitmap shift to the left by 10% and fill the new area with new information requested. Here is the code I have in the button handler: if (bitmap == null) return; Graphics graphics =...
1
2498
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 great) Best Regards
3
4656
by: botched | last post by:
How can I convert a bitmap's color depth from 32bits to 16bits?
0
9698
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10913
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10592
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 tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10656
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10299
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9434
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, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7834
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
1
4495
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
4067
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.