US2013268489A1PendingUtilityA1

Methods and systems for real-time continuous updates

49
Assignee: TERADATA CORPPriority: Jun 23, 2008Filed: Jun 3, 2013Published: Oct 10, 2013
Est. expiryJun 23, 2028(~1.9 yrs left)· nominal 20-yr term from priority
G06F 16/2329G06F 16/2477G06F 17/30356
49
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Embodiments of the present invention provide fine grain concurrency control for transactions in the presence of database updates. During operations, each transaction is assigned a snapshot version number or SVN. A SVN refers to a historical snapshot of the database that can be created periodically or on demand. Transactions are thus tied to a particular SVN, such as, when the transaction was created. Queries belonging to the transactions can access data that is consistent as of a point in time, for example, corresponding to the latest SVN when the transaction was created. At various times, data from the database stored in a memory can be updated using the snapshot data corresponding to a SVN. When a transaction is committed, a snapshot of the database with a new SVN is created based on the data modified by the transaction and the snapshot is synchronized to the memory. When a transaction query requires data from a version of the database corresponding to a SVN, the data in the memory may be synchronized with the snapshot data corresponding to that SVN.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method of versioning data in a database maintained within a host computer system coupled with a hardware accelerator, the host computer system including a host memory, and the hardware accelerator including a hardware accelerator memory, said method comprising:
 determining snapshots of data in the database at an interval;   identifying differences in the data;   determining a set of changes that takes the data from one snapshot to another snapshot; and   generating a mask comprising the set of changes that is applied by a machine code database instruction for modifying the data in pages of the hardware accelerator memory from one snapshot to another snapshot.   
     
     
         2 . The method of  claim 1 , wherein generating the mask comprises generating a mask having a fixed width format that is independent of the data type being modified. 
     
     
         3 . The method of  claim 1 , wherein generating the mask comprises generating a mask having data that is in a same compressed form as the data in the database. 
     
     
         4 . The method of  claim 1 , further comprising storing a mask for an active snapshot in the host memory and storing at least one additional mask for completed snapshots in the host memory. 
     
     
         5 . The method of  claim 1 , further comprising storing a mask for an active snapshot in the host memory and storing at least one additional mask for completed snapshots in the hardware accelerator memory. 
     
     
         6 . The method of  claim 1 , further comprising setting the interval based on a configuration. 
     
     
         7 . The method of  claim 1 , further comprising setting the interval based on a size of accumulated changes. 
     
     
         8 . The method of  claim 1 , further comprising applying the mask to data in the hardware accelerator memory upon a transaction commit. 
     
     
         9 . The method of  claim 1 , further comprising applying the mask to data in the hardware accelerator memory upon demand by a query. 
     
     
         10 . A tangible, non-transitory, computer readable medium comprising program code for performing a method of versioning data in a database maintained within a host computer system coupled with a hardware accelerator, the host computer system including a host memory, and the hardware accelerator including a hardware accelerator memory, said medium comprising:
 program code for determining snapshots of data in the database at an interval;   program code for identifying differences in the data;   program code for determining a set of changes that takes the data from one snapshot to another snapshot; and   program code for generating a mask comprising the set of changes that is applied by a machine code database instruction for modifying the data in pages of the hardware accelerator memory from one snapshot to another snapshot.   
     
     
         11 . The computer readable medium of  claim 10 , wherein the program code for generating the mask comprises program code for generating a mask having a fixed width format that is independent of the data type being modified. 
     
     
         12 . The computer readable medium of  claim 10 , wherein the program code for generating the mask comprises program code for generating a mask having data that is in a same compressed form as the data in the database. 
     
     
         13 . The computer readable medium of  claim 10 , further comprising program code for storing a mask for an active snapshot in the host memory and program code for storing at least one additional mask for completed snapshots in the host memory. 
     
     
         14 . The computer readable medium of  claim 10 , further comprising program code for storing a mask for an active snapshot in the host memory and program code for storing at least one additional mask for completed snapshots in the hardware accelerator memory. 
     
     
         15 . The computer readable medium of  claim 10 , further comprising program code for setting the interval based on a configuration. 
     
     
         16 . The computer readable medium of  claim 10 , further comprising program code for setting the interval based on a size of accumulated changes. 
     
     
         17 . The computer readable medium of  claim 10 , further comprising program code for applying the mask to data in the hardware accelerator memory upon a transaction commit. 
     
     
         18 . The computer readable medium of  claim 10 , further comprising program code for applying the mask to data in the hardware accelerator upon demand by a query.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.