×

Method and system for intra-row, inter-row compression and decompression of data items in a database using a page-based structure where allocating a page-buffer based on a stored value indicating the page size

  • US 7,769,728 B2
  • Filed: 12/06/2005
  • Issued: 08/03/2010
  • Est. Priority Date: 12/06/2004
  • Status: Expired due to Fees
First Claim
Patent Images

1. In a computerized database system, a computer program product having computer-executable instructions stored thereon that, when executed, perform a method of compressing an ordered sequence of structurally similar data items in a collection into one or more fixed-size storage pages, the method comprising:

  • distributing data in a manner that allows subsequent processing, based on parts of the data item that are unique and from which an order in the sequence can be determined, to find any particular data item without reading any of the storage pages other than the page where the data of the item is located, while also allowing the insertion of new data items in the collection and removal of data items from the collection by reading and rewriting a small subset of the storage pages and possibly adding one or more new pages to the set of pages used by the collection, the set of pages being stored in an external list;

    establishing for each page a corresponding intermediate buffer where the data items stored on that page are represented in a decompressed form, the decompressed form being one of a fully decompressed form or a partially decompressed form, and when the data on a page is needed for reading, insertions, or deletions, the corresponding intermediate buffer is found in cache or created as the page data is being read;

    if inserting an item into the collection, reading the intermediate buffer corresponding to the page where it would be located as described in the acts of locating pages and configuring each page, after which the item is inserted into the intermediate buffer in the appropriate sequence;

    if removing an item from the collection, reading the intermediate buffer corresponding to the page where it would be located as described in the acts of locating pages and establishing intermediate buffers, after which the item is removed from the intermediate buffer;

    if no data items are found in the intermediate buffer after processing the intermediate buffers that have been altered, removing the corresponding page from the list;

    if the data can be compressed into a single page, recompressing the intermediate buffer into a single page; and

    if the data cannot be compressed into a single page, splitting the intermediate buffer into a plurality of intermediate buffers, each corresponding to a page in the list.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×