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)?
Re: PureXML Bufferpools - 05-04-2012 , 08:42 AM
On May 4, 1:17*pm, Mark A <m... (AT) nowhere (DOT) com> wrote:
Re: PureXML Bufferpools - 05-04-2012 , 09:25 AM
On Fri, 04 May 2012 06:42:25 -0700, Frederik Engelen wrote:
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.
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:
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:
Re: PureXML Bufferpools - 05-04-2012 , 08:59 PM
On Fri, 04 May 2012 22:28:25 +0000, TheBoss wrote:
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.
Re: PureXML Bufferpools - 06-13-2012 , 03:21 AM
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.
Re: PureXML Bufferpools - 06-13-2012 , 04:08 PM
On Wed, 13 Jun 2012 01:21:39 -0700, Henrik Loeser wrote:
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?