dbTalk Databases Forums  

PureXML Bufferpools

comp.databases.ibm-db2 comp.databases.ibm-db2


Discuss PureXML Bufferpools in the comp.databases.ibm-db2 forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Mark A
 
Posts: n/a

Default PureXML Bufferpools - 05-04-2012 , 06:17 AM






I have heard various different stories from IBM about whether (and how) DB2 uses bufferpools for
PureXML. At first, IBM claimed that bufferpools were used (even when XML columns were not inlined),
but when asked whether it was the same bufferpool as the table or index data (as defined in the
CREATE TABLE statement) the answer is no, it is some other bufferpool.

But what other bufferpool is it? Is it really a bufferpool (syscat.bufferpools) or some other memory
heap or disk caching? How can we track or configure how much memory is used for these memory
heaps, and how do they work compared to regular bufferpools.

Would it be advisable to specify a separate LONG tablespace for tables with XML columns (not inlined,
or at least not likely to fit in inline space), and then make sure that tablespace has file system caching
turned on (assuming we have file system caching off for regular and index tablespaces)?

Reply With Quote
  #2  
Old   
Frederik Engelen
 
Posts: n/a

Default Re: PureXML Bufferpools - 05-04-2012 , 08:42 AM






On May 4, 1:17*pm, Mark A <m... (AT) nowhere (DOT) com> wrote:
Quote:
I have heard various different stories from IBM about whether (and how) DB2 uses bufferpools for
PureXML. At first, IBM claimed that bufferpools were used (even when XML columns were not inlined),
but when asked whether it was the same bufferpool as the table or index data (as defined in the
CREATE TABLE statement) the answer is no, it is some other bufferpool.

But what other bufferpool is it? Is it really a bufferpool (syscat.bufferpools) or some other memory
heap or disk caching? How can we track or configure how much memory is used for these memory
heaps, and how do they work compared to regular bufferpools.

Would it be advisable to specify a separate LONG tablespace for tables with XML columns (not inlined,
or at least not likely to fit in inline space), and then make sure that tablespace has file system caching
turned on (assuming we have file system caching off for regular and indextablespaces)?
Have you tried monitoring using the pool_xda_l_reads and related
elements?

--
Frederik Engelen

Reply With Quote
  #3  
Old   
Mark A
 
Posts: n/a

Default Re: PureXML Bufferpools - 05-04-2012 , 09:25 AM



On Fri, 04 May 2012 06:42:25 -0700, Frederik Engelen wrote:

Quote:
Have you tried monitoring using the pool_xda_l_reads and related
elements?
No, I have not.

Recently, George Baklarz from the Toronto lab gave a presentation at my company and I asked him
about this question, and he initially said (as others in IBM have claimed) that PureXML uses
bufferpools for XML data (including data not inlined), but when I asked him which bufferpool, he said
PureXML does not use the bufferpool assigned to the tablespaces specified in the create table
statement. He did not know any additional information.

I am beginning to wonder if XML columns actually use a bufferpool, or whether they act like LOB
columns, since no one can provide any specifics to my questions. Perhaps there is some other memory
heap used, but I want to know which one, and exactly how it works, and how much memory is allocated
for such purposes.

Reply With Quote
  #4  
Old   
TheBoss
 
Posts: n/a

Default Re: PureXML Bufferpools - 05-04-2012 , 05:28 PM



Mark A <mark (AT) nowhere (DOT) com> wrote in news:jo0os8$17j$1 (AT) dont-email (DOT) me:

Quote:
On Fri, 04 May 2012 06:42:25 -0700, Frederik Engelen wrote:

Have you tried monitoring using the pool_xda_l_reads and related
elements?

No, I have not.

Recently, George Baklarz from the Toronto lab gave a presentation at
my company and I asked him about this question, and he initially said
(as others in IBM have claimed) that PureXML uses bufferpools for XML
data (including data not inlined), but when I asked him which
bufferpool, he said PureXML does not use the bufferpool assigned to
the tablespaces specified in the create table statement. He did not
know any additional information.

I am beginning to wonder if XML columns actually use a bufferpool, or
whether they act like LOB columns, since no one can provide any
specifics to my questions. Perhaps there is some other memory heap
used, but I want to know which one, and exactly how it works, and how
much memory is allocated for such purposes.

About half a year ago I visited "DB2 Galileo Day" in Amsterdam, an event
organised by IBM as part of a European tour to give a technical preview
of DB2 10 (and attract customer sites for their beta program).
The guy that gave all (!) presentations was Henrik Loeser from IBM
Germany who had spent quite some years in the US Research Labs, involved
with the development of PureXML.
Henrik has written a number of articles on PureXML on his blog that
probably may be of interest to you, and I am sure he doesn't mind if you
contact him directly if you have specific questions on the subject.
Here's a few PureXML-related pointers to his blog, I'm sure you will be
able to find more:

http://blog.4loeser.net/2009/02/db2-...fferpools-xda-
object.html

http://blog.4loeser.net/2009/03/puzz...ons-index.html

http://blog.4loeser.net/2009/11/smal...-fast-lob.html

http://blog.4loeser.net/2010/11/pure...explained.html

Cheers!

--
Jeroen

Reply With Quote
  #5  
Old   
Mark A
 
Posts: n/a

Default Re: PureXML Bufferpools - 05-04-2012 , 08:59 PM



On Fri, 04 May 2012 22:28:25 +0000, TheBoss wrote:

Quote:
About half a year ago I visited "DB2 Galileo Day" in Amsterdam, an event
organised by IBM as part of a European tour to give a technical preview
of DB2 10 (and attract customer sites for their beta program). The guy
that gave all (!) presentations was Henrik Loeser from IBM Germany who
had spent quite some years in the US Research Labs, involved with the
development of PureXML.
Henrik has written a number of articles on PureXML on his blog that
probably may be of interest to you, and I am sure he doesn't mind if you
contact him directly if you have specific questions on the subject.
Here's a few PureXML-related pointers to his blog, I'm sure you will be
able to find more:

http://blog.4loeser.net/2009/02/db2-...fferpools-xda-
object.html

http://blog.4loeser.net/2009/03/puzz...ons-index.html

http://blog.4loeser.net/2009/11/smal...-fast-lob.html

http://blog.4loeser.net/2010/11/pure...explained.html

Cheers!
Thank you for those links. One interesting thing is that XML data will be placed in the LONG tablespace
if specified in the CREATE table, but unlike LOB columns, does use the bufferpool assigned to that
tablespace. I am not sure that is a complete explanation of how it works, but does help.

Reply With Quote
  #6  
Old   
Henrik Loeser
 
Posts: n/a

Default Re: PureXML Bufferpools - 06-13-2012 , 03:21 AM



Quote:
Thank you for those links. One interesting thing is that XML data will beplaced in the LONG tablespace
if specified in the CREATE table, but unlike LOB columns, does use the bufferpool assigned to that
tablespace. I am not sure that is a complete explanation of how it works,but does help.

Hey,
XML data is indeed buffered, regardless of whether it is inlined or stored in the XDA object. When it is inlined, i.e., stored as part of the row, it will use the same bufferpool (and tablespace) as the regular (relational) data, i.e., the DAT object. For the XML data stored in the XDA, you can specifiy LONG IN as part of CREATE TABLE. Then, the XML data goes to that tablespace and uses the associated bufferpool.

I hope that helps. I will write a blog article about it shortly.

Henrik

Reply With Quote
  #7  
Old   
Mark A
 
Posts: n/a

Default Re: PureXML Bufferpools - 06-13-2012 , 04:08 PM



On Wed, 13 Jun 2012 01:21:39 -0700, Henrik Loeser wrote:

Quote:
Hey,
XML data is indeed buffered, regardless of whether it is inlined or
stored in the XDA object. When it is inlined, i.e., stored as part of
the row, it will use the same bufferpool (and tablespace) as the regular
(relational) data, i.e., the DAT object. For the XML data stored in the
XDA, you can specifiy LONG IN as part of CREATE TABLE. Then, the XML
data goes to that tablespace and uses the associated bufferpool.

I hope that helps. I will write a blog article about it shortly.

Henrik
I understand the INLINE part (works like LOB columns in that respect).

Assuming there is no INLINE (or size exceeds the INLINE) what happens if no LONG tablespace is
specified? Is it stored in the same tablespace as table data? Does it also use the same bufferpool.

What seems suspicious to me is that XML data uses LONG tablespace and bufferpool for that
tablespace, and LOB data uses the LONG tablespace but does not use the bufferpool (all I/O is direct I/
O). So that makes me wonder if XML data acutally uses the bufferpool (please don't talk about INLINE
anymore, because I don't care about that). And if XML actually uses the bufferpool, then why can't IBM
do that for LOB data if they do it for XML data?

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.