WO2002027561A2 - System and method for providing fine-grained temporal database access - Google Patents
System and method for providing fine-grained temporal database access Download PDFInfo
- Publication number
- WO2002027561A2 WO2002027561A2 PCT/US2001/030538 US0130538W WO0227561A2 WO 2002027561 A2 WO2002027561 A2 WO 2002027561A2 US 0130538 W US0130538 W US 0130538W WO 0227561 A2 WO0227561 A2 WO 0227561A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- transaction
- database
- time
- data
- data values
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Definitions
- the present invention relates in general to database access methodologies and, in particular, to a system and method for providing fine-grained temporal database access in a consistent read environment.
- Most corporate computing environments perform information dissemination, storage, and processing as core functions.
- these environments are made up of intranetworks of workstations and servers operating within a single physical location.
- Individual intranetworks can be interconnected with other intranetworks and computational resources.
- Geographically-displaced intranetworks are often interconnected to form internetworks which can also be interconnected with other internetworks.
- Databases are playing an increasingly central role in fulfilling and supporting the core functional areas.
- Most databases can be configured for networked computing environments.
- performance sensitive database applications can be configured to operate in parallel for maximum throughput and data availability.
- Distributed databases take advantage of interconnectivity to enhance performance and efficiency.
- mission critical data is often stored on redundant database systems that are frequently geographically distributed to ensure data security.
- databases include a centrally located data store with an affiliated database server.
- Individual users can perform transactions directly on the database via the database server using some form of query language, such as the Structured Query Language (SQL).
- SQL Structured Query Language
- database applications operating on or in conjunction with the database server can provide a user friendly front end to improve data entry, interpretation, and retrieval.
- data values are stored in tables organized according to a schema.
- the schema provides a mapping of the links between data sets and defines individual attributes.
- Related data values are stored in rows within the tables and each data value can be defined to store virtually any type of data object, including alphanumeric strings, numeric values, or binary data. Changes to the database accrue as transactions are executed. However, only those transactions actually committed to the database will effect permanent changes to the persistent data store. Uncommitted transactions are transitory and can be rolled back or undone.
- Enabling committed transactions is an essential property of databases, particularly in multi-user database systems. Ordinarily, committed transactions cause permanent changes to the database, sometimes to the detriment of a user. Committed changes, whether caused by design or by error, accident, neglect, or malicious intent, are irreversible. The changed data becomes inaccessible for retrieval and viewing, even though a user may later want to access the original unchanged data.
- Versioning disables operations that alter or delete data values in the persistent store. Instead, a new version of any changed row is created, thereby preserving the original data values as an older version of the row.
- this approach is space inefficient and can drastically increase the storage requirements of a database, particularly where the database undergoes frequent change.
- Point in time recovery offers a large grained, if imprecise, approach to database recovery.
- the entire database is restored from a backup copy and the data values in question are inspected.
- the database rows are replaced with the previously modified or deleted data.
- this approach typically requires two database systems upon which to execute and compare the data and also takes the active database off-line from data processing activities until the data values are restored.
- log mining enables data recovery through inference.
- Some database systems incorporate transaction logs which track and record all operations performed against the database.
- Log mining allows those operations which have effected the data to be reconstructed back into database statements and, hopefully, transposed, so as to allow committed changes to be reversed.
- the present invention provides a system and method for temporally accessing data values in a database as of a requested query time. Transactions effecting the data values stored in the database are tracked and assigned a transaction identifier. Whenever a transaction makes a change to a relative database block (or simply, "data block"), the database engine creates an interested transaction entry which is stored in the relative database block. Each interested transaction entry references a transaction table entry storing the changed data values and transaction undo information. As each transaction is applied, a new database version is created A system change number is assigned when the transaction is committed.
- One aspect of the invention relates to a method, system, and software for processing data, in which a query is received requesting temporal access of data and specifying a time prior to a commit time of a transaction that modified the data.
- the data is reconstructed as of the time prior to the commit time of the transaction that modified the data, and processing of the query is completed based on the reconstructed data.
- the time can be specified by means a standardized time reference (such as Greenwich Mean Time), relative to a standardized time reference (such as yesterday), or by means of a system change number.
- An embodiment of the present invention is a system and method for providing fine-grained temporal database access in a consistent read environment.
- a database is transitioned into successive consistent versions by tracking transactions committed to the database. Each committed transaction generates a further consistent version of the database at a journaled commit time.
- Transaction table entries are stored for each uncommitted transaction. Each transaction table entry stores retained data values reflecting database changes. The transaction table entries are maintained for a retention period following the commit time of each transaction.
- a logical view of the database is presented as of a query time occurring prior to the commit time of at least one transaction by accessing the retained data values stored in the transaction table entries for the at least one transaction.
- a further embodiment is a system and method for selectively viewing temporal row data in a consistent read-implemented database.
- Committed transactions effecting row data changes to a database are tracked and a stored system change number is assigned upon each committed transaction.
- Rollback segments for uncommitted transactions are stored.
- Each rollback segment stores a transaction identifier and transaction table entries containing ordered row data values reflecting the database changes.
- the database is transitioned into successive consistent versions responsive to each committed transaction at a journaled commit time.
- the transaction table entries are maintained for a user-definable retention period following the commit time of each committed transaction.
- a queried selection of row data values from the database is performed as of a query time occurring prior to the commit time of at least one committed transaction.
- the ordered row data values contained in the rollback segments storing a transaction identifier for the at least one committed transaction are retrieved.
- Another further embodiment is a system and method for performing a logical select operation on temporal row data stored in a consistent read-implemented database.
- a record of database operations is maintained, including transactions effecting row data changes that have been committed into a database.
- Rollback segments for uncommitted transactions are stored.
- Each rollback segment stores a transaction identifier and information pertaining to effecting or restoring the database changes, including addresses for a undo entries containing row data values reflecting the database changes.
- the database is transitioned into successive consistent database versions responsive to each committed transaction at a journaled commit time.
- a system change number is assigned to the database version upon each committed transaction.
- the transaction table entries are retained for a user-definable retention period following the commit time of each committed transaction.
- a logical select operation is executed on the database for row data values as of a query time occurring prior to the commit time of at least one committed transaction.
- the ordered row data values stored in the undo entries are retrieved by referencing the transaction table entries at each address included in the interested transaction entry with the transaction identifier for the at least one committed transaction.
- Another benefit is enabling productivity applications, such as electronic mail and voice mail programs, to provide message restoration.
- Still another benefit is providing decision support system and online analytical processing applications transaction restarting capabilities. These types of applications typically perform long runs of transaction processing. In the event of a crash, these applications could take advantage of temporal access to restart processing at the point where they left off prior to crashing.
- Still another benefit allows applications to incorporate implicit versioning introduced by temporal access.
- FIG. 1 is a block diagram showing a distributed computing environment, including a system for providing fine-grained temporal database access in a consistent read environment, in accordance with the present invention.
- FIG. 2 is a detail block diagram showing the system for providing fine-grained temporal database access of FIG. 1.
- FIG. 3 is a data structure diagram showing the structure of a transaction table for use in the database of FIG. 2.
- FIG. 4 is a data structure diagram showing the structure of a transaction table entry for use in the database of FIG. 2.
- FIG. 5 is a functional block diagram showing the relationship between a transaction table and rollback segments.
- FIG. 6 is a timing diagram showing, by way of example, consistent read operations.
- FIG. 7 is a partial table view showing, by way of example, a set of employee data records.
- FIG. 8 is a data structure view showing, by way of example, a transaction table entry for a deleted employee data record.
- FIG. 9 is a block diagram showing the functional software modules of the system for providing fine-grained temporal database access of FIG. 1.
- FIG. 10 is a flow diagram showing a method for providing fine-grained temporal database access in a consistent read environment in accordance with the present invention.
- FIG. 11 is a flow diagram showing a routine for performing a consistent read operation for use in the method of FIG. 7.
- FIG. 1 is a block diagram showing a distributed computing environment 9, including a system 10 for providing fine-grained temporal database access in a consistent read environment, in accordance with the present invention.
- the system
- a database server 11 operating on a host computer system that provides database access to a plurality of clients.
- clients can be interconnected to the database server 11. These clients include a local client 12 interconnected directly to the database server
- a network client 15 can be interconnected through an Internet service provider (ISP) 16 that is interconnected to the database server 11 via an internetwork 17, including the Internet.
- ISP Internet service provider
- LAN local area network
- LAN local area network
- Other types of clients, network topologies and configurations, and forms of interconnection are feasible.
- the database server 11 provides access to a database 23 maintained in a persistent storage 22 via a database engine 21 , as further described below with reference to FIG. 2.
- a database engine 21 can perform transactions via the clients directly on the database 23 through the database server 11 using some form of query language, such as the Structured Query Language (SQL).
- SQL Structured Query Language
- database applications 24 operating on each client or in conjunction with the database server 1 1 can provide a user friendly front end over which data can be entered, interpreted, and retrieved.
- the database engine 21 and database 23 form a relational database management system, such as the Oracle 8i product, licensed by Oracle Corporation, Redwood Shores, California.
- the individual computer systems including the database server 1 1 and clients 12, 13, 15, 18, are general purpose, programmed digital computing devices consisting of a central processing unit (CPU), random access memory (RAM), nonvolatile secondary storage, such as a hard drive or CD ROM drive, network interfaces, and peripheral devices, including user interfacing means, such as a keyboard and display.
- Program code including software programs, and data are loaded into the RAM for execution and processing by the CPU and results are generated for display, output, transmittal, or storage.
- FIG. 2 is a detail block diagram showing the system 10 for providing finegrained temporal database access of FIG. 1.
- the system 10 consists of the database engine 21 and the database 23 proper.
- the database engine 21 is logically composed of three main components: query engine 31 , rollback mechanism 32, and consistent read mechanism 33.
- the database engine 21 also includes other components (not shown), such as used to insert, modify, or delete, as well as to structure data attributes, as would be recognized by one skilled in the art. However, as the described invention most closely relates to database access, these components are omitted for the sake of simplicity and clarity of description.
- the query engine 31 provides the basic functionality for interrogating the database 23 and retrieving data items from the data tables 36 stored therein.
- the query engine 31 interprets statements written in the SQL/PLI query language, although other query languages could also be used,
- the rollback mechanism 32 and consistent read mechanism 33 together provide a capability to temporally access data values formerly stored in the database 23.
- Temporal access refers to the ability to perform queries on the database 23 as of a standardized time reference, such as the wall clock time, a time interval relative to the current wall clock time, such as "10 minutes ago” or "as of August 28, 2000,” or by system change number, described below.
- a time reference such as the wall clock time
- a time interval relative to the current wall clock time such as "10 minutes ago" or "as of August 28, 2000”
- system change number described below.
- the database engine 21 transitions the database 23 between consistent versions. Identical query results are guaranteed for any given system version number, irrespective of any transactions later executed on the database 23. Fundamentally, the database engine 21 executes transactions submitted by the clients. Those transactions that alter the data values maintained in the persistent storage 22 (shown in FIG. 1 ) only effect permanent, that is, irreversible, changes to the data values in the data tables 36 upon being "committed" to the database 23. Each committed transaction causes the database engine 21 to generate a new version of the database 23 identified by a system change number at a journaled commit time, as further described below with reference to FIG. 6.
- the consistent read environment enables temporal access into the database 23.
- the database engine 21 tracks transactions effecting the database 23 via the rollback mechanism 32. Uncommitted transactions are stored separately from the data tables 36 in transaction table entries, as further described below with reference to FIG. 4, stored in rollback segments 35.
- the rollback segments 35 enable the database server 1 1 to provide graceful recovery in the event of a system crash. Thus, uncommitted transactions cannot harm the database 23 or cause inconsistent results.
- the rollback mechanism 32 journals transactions in a transaction table 34 stored preferably as the first block in each rollback segment 35.
- the actual data value changes are stored as linked transaction table entries that are retained for a user-definable retention period past the commitment time for the affiliated transaction. Any given transaction journaled in the transaction table 34 can have one or more associated transaction table entries within which the actual changed data values are stored.
- the consistent read mechanism 33 references the transaction table entries, also referred to as "undo" blocks, to provide temporal access.
- the consistent read mechanism iterates through the transaction table entries to provide a selective temporal view of row data as of a given time, relative time, or system change number, as further described below with reference to FIG. 9.
- Each component 31 , 32, 33 of the database engine 21 is a computer program, procedure or module written as source code in a conventional programming language, such as the C++ programming language, and is presented for execution by the CPU as object or byte code, as is known in the art.
- the various implementations of the source code and object and byte codes can be held on a computer-readable storage medium or embodied on a transmission medium in a carrier wave.
- the consistent read mechanism 33 operates in accordance with a sequence of process steps, as further described below beginning with reference to FIG. 9.
- FIG. 3 is a data structure diagram showing the structure of a relative database block ("data block") 50 for use in the database 23 of FIG. 2.
- the relative database block 50 contains two sets of records: an interested transaction entry (ITE) 51 and a user block 52.
- Each ITE 51 stores a transaction identifier (xid) 53 and an associated user block address (uba) 54.
- the xid 53 identifies a transaction effecting a change to the data values in the database 23.
- the uba 54 contains the address of a row 55 contained in the user block 52 storing references to one or more transaction table entries.
- the relative database block 50 can store one or more ITEs 51.
- the user block 52 contains rows 55 and lock bits 56.
- the rows 55 store the data values and the lock bit 56 indicates whether the row 55 is locked from modification.
- Each ITE 51 is associated with a user block 52.
- FIG. 4 is a data structure diagram showing the structure of a transaction table entry 70 for use in the database 23 of FIG. 2.
- Transaction table entries 70 are stored as a singly-linked list and each contain at least part of the data values required to rollback a transaction.
- Each transaction table entry 70 stores a relative database block address (rdba) 71 , slot number 72, wrap count 73, a pointer to the next transaction table entry (uba) 74 (reflecting the next earlier change), and the actual data 75.
- the relative database block 71 refers to the database block within the data tables 36 to which the transaction table entry 70 relates.
- the slot number 72 further identifies a specific location with the database block and the wrap count 73 indicates the number of contiguous slots occupied by the record within the identified database block.
- FIG. 5 is a functional block diagram 80 showing the relationship between a transaction table 81 and transaction table entries 82, 83, 84.
- Each transaction includes a transaction identifier xid x and a user block address uba x .
- the user block address uba x references an initial transaction table entry uba x 82.
- Each transaction table entry uba x is linked as a singly-linked list to next transaction table entries uba x+ ⁇ and uba x+ 2- Other forms of dynamically allocable data storage are feasible.
- the rollback segments 35 are stored in extents.
- Each extent is a block of contiguous memory locations which have an associated expiration time.
- the expiration time is used by a database storage manager to indicate a time after which the extent can be overwritten with new data.
- the retention time of each transaction table entry does not exceed the expiration time.
- Write operations take precedence and will overwrite transaction table entries if necessary after the expiration time has elapsed. Overwritten transaction table entries will cause temporal access requests to fail for unavailable data.
- FIG. 6 is a timing diagram 90 showing, by way of example, consistent read operations. Every transaction effecting the data values stored in the database 23 (shown in FIG. 2) is tracked assigned a transaction identifier xid and journaled in the transaction table 34. The database 23 is transitioned to a new consistent version at the time that the transaction is committed to persistent storage 22 (shown in FIG. 1 ).
- a read operation executed on the database 23 will access only committed data values and those data values changed by uncommitted transactions of the requesting client only. Consequently, consistent read results are guaranteed. For example, an earlier transaction 91 with an xid of 2019 will generate a system change number (sen) of 2019. Similarly, a pending transaction 93 and a subsequent transaction 94 with respective xids of 2021 and 2022 will generate system change numbers of 502 and 503. Only the committed transaction 92 with an xid of 2020 will generate a system change number of 501 at commit time.
- FIG. 7 is a partial table view 100 showing, by way of example, a set of employee data records 106.
- Each employee data record 106 contains five fields of data values 107-1 10: first name 101 , last name 102, department 103, and city 104 and state 105 of residence.
- a transaction is created and a interested transaction entry 51 (shown in FIG. 3) is allocated, such as shown in the data structure view 120 of FIG. 8.
- the relative data block address (rdba) 121 and slot number 122 contain the address "0x057A9B40" and slot of the data block within the data tables 36 (shown in FIG. 2) to which the transaction table entry belongs.
- a wrap count 123 of zero indicates only one data block is used.
- the next earlier transaction table entry 124 is located at "0x80000008."
- the actual data 126 is broken up into five pieces for the individual data values for each field in the deleted record.
- the data values stored in the transaction table entry logically replace the data values currently stored in the relative database block as of the requested query time.
- an SQL query might be: 'Select first name, last name from employee as of yesterday where department is "accounting"'. This select transaction generate a result of "John Doe.” Note that a relative query time of "yesterday” is used in place of a formatted date and time string.
- FIG. 9 is a flow diagram showing a method for providing fine-grained temporal database access 140 in a consistent read environment in accordance with the present invention.
- a typical database engine could be concurrently processing multiple transaction operations at any given time.
- the described invention implicates read operations and does not directly effect the processing of other forms of database transactions. Consequently, the method will be described with respect to read operations.
- a temporal access provides a logical view of retrieved data values as a "snapshot" taken as of the requested access time.
- the environment of the snapshot must first be retrieved (block 141 ) from the transaction table 34 (shown in FIG. 2).
- the environment includes the transaction identifier xid, relative user block address rdba, and system change number sen as of the requested query time.
- a consistent read is performed (block 142), as further described below with reference to FIG. 10.
- the query time can be requested in three forms.
- the query time can be with reference to a standardized time reference, such as a wall clock time or Greenwich mean time.
- the query time can be relative to a standardized time reference.
- a system change number could be used in lieu of a query time.
- a daemon process operates in the background to correlate system change numbers to commit times.
- the precise format of the query time can include literal strings, such as "August 28, 2000 14:00:00," meaning as of precisely 2:00 pm on August 28, 2000. Other formats and query time forms could be used.
- FIG. 10 is a flow diagram showing a routine for performing a consistent read operation 160 for use in the method 140 of FIG. 7.
- This routine is to access the retained data values stored in the transaction table entries 35 (shown in FIG. 2) associated with the system change number for the database 23 as of the requested query time.
- the relative database block is retrieved (block 161 ) from the persistent storage 22.
- each interested transaction entry (ITE) 51 (shown in FIG. 3) is iteratively processed (blocks 162-169) to logically reconstruct the database 23 as of the requested query time. Note that although iterative flow control is described, other forms of flow control, including recursion, distributed, concurrent, and similar control schemes could also be applied.
- transactions are rolled back in an ordered manner. Active transactions are rolled back before committed transactions (blocks 163-165) and only those committed transactions occurring earlier, that is, more recently, than the system control number (blocks 166-167) are rolled back. Thus, if the transaction referenced by the transaction identifier xid is active (block 163), the entire transaction is rolled back to logically undo the transaction (block 164). If there are more active transactions (block 165), the rollback is repeated (block 165) until all active transactions have been rolled back. Note that the operation of rolling back an entire transaction can itself require that a consistent read operation be performed and the routine 160 can be iteratively invoked as many times as necessary to undo transactions.
- the retrieved data values from the rolled back transactions are provided (block 169).
- the data values are retrieved on a row-oriented basis, although the transaction table entries could be refined to a finer grain to store tuple or cell changes. Similarly, the transaction table entries could also store record, table, or schema changes.
- the temporal access operations operate on a single table as of a fixed point in time.
- the query semantics could be extended to embrace one or more simultaneous temporal data sets, multiple tables, conjunctive and disjunctive selects, and to include objects, cells, rows, records, tables, windows, and schemas.
Abstract
Description
Claims
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU9489601A AU9489601A (en) | 2000-09-29 | 2001-09-28 | System and method for providing fine-grained temporal database access |
AU2001294896A AU2001294896B2 (en) | 2000-09-29 | 2001-09-28 | System and method for providing fine-grained temporal database access |
AT01975583T ATE475935T1 (en) | 2000-09-29 | 2001-09-28 | SYSTEM AND METHOD FOR FINE-GRAINED TEMPORAL ACCESS TO A DATABASE |
JP2002531275A JP2004512585A (en) | 2000-09-29 | 2001-09-28 | Systems and methods for providing fine-grained temporary database access |
CA002422887A CA2422887C (en) | 2000-09-29 | 2001-09-28 | System and method for providing fine-grained temporal database access |
DE60142702T DE60142702D1 (en) | 2000-09-29 | 2001-09-28 | SYSTEM AND METHOD FOR FINELY TIMELY ACCESS TO A DATABASE |
EP01975583A EP1358579B1 (en) | 2000-09-29 | 2001-09-28 | System and method for providing fine-grained temporal database access |
HK03108921.4A HK1056634A1 (en) | 2000-09-29 | 2003-12-09 | System and method for providing fine-grained temporal database access |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/676,305 | 2000-09-29 | ||
US09/676,305 US6631374B1 (en) | 2000-09-29 | 2000-09-29 | System and method for providing fine-grained temporal database access |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2002027561A2 true WO2002027561A2 (en) | 2002-04-04 |
WO2002027561A3 WO2002027561A3 (en) | 2003-08-28 |
Family
ID=24713993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2001/030538 WO2002027561A2 (en) | 2000-09-29 | 2001-09-28 | System and method for providing fine-grained temporal database access |
Country Status (9)
Country | Link |
---|---|
US (3) | US6631374B1 (en) |
EP (1) | EP1358579B1 (en) |
JP (1) | JP2004512585A (en) |
AT (1) | ATE475935T1 (en) |
AU (2) | AU2001294896B2 (en) |
CA (1) | CA2422887C (en) |
DE (1) | DE60142702D1 (en) |
HK (1) | HK1056634A1 (en) |
WO (1) | WO2002027561A2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2844372A1 (en) * | 2002-09-11 | 2004-03-12 | Michel Zamfiroiu | Database organization or management method in which when alterations to a primary or main database are made, they are associated with a digital identifier, which can subsequently be used to trace the alterations |
CN100387002C (en) * | 2004-12-24 | 2008-05-07 | 华为技术有限公司 | Method for testing mechanism of data rollback |
EP1503290A3 (en) * | 2003-06-30 | 2011-01-19 | Microsoft Corporation | Transaction consistent copy-on-write database |
GB2494867A (en) * | 2011-09-19 | 2013-03-27 | Cloudtran Inc | Scalable distributed transaction processing method |
US8515948B2 (en) | 2011-03-09 | 2013-08-20 | International Business Machines Corporation | Managing materialized query tables (MQTS) over fine-grained access control (FGAC) protected tables |
Families Citing this family (171)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6618822B1 (en) * | 2000-01-03 | 2003-09-09 | Oracle International Corporation | Method and mechanism for relational access of recovery logs in a database system |
WO2002003219A1 (en) | 2000-06-30 | 2002-01-10 | Plurimus Corporation | Method and system for monitoring online computer network behavior and creating online behavior profiles |
US6631374B1 (en) | 2000-09-29 | 2003-10-07 | Oracle Corp. | System and method for providing fine-grained temporal database access |
US8650169B1 (en) | 2000-09-29 | 2014-02-11 | Oracle International Corporation | Method and mechanism for identifying transaction on a row of data |
US6799188B2 (en) * | 2001-08-31 | 2004-09-28 | Borland Software Corporation | Transaction processing system providing improved methodology for two-phase commit decision |
EP1428104B9 (en) | 2001-09-20 | 2010-02-24 | Hitwise Pty., Ltd. | Method and system for characterization of online behavior |
US6983286B1 (en) | 2002-05-10 | 2006-01-03 | Oracle International Corporation | Method and apparatus for accessing data as it existed at a previous point in time |
US6976022B2 (en) * | 2002-09-16 | 2005-12-13 | Oracle International Corporation | Method and mechanism for batch processing transaction logging records |
US20040103084A1 (en) * | 2002-11-21 | 2004-05-27 | International Business Machines Corporation | Data management system that provides flexible time-based query capability |
US7333992B2 (en) * | 2003-05-22 | 2008-02-19 | Microsoft Corporation | System and method for identifying and storing changes made to a table |
US7647344B2 (en) * | 2003-05-29 | 2010-01-12 | Experian Marketing Solutions, Inc. | System, method and software for providing persistent entity identification and linking entity information in an integrated data repository |
US7480662B2 (en) * | 2003-07-03 | 2009-01-20 | Oracle International Corporation | Fact table storage in a decision support system environment |
US7552149B2 (en) * | 2003-09-06 | 2009-06-23 | Oracle International Corporation | Querying past versions of data in a distributed database |
KR100659971B1 (en) * | 2003-12-26 | 2006-12-22 | 한국전자통신연구원 | System for aborting web services automatically and method of the same |
US7558917B2 (en) * | 2004-02-13 | 2009-07-07 | Microsoft Corporation | Inverse query engine systems with cache and methods for cache maintenance |
US7277885B2 (en) | 2004-02-18 | 2007-10-02 | Microsoft Corporation | Systems and methods for filter processing using hierarchical data and data structures |
US20080077612A1 (en) * | 2004-03-05 | 2008-03-27 | Bridgestream | Working with temporal data |
EP1618378A4 (en) * | 2004-03-29 | 2008-10-08 | Microsoft Corp | Systems and methods for versioning based triggers |
US7499953B2 (en) * | 2004-04-23 | 2009-03-03 | Oracle International Corporation | Online recovery of user tables using flashback table |
US7953749B2 (en) * | 2004-05-11 | 2011-05-31 | Oracel International Corporation | Providing the timing of the last committed change to a row in a database table |
US7574419B2 (en) * | 2004-05-13 | 2009-08-11 | Oracle International Corporation | Automatic tuning of undo retention |
US8756200B2 (en) * | 2004-05-14 | 2014-06-17 | Oracle International Corporation | Undo advisor |
US7240065B2 (en) * | 2004-05-27 | 2007-07-03 | Oracle International Corporation | Providing mappings between logical time values and real time values |
US7251660B2 (en) | 2004-06-10 | 2007-07-31 | Oracle International Corporation | Providing mappings between logical time values and real time values in a multinode system |
US7822727B1 (en) * | 2004-07-02 | 2010-10-26 | Borland Software Corporation | System and methodology for performing read-only transactions in a shared cache |
US20060085490A1 (en) * | 2004-08-19 | 2006-04-20 | Copernic Technologies, Inc. | Indexing systems and methods |
US20060085431A1 (en) * | 2004-10-13 | 2006-04-20 | Burns David M | Systems and methods for protecting private electronic data |
US20060123001A1 (en) * | 2004-10-13 | 2006-06-08 | Copernic Technologies, Inc. | Systems and methods for selecting digital advertisements |
CA2484694A1 (en) * | 2004-10-14 | 2006-04-14 | Alcatel | Database ram cache |
US7814367B1 (en) * | 2004-11-12 | 2010-10-12 | Double-Take Software Canada, Inc. | Method and system for time addressable storage |
US7554908B2 (en) * | 2004-12-10 | 2009-06-30 | Intel Corporation | Techniques to manage flow control |
US8103624B2 (en) | 2005-01-13 | 2012-01-24 | International Business Machines Corporation | Apparatus and method for automating the logging of table changes in a database |
US7509307B2 (en) * | 2005-01-19 | 2009-03-24 | International Business Machines Corporation | Redundant version information in history table that enables efficient snapshot querying |
US7403958B2 (en) * | 2005-01-19 | 2008-07-22 | International Business Machines Corporation | Synchronization-replication concurrency using non-shared snapshot query on a history table at read-uncommitted isolation level |
US8271448B2 (en) * | 2005-01-28 | 2012-09-18 | Oracle International Corporation | Method for strategizing protocol presumptions in two phase commit coordinator |
US8175889B1 (en) | 2005-04-06 | 2012-05-08 | Experian Information Solutions, Inc. | Systems and methods for tracking changes of address based on service disconnect/connect data |
US7908242B1 (en) | 2005-04-11 | 2011-03-15 | Experian Information Solutions, Inc. | Systems and methods for optimizing database queries |
US20070033157A1 (en) * | 2005-08-08 | 2007-02-08 | Simdesk Technologies | Transaction protection in a stateless architecture using commodity servers |
US7418544B2 (en) * | 2005-10-05 | 2008-08-26 | Oracle International Corporation | Method and system for log structured relational database objects |
US7634520B1 (en) * | 2005-10-07 | 2009-12-15 | Advent Software, Inc. | Audit trail tools for transaction systems |
US7885939B2 (en) * | 2005-10-11 | 2011-02-08 | Oracle International Corporation | Longest query duration for auto tuning undo retention |
US7801932B2 (en) * | 2005-10-11 | 2010-09-21 | Oracle International Corporation | Undo hints to speed up segment extension and tuning of undo retention |
US7716193B2 (en) * | 2005-10-13 | 2010-05-11 | Oracle International Corporation | Ensuring timely servicing of desired transactions in a database server |
US7552150B2 (en) * | 2005-11-10 | 2009-06-23 | International Business Machines Corporation | Reason-based database changes |
US20070168720A1 (en) * | 2005-11-30 | 2007-07-19 | Oracle International Corporation | Method and apparatus for providing fault tolerance in a collaboration environment |
JP4794571B2 (en) * | 2005-12-02 | 2011-10-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | System and method for efficient access to database |
EP1826692A3 (en) * | 2006-02-22 | 2009-03-25 | Copernic Technologies, Inc. | Query correction using indexed content on a desktop indexer program. |
US8635330B2 (en) * | 2006-04-24 | 2014-01-21 | Vmware, Inc. | Method and system for learning web applications |
US8386732B1 (en) * | 2006-06-28 | 2013-02-26 | Emc Corporation | Methods and apparatus for storing collected network management data |
EP2074572A4 (en) | 2006-08-17 | 2011-02-23 | Experian Inf Solutions Inc | System and method for providing a score for a used vehicle |
US7912865B2 (en) * | 2006-09-26 | 2011-03-22 | Experian Marketing Solutions, Inc. | System and method for linking multiple entities in a business database |
US8036979B1 (en) | 2006-10-05 | 2011-10-11 | Experian Information Solutions, Inc. | System and method for generating a finance attribute from tradeline data |
US8589357B2 (en) * | 2006-10-20 | 2013-11-19 | Oracle International Corporation | Techniques for automatically tracking and archiving transactional data changes |
US8627268B2 (en) * | 2006-11-06 | 2014-01-07 | International Business Machines Corporation | System and method for a non-sequential undo mechanism |
US20080120309A1 (en) * | 2006-11-17 | 2008-05-22 | Microsoft Corporation | Storing, maintaining and locating information |
GB0623333D0 (en) * | 2006-11-23 | 2007-01-03 | Ibm | Software regression facility |
US20080147603A1 (en) * | 2006-12-14 | 2008-06-19 | Olli Pekka Kostamaa | Converting temporal data into time series data |
US7873605B2 (en) * | 2007-01-29 | 2011-01-18 | Oracle International Corporation | Apparatus to selectively remove the effects of transactions in online database and enable logical recovery |
US8606666B1 (en) | 2007-01-31 | 2013-12-10 | Experian Information Solutions, Inc. | System and method for providing an aggregation tool |
US8285656B1 (en) | 2007-03-30 | 2012-10-09 | Consumerinfo.Com, Inc. | Systems and methods for data verification |
US7814117B2 (en) * | 2007-04-05 | 2010-10-12 | Oracle International Corporation | Accessing data from asynchronously maintained index |
WO2008127288A1 (en) | 2007-04-12 | 2008-10-23 | Experian Information Solutions, Inc. | Systems and methods for determining thin-file records and determining thin-file risk levels |
WO2008147918A2 (en) | 2007-05-25 | 2008-12-04 | Experian Information Solutions, Inc. | System and method for automated detection of never-pay data sets |
US7886124B2 (en) * | 2007-07-30 | 2011-02-08 | Oracle International Corporation | Method and mechanism for implementing dynamic space management for large objects |
US8301574B2 (en) | 2007-09-17 | 2012-10-30 | Experian Marketing Solutions, Inc. | Multimedia engagement study |
US9690820B1 (en) | 2007-09-27 | 2017-06-27 | Experian Information Solutions, Inc. | Database system for triggering event notifications based on updates to database records |
US8290966B2 (en) * | 2007-11-29 | 2012-10-16 | Sap Aktiengesellschaft | System and method for implementing a non-destructive tree filter |
US7984020B2 (en) * | 2007-12-06 | 2011-07-19 | Sap Ag | System and method for business object sync-point and rollback framework |
US7996370B2 (en) * | 2007-12-13 | 2011-08-09 | International Business Machines Corporation | System restoration apparatus and method for management of dependencies, ordering sensitivities, and database index rebuilds |
US8341128B1 (en) * | 2008-05-09 | 2012-12-25 | Workday, Inc. | Concurrency control using an effective change stack and tenant-based isolation |
US8312033B1 (en) | 2008-06-26 | 2012-11-13 | Experian Marketing Solutions, Inc. | Systems and methods for providing an integrated identifier |
US7991689B1 (en) | 2008-07-23 | 2011-08-02 | Experian Information Solutions, Inc. | Systems and methods for detecting bust out fraud using credit data |
US8028194B2 (en) * | 2008-07-25 | 2011-09-27 | Inmage Systems, Inc | Sequencing technique to account for a clock error in a backup system |
US8745052B2 (en) * | 2008-09-18 | 2014-06-03 | Accenture Global Services Limited | System and method for adding context to the creation and revision of artifacts |
KR101259557B1 (en) * | 2008-12-18 | 2013-04-30 | 한국전자통신연구원 | Cluster data management system and method for data recovery using parallel processing in cluster data management system |
US9256599B1 (en) * | 2008-12-23 | 2016-02-09 | Symantec Corporation | Programmatically receiving and storing transaction information in support of a database recovery engine |
US20100332292A1 (en) | 2009-06-30 | 2010-12-30 | Experian Information Solutions, Inc. | System and method for evaluating vehicle purchase loyalty |
US8364518B1 (en) | 2009-07-08 | 2013-01-29 | Experian Ltd. | Systems and methods for forecasting household economics |
US8228413B2 (en) * | 2009-09-01 | 2012-07-24 | Geovector Corp. | Photographer's guidance systems |
US8725613B1 (en) | 2010-04-27 | 2014-05-13 | Experian Information Solutions, Inc. | Systems and methods for early account score and notification |
US9092576B2 (en) * | 2010-06-25 | 2015-07-28 | International Business Machines Corporation | Non-intrusive measurement of content quality using dry runs with roll-back |
US9152727B1 (en) | 2010-08-23 | 2015-10-06 | Experian Marketing Solutions, Inc. | Systems and methods for processing consumer information for targeted marketing applications |
US8639616B1 (en) | 2010-10-01 | 2014-01-28 | Experian Information Solutions, Inc. | Business to contact linkage system |
US8782217B1 (en) | 2010-11-10 | 2014-07-15 | Safetyweb, Inc. | Online identity management |
US9147042B1 (en) | 2010-11-22 | 2015-09-29 | Experian Information Solutions, Inc. | Systems and methods for data verification |
US8938429B1 (en) * | 2011-03-31 | 2015-01-20 | Emc Corporation | Resynchronization of nonactive and active segments |
US8818954B1 (en) | 2011-03-31 | 2014-08-26 | Emc Corporation | Change tracking |
US9767268B2 (en) | 2011-04-20 | 2017-09-19 | International Business Machines Corporation | Optimizing a compiled access control table in a content management system |
US8930330B1 (en) | 2011-06-27 | 2015-01-06 | Amazon Technologies, Inc. | Validation of log formats |
US8818944B2 (en) * | 2011-06-30 | 2014-08-26 | Microsoft Corporation | Data change tracking and event notification |
US9483606B1 (en) | 2011-07-08 | 2016-11-01 | Consumerinfo.Com, Inc. | Lifescore |
EP2732422A4 (en) | 2011-07-12 | 2014-12-24 | Experian Inf Solutions Inc | Systems and methods for a large-scale credit data processing architecture |
US9390147B2 (en) * | 2011-09-23 | 2016-07-12 | Red Lambda, Inc. | System and method for storing stream data in distributed relational tables with data provenance |
US11030562B1 (en) | 2011-10-31 | 2021-06-08 | Consumerinfo.Com, Inc. | Pre-data breach monitoring |
US9853959B1 (en) | 2012-05-07 | 2017-12-26 | Consumerinfo.Com, Inc. | Storage and maintenance of personal data |
US9116935B2 (en) * | 2012-10-31 | 2015-08-25 | Sap Se | Method and system to promote database cost savings |
US9244961B2 (en) * | 2012-12-14 | 2016-01-26 | Oracle International Corporation | Concurrent access for hierarchical data storage |
US9747313B2 (en) * | 2012-12-19 | 2017-08-29 | Sap Se | Timeline index for managing temporal data |
US9596279B2 (en) | 2013-02-08 | 2017-03-14 | Dell Products L.P. | Cloud-based streaming data receiver and persister |
US9442993B2 (en) | 2013-02-11 | 2016-09-13 | Dell Products L.P. | Metadata manager for analytics system |
US9191432B2 (en) | 2013-02-11 | 2015-11-17 | Dell Products L.P. | SAAS network-based backup system |
US9141680B2 (en) | 2013-02-11 | 2015-09-22 | Dell Products L.P. | Data consistency and rollback for cloud analytics |
US9697263B1 (en) | 2013-03-04 | 2017-07-04 | Experian Information Solutions, Inc. | Consumer data request fulfillment system |
US9244775B2 (en) | 2013-03-14 | 2016-01-26 | International Business Machines Corporation | Reducing reading of database logs by persisting long-running transaction data |
US10180951B2 (en) | 2013-03-15 | 2019-01-15 | Amazon Technologies, Inc. | Place snapshots |
US9672237B2 (en) | 2013-03-15 | 2017-06-06 | Amazon Technologies, Inc. | System-wide checkpoint avoidance for distributed database systems |
US9514007B2 (en) | 2013-03-15 | 2016-12-06 | Amazon Technologies, Inc. | Database system with database engine and separate distributed storage service |
US11030055B2 (en) | 2013-03-15 | 2021-06-08 | Amazon Technologies, Inc. | Fast crash recovery for distributed database systems |
US9501501B2 (en) | 2013-03-15 | 2016-11-22 | Amazon Technologies, Inc. | Log record management |
US10747746B2 (en) | 2013-04-30 | 2020-08-18 | Amazon Technologies, Inc. | Efficient read replicas |
US9317213B1 (en) * | 2013-05-10 | 2016-04-19 | Amazon Technologies, Inc. | Efficient storage of variably-sized data objects in a data store |
US9760596B2 (en) | 2013-05-13 | 2017-09-12 | Amazon Technologies, Inc. | Transaction ordering |
US9208032B1 (en) | 2013-05-15 | 2015-12-08 | Amazon Technologies, Inc. | Managing contingency capacity of pooled resources in multiple availability zones |
US10303564B1 (en) | 2013-05-23 | 2019-05-28 | Amazon Technologies, Inc. | Reduced transaction I/O for log-structured storage systems |
US9305056B1 (en) | 2013-05-24 | 2016-04-05 | Amazon Technologies, Inc. | Results cache invalidation |
US9047189B1 (en) | 2013-05-28 | 2015-06-02 | Amazon Technologies, Inc. | Self-describing data blocks of a minimum atomic write size for a data store |
US9128965B1 (en) | 2013-08-07 | 2015-09-08 | Amazon Technologies, Inc. | Configurable-capacity time-series tables |
US8886671B1 (en) | 2013-08-14 | 2014-11-11 | Advent Software, Inc. | Multi-tenant in-memory database (MUTED) system and method |
US9507843B1 (en) | 2013-09-20 | 2016-11-29 | Amazon Technologies, Inc. | Efficient replication of distributed storage changes for read-only nodes of a distributed database |
US9280591B1 (en) | 2013-09-20 | 2016-03-08 | Amazon Technologies, Inc. | Efficient replication of system transactions for read-only nodes of a distributed database |
US9519664B1 (en) | 2013-09-20 | 2016-12-13 | Amazon Technologies, Inc. | Index structure navigation using page versions for read-only nodes |
US10216949B1 (en) | 2013-09-20 | 2019-02-26 | Amazon Technologies, Inc. | Dynamic quorum membership changes |
US9460008B1 (en) | 2013-09-20 | 2016-10-04 | Amazon Technologies, Inc. | Efficient garbage collection for a log-structured data store |
US10223184B1 (en) | 2013-09-25 | 2019-03-05 | Amazon Technologies, Inc. | Individual write quorums for a log-structured distributed storage system |
US9699017B1 (en) | 2013-09-25 | 2017-07-04 | Amazon Technologies, Inc. | Dynamic utilization of bandwidth for a quorum-based distributed storage system |
US9552242B1 (en) | 2013-09-25 | 2017-01-24 | Amazon Technologies, Inc. | Log-structured distributed storage using a single log sequence number space |
US9767178B2 (en) | 2013-10-30 | 2017-09-19 | Oracle International Corporation | Multi-instance redo apply |
US9760480B1 (en) | 2013-11-01 | 2017-09-12 | Amazon Technologies, Inc. | Enhanced logging using non-volatile system memory |
US10387399B1 (en) | 2013-11-01 | 2019-08-20 | Amazon Technologies, Inc. | Efficient database journaling using non-volatile system memory |
US10102536B1 (en) | 2013-11-15 | 2018-10-16 | Experian Information Solutions, Inc. | Micro-geographic aggregation system |
US9880933B1 (en) | 2013-11-20 | 2018-01-30 | Amazon Technologies, Inc. | Distributed in-memory buffer cache system using buffer cache nodes |
US9223843B1 (en) | 2013-12-02 | 2015-12-29 | Amazon Technologies, Inc. | Optimized log storage for asynchronous log updates |
US9529851B1 (en) | 2013-12-02 | 2016-12-27 | Experian Information Solutions, Inc. | Server architecture for electronic data quality processing |
US9405788B2 (en) | 2014-01-24 | 2016-08-02 | International Business Machines Corporation | Mass delete restriction in a database |
US10262362B1 (en) | 2014-02-14 | 2019-04-16 | Experian Information Solutions, Inc. | Automatic generation of code for attributes |
US9576030B1 (en) | 2014-05-07 | 2017-02-21 | Consumerinfo.Com, Inc. | Keeping up with the joneses |
US10303663B1 (en) | 2014-06-12 | 2019-05-28 | Amazon Technologies, Inc. | Remote durable logging for journaling file systems |
US9563521B2 (en) * | 2014-07-21 | 2017-02-07 | Oracle International Corporation | Data transfers between cluster instances with delayed log file flush |
US9639565B2 (en) * | 2014-09-04 | 2017-05-02 | Sap Se | Transaction support using intrusive hash tables |
US9594713B2 (en) | 2014-09-12 | 2017-03-14 | Qualcomm Incorporated | Bridging strongly ordered write transactions to devices in weakly ordered domains, and related apparatuses, methods, and computer-readable media |
US9870386B1 (en) | 2014-10-31 | 2018-01-16 | Amazon Technologies, Inc. | Reducing I/O operations for on-demand demand data page generation |
US10242019B1 (en) | 2014-12-19 | 2019-03-26 | Experian Information Solutions, Inc. | User behavior segmentation using latent topic detection |
US9817587B1 (en) | 2015-03-04 | 2017-11-14 | Amazon Technologies, Inc. | Memory-based on-demand data page generation |
US10592494B2 (en) | 2015-04-14 | 2020-03-17 | Microsoft Technology Licensing, Llc | Collection record for overlapping data stream collections |
US10102251B2 (en) | 2015-04-14 | 2018-10-16 | Microsoft Technology Licensing, Llc | Lockless open collection data structure |
US10031814B2 (en) | 2015-04-14 | 2018-07-24 | Microsoft Technology Licensing, Llc | Collection record location as log tail beginning |
US9959137B2 (en) | 2015-04-14 | 2018-05-01 | Microsoft Technology Licensing, Llc | Transaction redo using skip element for object |
US10133768B2 (en) * | 2015-04-14 | 2018-11-20 | Microsoft Technology Licensing, Llc | Latest external dependee entity in transaction record |
WO2016183550A1 (en) | 2015-05-14 | 2016-11-17 | Walleye Software, LLC | Dynamic table index mapping |
US10896096B2 (en) | 2016-04-21 | 2021-01-19 | International Business Machines Corporation | Temporal logical transactions |
US20170345001A1 (en) * | 2016-05-27 | 2017-11-30 | Bank Of America Corporation | Failed resource usage monitor and remediation system |
US10229012B2 (en) * | 2016-08-15 | 2019-03-12 | Oracle International Corporation | Committing copy-on-write transaction with a persist barrier for a persistent object including payload references |
WO2018039377A1 (en) | 2016-08-24 | 2018-03-01 | Experian Information Solutions, Inc. | Disambiguation and authentication of device users |
US10474668B2 (en) * | 2016-11-17 | 2019-11-12 | Sap Se | Database systems architecture incorporating distributed log |
US10489356B1 (en) * | 2016-12-19 | 2019-11-26 | Amazon Technologies, Inc. | Truncate and append database operation |
CN110383319B (en) | 2017-01-31 | 2023-05-26 | 益百利信息解决方案公司 | Large scale heterogeneous data ingestion and user resolution |
JP6889254B2 (en) * | 2017-05-01 | 2021-06-18 | 株式会社Murakumo | Database system, method and program |
US10866943B1 (en) | 2017-08-24 | 2020-12-15 | Deephaven Data Labs Llc | Keyed row selection |
US11914571B1 (en) | 2017-11-22 | 2024-02-27 | Amazon Technologies, Inc. | Optimistic concurrency for a multi-writer database |
US10963434B1 (en) | 2018-09-07 | 2021-03-30 | Experian Information Solutions, Inc. | Data architecture for supporting multiple search models |
US11138182B2 (en) * | 2018-11-28 | 2021-10-05 | Salesforce.Com, Inc. | Compensating data corruption causing actions at runtime |
US11086840B2 (en) | 2018-12-07 | 2021-08-10 | Snowflake Inc. | Transactional streaming of change tracking data |
CN111190935B (en) * | 2019-08-27 | 2022-10-14 | 中国人民大学 | Data reading method and device, computer equipment and storage medium |
US11941065B1 (en) | 2019-09-13 | 2024-03-26 | Experian Information Solutions, Inc. | Single identifier platform for storing entity data |
US11366802B1 (en) * | 2019-09-27 | 2022-06-21 | Amazon Technologies, Inc. | Batch undo processing for transaction rollbacks in a multi-writer database |
US11874796B1 (en) | 2019-09-27 | 2024-01-16 | Amazon Technologies, Inc. | Efficient garbage collection in optimistic multi-writer database systems |
US11481285B1 (en) * | 2019-11-19 | 2022-10-25 | Cdw Llc | Selective database data rollback |
US11341163B1 (en) | 2020-03-30 | 2022-05-24 | Amazon Technologies, Inc. | Multi-level replication filtering for a distributed database |
US10936571B1 (en) * | 2020-04-28 | 2021-03-02 | Salesforce.Com, Inc. | Undo based logical rewind in a multi-tenant system |
US11379432B2 (en) | 2020-08-28 | 2022-07-05 | Bank Of America Corporation | File management using a temporal database architecture |
US11880377B1 (en) | 2021-03-26 | 2024-01-23 | Experian Information Solutions, Inc. | Systems and methods for entity resolution |
Family Cites Families (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4498145A (en) | 1982-06-30 | 1985-02-05 | International Business Machines Corporation | Method for assuring atomicity of multi-row update operations in a database system |
US4868744A (en) | 1986-03-03 | 1989-09-19 | International Business Machines Corporation | Method for restarting a long-running, fault-tolerant operation in a transaction-oriented data base system without burdening the system log |
JP2718031B2 (en) | 1987-07-17 | 1998-02-25 | 株式会社日立製作所 | History information acquisition method |
JPH07104868B2 (en) * | 1988-04-08 | 1995-11-13 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | Data storage retrieval system |
US5249300A (en) | 1990-04-27 | 1993-09-28 | Bachman Information Systems, Inc. | System and method of constructing models of complex business transactions using entity-set variables for ordered sets of references to user data |
EP0465018B1 (en) | 1990-06-29 | 1997-05-14 | Oracle Corporation | Method and apparatus for optimizing undo log usage |
US5440730A (en) | 1990-08-09 | 1995-08-08 | Bell Communications Research, Inc. | Time index access structure for temporal databases having concurrent multiple versions |
US5317731A (en) * | 1991-02-25 | 1994-05-31 | International Business Machines Corporation | Intelligent page store for concurrent and consistent access to a database by a transaction processor and a query processor |
US5363473A (en) | 1991-05-28 | 1994-11-08 | The Trustees Of Columbia University In The City Of New York | Incremental update process and apparatus for an inference system |
US5347653A (en) * | 1991-06-28 | 1994-09-13 | Digital Equipment Corporation | System for reconstructing prior versions of indexes using records indicating changes between successive versions of the indexes |
US5701480A (en) * | 1991-10-17 | 1997-12-23 | Digital Equipment Corporation | Distributed multi-version commitment ordering protocols for guaranteeing serializability during transaction processing |
US5280612A (en) * | 1991-11-26 | 1994-01-18 | International Business Machines Corporation | Multiple version database concurrency control system |
US5469562A (en) | 1992-06-26 | 1995-11-21 | Digital Equipment Corporation | Durable atomic storage update manager |
JP2870308B2 (en) * | 1992-07-14 | 1999-03-17 | 日本電気株式会社 | Database management system |
DE69435146D1 (en) * | 1993-06-03 | 2008-11-13 | Network Appliance Inc | Method and apparatus for describing arbitrary areas of a file system |
GB2281644A (en) | 1993-09-02 | 1995-03-08 | Ibm | Fault tolerant transaction-oriented data processing. |
US5642503A (en) * | 1993-12-15 | 1997-06-24 | Microsoft Corporation | Method and computer system for implementing concurrent accesses of a database record by multiple users |
JP3441807B2 (en) | 1994-09-19 | 2003-09-02 | 株式会社日立製作所 | B-tree index management method and system |
US5819020A (en) | 1995-10-16 | 1998-10-06 | Network Specialists, Inc. | Real time backup system |
US5862318A (en) | 1995-10-26 | 1999-01-19 | Microsoft Corporation | System for generating a gapless series of identity values |
US5870758A (en) | 1996-03-11 | 1999-02-09 | Oracle Corporation | Method and apparatus for providing isolation levels in a database system |
GB2311391A (en) | 1996-03-19 | 1997-09-24 | Ibm | Restart and recovery of OMG compliant transaction systems |
US5850507A (en) | 1996-03-19 | 1998-12-15 | Oracle Corporation | Method and apparatus for improved transaction recovery |
US5852715A (en) * | 1996-03-19 | 1998-12-22 | Emc Corporation | System for currently updating database by one host and reading the database by different host for the purpose of implementing decision support functions |
FR2746526B1 (en) | 1996-03-25 | 1998-06-05 | Digital Equipment Corp | METHOD FOR CONSERVING A DATABASE WITH TEMPORAL AND SPATIAL ORGANIZATION |
US5995980A (en) | 1996-07-23 | 1999-11-30 | Olson; Jack E. | System and method for database update replication |
US6321234B1 (en) | 1996-09-18 | 2001-11-20 | Sybase, Inc. | Database server system with improved methods for logging transactions |
US5835698A (en) | 1996-09-20 | 1998-11-10 | Novell, Inc. | Unilaterally-controlled, time-insensitive, data-link recovery apparatus and method |
US6014674A (en) | 1996-11-14 | 2000-01-11 | Sybase, Inc. | Method for maintaining log compatibility in database systems |
US5864849A (en) | 1996-12-16 | 1999-01-26 | Lucent Technologies Inc. | System and method for restoring a multiple checkpointed database in view of loss of volatile memory |
US5845292A (en) | 1996-12-16 | 1998-12-01 | Lucent Technologies Inc. | System and method for restoring a distributed checkpointed database |
US5996088A (en) | 1997-01-22 | 1999-11-30 | Oracle Corporation | High-speed database checkpointing through sequential I/O to disk |
US5930824A (en) * | 1997-02-04 | 1999-07-27 | International Business Machines Corporation | System and method for demand-base data recovery |
US5966706A (en) | 1997-02-19 | 1999-10-12 | At&T Corp | Local logging in a distributed database management computer system |
US5933838A (en) * | 1997-03-10 | 1999-08-03 | Microsoft Corporation | Database computer system with application recovery and recovery log sequence numbers to optimize recovery |
US5907848A (en) * | 1997-03-14 | 1999-05-25 | Lakeview Technology, Inc. | Method and system for defining transactions from a database log |
US5940839A (en) | 1997-04-04 | 1999-08-17 | Hewlett-Packard Company | Fault-tolerant system and method of managing transaction failures in hierarchies |
US6237001B1 (en) | 1997-04-23 | 2001-05-22 | Oracle Corporation | Managing access to data in a distributed database environment |
US5956731A (en) * | 1997-04-23 | 1999-09-21 | Oracle Corporation | Sharing snapshots for consistent reads |
US5873102A (en) | 1997-04-29 | 1999-02-16 | Oracle Corporation | Pluggable tablespaces on a transportable medium |
US5890167A (en) | 1997-05-08 | 1999-03-30 | Oracle Corporation | Pluggable tablespaces for database systems |
US5963959A (en) * | 1997-05-30 | 1999-10-05 | Oracle Corporation | Fast refresh of snapshots |
US6012060A (en) * | 1997-05-30 | 2000-01-04 | Oracle Corporation | Sharing, updating data blocks among multiple nodes in a distributed system |
US6289335B1 (en) * | 1997-06-23 | 2001-09-11 | Oracle Corporation | Fast refresh of snapshots containing subqueries |
US5890161A (en) * | 1997-10-28 | 1999-03-30 | Microsoft Corporation | Automatic transaction processing of component-based server applications |
US5999943A (en) | 1997-10-31 | 1999-12-07 | Oracle Corporation | Lob locators |
US6018746A (en) | 1997-12-23 | 2000-01-25 | Unisys Corporation | System and method for managing recovery information in a transaction processing system |
US6185699B1 (en) | 1998-01-05 | 2001-02-06 | International Business Machines Corporation | Method and apparatus providing system availability during DBMS restart recovery |
US6173292B1 (en) | 1998-03-04 | 2001-01-09 | International Business Machines Corporation | Data recovery in a transactional database using write-ahead logging and file caching |
JPH11272529A (en) * | 1998-03-25 | 1999-10-08 | Canon Inc | Constitution reproduction device, its method and storage medium |
US6192377B1 (en) * | 1998-05-13 | 2001-02-20 | Oracle Corporation | Method and apparatus for determing whether a transaction can use a version of a data item |
US6138121A (en) * | 1998-05-29 | 2000-10-24 | Hewlett-Packard Company | Network management event storage and manipulation using relational database technology in a data warehouse |
US6192370B1 (en) | 1998-06-19 | 2001-02-20 | Sap Aktiengesellschaft | Method and system for rapid memory-resident processing of transactional data |
US6341288B1 (en) * | 1998-07-29 | 2002-01-22 | Sybase, Inc. | Database system with methodology for accessing a database from portable devices |
US6457021B1 (en) * | 1998-08-18 | 2002-09-24 | Microsoft Corporation | In-memory database system |
US6405217B1 (en) | 1998-09-21 | 2002-06-11 | Microsoft Corporation | State-based implementation of transactions on a file system |
US6363499B1 (en) | 1998-09-21 | 2002-03-26 | Microsoft Corporation | Method and system for restoring a computer to its original state after an unsuccessful installation attempt |
US6438749B1 (en) | 1999-03-03 | 2002-08-20 | Microsoft Corporation | Method and system for restoring a computer to its original state after an unsuccessful patch installation attempt |
US6529921B1 (en) * | 1999-06-29 | 2003-03-04 | Microsoft Corporation | Dynamic synchronization of tables |
US6480848B1 (en) * | 1999-07-19 | 2002-11-12 | International Business Machines Corporation | Extension of data definition language (DDL) capabilities for relational databases for applications issuing DML and DDL statements |
US6801915B1 (en) | 1999-07-28 | 2004-10-05 | Robert Mack | Paired keys for data structures |
US6513093B1 (en) | 1999-08-11 | 2003-01-28 | International Business Machines Corporation | High reliability, high performance disk array storage system |
US6640244B1 (en) | 1999-08-31 | 2003-10-28 | Accenture Llp | Request batcher in a transaction services patterns environment |
US7206805B1 (en) * | 1999-09-09 | 2007-04-17 | Oracle International Corporation | Asynchronous transcription object management system |
US6449624B1 (en) * | 1999-10-18 | 2002-09-10 | Fisher-Rosemount Systems, Inc. | Version control and audit trail in a process control system |
US6618822B1 (en) | 2000-01-03 | 2003-09-09 | Oracle International Corporation | Method and mechanism for relational access of recovery logs in a database system |
US6918053B1 (en) * | 2000-04-28 | 2005-07-12 | Microsoft Corporation | Compensation framework for long running transactions |
US6567928B1 (en) | 2000-05-23 | 2003-05-20 | International Business Machines Corporation | Method and apparatus for efficiently recovering from a failure in a database that includes unlogged objects |
US6769074B2 (en) | 2000-05-25 | 2004-07-27 | Lumigent Technologies, Inc. | System and method for transaction-selective rollback reconstruction of database objects |
US6631374B1 (en) | 2000-09-29 | 2003-10-07 | Oracle Corp. | System and method for providing fine-grained temporal database access |
US6804672B1 (en) * | 2001-01-31 | 2004-10-12 | Oracle International Corporation | Method and mechanism for dependency tracking |
US8374966B1 (en) | 2002-08-01 | 2013-02-12 | Oracle International Corporation | In memory streaming with disk backup and recovery of messages captured from a database redo stream |
US7103597B2 (en) * | 2002-10-03 | 2006-09-05 | Mcgoveran David O | Adaptive transaction manager for complex transactions and business process |
US7281023B2 (en) | 2003-12-15 | 2007-10-09 | At&T Knowledge Ventures, L.P. | Architecture of database application with robust online recoverability |
US7334002B2 (en) * | 2004-02-27 | 2008-02-19 | Microsoft Corporation | System and method for recovery units in databases |
US7499953B2 (en) | 2004-04-23 | 2009-03-03 | Oracle International Corporation | Online recovery of user tables using flashback table |
-
2000
- 2000-09-29 US US09/676,305 patent/US6631374B1/en not_active Expired - Lifetime
-
2001
- 2001-09-28 JP JP2002531275A patent/JP2004512585A/en active Pending
- 2001-09-28 DE DE60142702T patent/DE60142702D1/en not_active Expired - Lifetime
- 2001-09-28 WO PCT/US2001/030538 patent/WO2002027561A2/en active IP Right Grant
- 2001-09-28 EP EP01975583A patent/EP1358579B1/en not_active Expired - Lifetime
- 2001-09-28 AT AT01975583T patent/ATE475935T1/en not_active IP Right Cessation
- 2001-09-28 AU AU2001294896A patent/AU2001294896B2/en not_active Expired
- 2001-09-28 AU AU9489601A patent/AU9489601A/en active Pending
- 2001-09-28 CA CA002422887A patent/CA2422887C/en not_active Expired - Lifetime
-
2003
- 2003-02-10 US US10/364,065 patent/US7277900B1/en not_active Expired - Lifetime
- 2003-12-09 HK HK03108921.4A patent/HK1056634A1/en not_active IP Right Cessation
-
2006
- 2006-05-17 US US11/436,263 patent/US7937368B2/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
None |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2844372A1 (en) * | 2002-09-11 | 2004-03-12 | Michel Zamfiroiu | Database organization or management method in which when alterations to a primary or main database are made, they are associated with a digital identifier, which can subsequently be used to trace the alterations |
WO2004025507A2 (en) * | 2002-09-11 | 2004-03-25 | Karmic Software Research | Method for organizing a digital database in a traceable form |
WO2004025507A3 (en) * | 2002-09-11 | 2004-05-06 | Karmic Software Res | Method for organizing a digital database in a traceable form |
EP1503290A3 (en) * | 2003-06-30 | 2011-01-19 | Microsoft Corporation | Transaction consistent copy-on-write database |
CN100387002C (en) * | 2004-12-24 | 2008-05-07 | 华为技术有限公司 | Method for testing mechanism of data rollback |
US8515948B2 (en) | 2011-03-09 | 2013-08-20 | International Business Machines Corporation | Managing materialized query tables (MQTS) over fine-grained access control (FGAC) protected tables |
GB2494867A (en) * | 2011-09-19 | 2013-03-27 | Cloudtran Inc | Scalable distributed transaction processing method |
US9922075B2 (en) | 2011-09-19 | 2018-03-20 | New Technology/Enterprise Ltd. | Scalable distributed transaction processing system |
Also Published As
Publication number | Publication date |
---|---|
HK1056634A1 (en) | 2004-02-20 |
US7277900B1 (en) | 2007-10-02 |
EP1358579A2 (en) | 2003-11-05 |
CA2422887C (en) | 2008-07-15 |
US6631374B1 (en) | 2003-10-07 |
JP2004512585A (en) | 2004-04-22 |
ATE475935T1 (en) | 2010-08-15 |
AU2001294896B2 (en) | 2004-05-20 |
US7937368B2 (en) | 2011-05-03 |
WO2002027561A3 (en) | 2003-08-28 |
EP1358579B1 (en) | 2010-07-28 |
DE60142702D1 (en) | 2010-09-09 |
CA2422887A1 (en) | 2002-04-04 |
US20060212492A1 (en) | 2006-09-21 |
AU9489601A (en) | 2002-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2422887C (en) | System and method for providing fine-grained temporal database access | |
AU2001294896A1 (en) | System and method for providing fine-grained temporal database access | |
US10657008B2 (en) | Managing a redundant computerized database using a replicated database cache | |
AU2017203631B2 (en) | Database system with database engine and separate distributed storage service | |
US6772177B2 (en) | System and method for parallelizing file archival and retrieval | |
US7225208B2 (en) | Systems and methods for backing up data files | |
US6898688B2 (en) | Data management appliance | |
US7822712B1 (en) | Incremental data warehouse updating | |
US7340645B1 (en) | Data management with virtual recovery mapping and backward moves | |
US20030135704A1 (en) | Data management appliance | |
US20030196052A1 (en) | Method, system, and program for grouping objects | |
US7949685B2 (en) | Modeling and implementing complex data access operations based on lower level traditional operations | |
EP2590078B1 (en) | Shadow paging based log segment directory | |
US20030131253A1 (en) | Data management appliance | |
US20070174329A1 (en) | Presenting a reason why a secondary data structure associated with a database needs rebuilding | |
US11436089B2 (en) | Identifying database backup copy chaining | |
US20230409431A1 (en) | Data replication with cross replication group references | |
US11526513B2 (en) | SQL interface for embedded graph subqueries | |
US7827216B1 (en) | Method for coordinating relationships between multiple physical entities | |
Darmawan et al. | Database Performance Tuning on AIX | |
Page | TR3002 by Dave Hitz, James Lau, & Michael Malcolm, Network Appliance, Inc. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AU CA JP |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2422887 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2002531275 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2001975583 Country of ref document: EP Ref document number: 2001294896 Country of ref document: AU |
|
WWP | Wipo information: published in national office |
Ref document number: 2001975583 Country of ref document: EP |
|
WWG | Wipo information: grant in national office |
Ref document number: 2001294896 Country of ref document: AU |