Browse Prior Art Database

Method And System For Row Level Sequential Detection Of Data Pages In A Relational Model Database Server

IP.com Disclosure Number: IPCOM000201619D
Publication Date: 2010-Nov-16
Document File: 3 page(s) / 24K

Publishing Venue

The IP.com Prior Art Database

Abstract

A method and system for row level sequential detection of data pages in a relational model database server is disclosed. By performing row level sequential detection, a sequential pattern associated with data pages is quickly detected as compared to a page level sequential detection.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 50% of the total text.

Page 01 of 3

Method And System For Row Level Sequential Detection Of Data Pages In A Relational Model Database Server

Disclosed is a method and system for row level sequential detection of data pages in a relational model database server. By performing row level sequential detection, a sequential pattern associated with data pages is more easily and quickly detected as compared to a page level sequential detection.

Typically, a page level sequential algorithm may be used to detect when data pages are being accessed in a sequential manner. When a relational model database server uses an index to locate the data pages that need to be read, an index cluster ratio is an indication of how well the data pages are ordered. When the cluster ratio is exactly 100% and the index indicates that relational model database server should read all the data pages for a specific key range, then dynamic prefetch algorithm may detect that the pages are sequential and will then asynchronously read, for example, 128K worth of pages on each input/output operation. However, over time when new row inserts degrade the cluster ratio, some of the pages become random,

which makes it harder to

detect the sequential pages. Thus, the relational model database server may have a name for the clustered or sequential pages, i.e., "page sequential". The random or unclustered pages are referred as "non-page-sequential".

Now consider examples A and B in which rows reside on the following page numbers:

Example A: 1000,1000,1000,1000,2050,1000,1000,1000,2601,1000,1000,1000,1001 ,1001,1001

Example B: 1000,1000,1000,1000,2050,3000,1000,1000,1000,2601,1000,1000,1000, 1001 ,1001,1001

The rows in pages marked in bold are counted as non-page-sequential

                                                  the t racking is by page number. Further, the rows of pages marked in italics are counted as page-sequential. The other rows may not be counted at all because they are considered duplicates of the same page and tracking is at the page level only.

Thus, each time when a query moves from a clustered page to a random page, the random page is counted as "non-page-sequential". Further,

when the query returns to

the previous clustered page, the previous clustered page is also counted as "non-page-sequential". In the above two examples, as a relational model database server processes the rows on page 1000, the server may have to jump to two different random pages 2050 and 2601 and page 3000 as indicated in example B. In this scenario, the server may not only count pages 2050 and 2601 as non-page sequential but also, a first row after returning to page 1000 as non-page-sequential. Thereafter, only when the query advances to the next sequential page i.e., page 1001 in example B, then the server may count a page as page sequential. This is because the counting of "page-sequential" is only considered when 2 consecutive pages are in sequence (or

within a short distance) excluding duplicate accesses to the same page. Thus,

when

with the

1


Page 02 of 3

se...