Patent ID: 7631010

Claim:
A database management system that manages a database including a database data page, the database data page providing sub-page storage space, the database management system further managing a plurality of concurrent database transactions, each of the concurrent database transactions requiring a modification of the database data page and storing a respective copy of the database data page in a separate reserved space, the database management system comprising: a processor; and one or more physical computer readable storage media operatively coupled to the processor, the computer-readable storage media having stored thereon computer executable instructions that, when executed by the processor, implement the database management system, including: a database engine that employs a page aggregator component to facilitate operations of the concurrent database transactions at a sub-page level during modification of the database data page, the database engine comprising: a lock manager that enables sub-page level locking across the concurrent database transactions and that stores lock information, sub-page level locking grants one of the concurrent database transactions an exclusive lock on a first sub-page of the database data page when the one of the concurrent database transactions requests to modify the first sub-page, the exclusive lock permits the one of the concurrent database transactions to modify a copy of the first sub-page in its respective copy of the database data page while restricting others of the concurrent database transactions from modifying corresponding copies of the first sub-page in their respective copies of the database data page, but allows the others of the concurrent database transactions to modify other sub-pages; a page aggregator component that operates across the concurrent database transactions to obtain information on an aggregate size change that occurs on the database data page that results when the concurrent database transactions modify their respective copies of the database data page using sub-page level operations, the page aggregator operates across the concurrent database transactions by using the lock information in the lock manager to track the sub-page level operations performed by the concurrent database transactions; and a heap allocation component that employs the information on the aggregate size change to determine a space consumed on the database data page and a space available on the database data page to ensure that the plurality of concurrent multiple database transactions do not consume all of the storage space on the database data page.