Storage model for large object columns
First Claim
1. A computer-implemented method for allocating space associated with at least one table of a computing system, the at least one table having at least a first column arranged to accommodate large object (LOB) data and a second column arranged to accommodate LOB data, the at least one table being arranged within a database, the method comprising:
- allocating a first LOB data segment associated with the at least one table, wherein the first LOB data segment is arranged within the database;
associating the first column with the first LOB data segment;
after the associating the first column with the first LOB data segment, when a size of a first LOB is greater than a first threshold size, storing the first LOB, associated with the first column, in the first LOB data segment at a first location;
associating the second column with the first LOB data segment; and
after the associating the second column with the first LOB data segment, when a size of a second LOB is greater than a second threshold size, storing the second LOB, associated with the second column, in the first LOB data segment at a second location subsequent to the first location, wherein the second LOB is different from the first LOB.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus for enabling a plurality of table columns arranged to be associated with large objects (LOBs) to share a single LOB data segment within a database are disclosed. According to one aspect of the present invention, a method for allocating space associated with at least a first column arranged to accommodate LOB data and a second column arranged to accommodate LOB data includes allocating a first LOB data segment. The method also includes associating both the first column and the second column with the first LOB data segment.
11 Citations
51 Claims
-
1. A computer-implemented method for allocating space associated with at least one table of a computing system, the at least one table having at least a first column arranged to accommodate large object (LOB) data and a second column arranged to accommodate LOB data, the at least one table being arranged within a database, the method comprising:
-
allocating a first LOB data segment associated with the at least one table, wherein the first LOB data segment is arranged within the database; associating the first column with the first LOB data segment; after the associating the first column with the first LOB data segment, when a size of a first LOB is greater than a first threshold size, storing the first LOB, associated with the first column, in the first LOB data segment at a first location; associating the second column with the first LOB data segment; and after the associating the second column with the first LOB data segment, when a size of a second LOB is greater than a second threshold size, storing the second LOB, associated with the second column, in the first LOB data segment at a second location subsequent to the first location, wherein the second LOB is different from the first LOB. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program product for allocating space associated with at least one table of a computing system, the at least one table having at least a first column arranged to accommodate large object (LOB) data and a second column arranged to accommodate LOB data, the at least one table being arranged within a database, the computer program product comprising:
-
computer code that causes a first LOB data segment associated with the at least one table to be allocated, wherein the first LOB data segment is arranged within the database; computer code that causes the first column to be associated with the first LOB data segment; computer code that causes the second column to be associated with the first LOB data segment; computer code that causes a first LOB to be received, the first LOB being associated with the first column; computer code that causes a second LOB to be received, the second LOB being associated with the second column; computer code that causes a size of the first LOB to be determined; computer code that causes the first LOB, associated with the first column, to be stored in the first LOB data segment when it is determined that the size of the first LOB exceeds a first threshold; computer code that causes a size of the second LOB to be determined; computer code that causes the second LOB, associated with the second column, to be stored in the first LOB data segment when it is determined that the size of the second LOB exceeds a second threshold; and a computer-readable medium that stores the computer codes. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A database in a computing system, the database comprising:
-
at least one table stored in a memory device of the computing system, the at least one table having a first large object (LOB) column and a second LOB column; and a first LOB data segment, the first LOB data segment being arranged to store data associated with the at least one table, both the first LOB column and the second LOB column being mapped to the first LOB data segment; first data, associated with the first LOB column, having a size that exceeds a first threshold amount and being arranged to be stored in the first LOB data segment; and second data, associated with the second LOB column, having a size that exceeds a second threshold amount and being arranged to be stored in the first LOB data segment where the first data is stored. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A computer-implemented method for storing data associated with at least a first column arranged to accommodate large object (LOB) data and a second column arranged to accommodate LOB data, the first column and the second column each being associated with a shared LOB data segment, the first column, the second column, and the shared LOB data segment being arranged within a database, the method comprising:
-
receiving a first set of data to be stored, the first set of data being associated with the first column; determining when the first set of data is of a size that exceeds a first threshold; storing the first set of data in the shared LOB data segment when it is determined that the first set of data is of the size that exceeds the first threshold; storing the first set of data in-line in the first column when it is determined that the first set of data is not of the size that exceeds the first threshold; receiving a second set of data to be stored, the second set of data being associated with the second column, wherein the second set of data to be stored is different from the first set of data; determining when the second set of data is of a size that exceeds a second threshold; storing the second set of data in the shared LOB data segment when it is determined that the second set of data is of the size that exceeds the second threshold; and storing the second set of data in-line in the second column when it is determined that the second set of data is not of the size that exceeds the second threshold. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A computer-implemented method for allocating space associated with at least one table of a computing system, the at least one table having at least a first column and a second column, the at least one table being arranged within a database, the method comprising:
-
allocating a first data segment, associated with the at least one table, to store data associated with the first and second columns, wherein the first data segment is arranged within the database; associating the first column with the first data segment; associating the second column with the first data segment; receiving a first LOB to be stored, the first LOB having a first size greater than a first threshold; receiving a second LOB to be stored, the second LOB having a second size greater than a second threshold; and storing both the first LOB, associated with the first column, and the second LOB, associated with the second column, in the first LOB data segment. - View Dependent Claims (38, 39, 40, 41, 42)
-
-
43. A computer program product for storing data associated at least a first column arranged to accommodate large object (LOB) data and a second column arranged to accommodate LOB data, the first column and the second column each being associated with a shared LOB data segment, the first column, the second column, and the shared LOB data segment being arranged within a database, the computer program product comprising:
-
computer code that causes a first set of data to be stored to be received, the first set of data being associated with the first column; computer code that causes a determination of when the first set of data is of a size that exceeds a first threshold; computer code that causes the first set of data to be stored in the shared LOB data segment when it is determined that the first set of data is of the size that exceeds the first threshold; computer code that causes the first set of data to be stored in-line in the first column when it is determined that the first set of data is not of the size that exceeds the first threshold; computer code that causes a second set of data to be stored to be received, the second set of data being associated with the second column; computer code that causes a determination of when the second set of data is of a size that exceeds a second threshold; computer code that causes the second set of data to be stored in the shared LOB data segment when it is determined that the second set of data is of the size that exceeds the second threshold; computer code that causes the second set of data to be stored in-line in the second column when it is determined that the second set of data is not of the size that exceeds the second threshold; and a computer-readable medium that stores the computer code. - View Dependent Claims (44, 45, 46, 47, 48, 49)
-
-
50. A computing system comprising:
-
a database, the database including a first table column arranged to be associated with large object (LOB) data and a second table column arranged to be associated with LOB data, the database further including a first LOB data segment; means for allocating the first LOB data segment to both the first table column and the second table column; means for storing a LOB associated with the first table column in the first LOB data segment; and means for storing a LOB associated with the second table column in the first LOB data segment. - View Dependent Claims (51)
-
Specification