Patent application number | Description | Published |
20080256073 | Transactional memory using buffered writes and enforced serialization order - Various technologies and techniques are disclosed that support buffered writes and enforced serialization order in a software transactional memory system. A buffered write process is provided that performs writes to shadow copies of objects and writes content back to the objects after validating a respective transaction during commit. When a write lock is first obtained for a particular transaction, a shadow copy is made of a particular object. Writes are performed to and reads from the shadow copy. After validating the particular transaction during commit, content is written from the shadow copy to the particular object. A transaction ordering process is provided that ensures that an order in which the transactions are committed matches an abstract serialization order of the transactions. Transactions are not allowed to commit until their ticket number matches a global number that tracks the next transaction that should commit. | 10-16-2008 |
20090006404 | Handling falsely doomed parents of nested transactions - Various technologies and techniques are disclosed for detecting falsely doomed parent transactions of nested children in transactional memory systems. When rolling back nested transactions, a release count is tracked each time that a write lock is released due to rollback for a given nested transaction. For example, a write abort compensation map can be used to track the release count for each nested transaction. The number of times the nested transactions releases a write lock is recorded in their respective write abort compensation map. The release counts can be used during a validation of a parent transaction to determine if a failed optimistic read is really valid. If an aggregated release count for the nested children transactions accounts for the difference in version numbers exactly, then the optimistic read is valid. | 01-01-2009 |
20090006407 | Parallel nested transactions in transactional memory - Various technologies and techniques are disclosed for supporting parallel nested transactions in a transactional memory system. For example, pessimistic reads are supported. A pessimistic duplication detection data structure is created for a parallel nested transaction. An entry is made into the data structure for each pessimistic read in the parallel nested transaction. When committing the parallel nested transaction, new pessimistic read locks are passed to an immediate parent, and an entry is made into a separate pessimistic duplication detection data structure of the immediate parent with synchronization between sibling transactions. The pessimistic duplication detection data structures can also be used for upgrades from pessimistic reads to write locks. Retry operations are supported with parallel nested transactions. Write abort compensation maps can be used with parallel nested transactions to detect and handle falsely doomed parent transactions. | 01-01-2009 |
20090007070 | Efficient retry for transactional memory - Various technologies and techniques are disclosed for implementing retrying transactions in a transactional memory system. The system allows a transaction to execute a retry operation. The system registers for waits on every read in a read set of the retrying transaction. The retrying transaction waits for notification that something in the read set has changed. A transaction knows if notification is required in one of two ways. If the transactional memory word contained a waiters bit during write lock acquisition, then during release the transactional memory word is looked up in an object waiters map, and waiting transactions are signaled. If a writing transaction finds a global count of waiting transactions to be greater than zero after releasing write locks, a transaction waiters map is used to determine which waiting transactions need to be signaled. In each case, the write lock is released using a normal store operation. | 01-01-2009 |
20090077082 | Parallel nested transactions in transactional memory - Various technologies and techniques are disclosed for supporting parallel nested transactions in a transactional memory system. Releasing a duplicate write lock for rollback is supported. During rollback processing of a parallel nested transaction, a write log entry is encountered that represents a write lock. If the write lock is a duplicate, a global lock is used to synchronize access to a global versioned write lock map. Optimistic read validation is supported. During validation, if a versioned write lock indicates a sibling conflict, consult information to determine if a parallel nested transaction should be doomed. Write lock acquisition is supported. Upon attempting to acquire a write lock for a parallel nested transaction, a transactional memory word is analyzed to determine if the write lock can be obtained. If the transactional memory word indicates a versioned write lock, retrieve a write log entry pointer from a global versioned write lock map. | 03-19-2009 |
20090077083 | Parallel nested transactions in transactional memory - Various technologies and techniques are disclosed for supporting parallel nested transactions in a transactional memory system. Multiple closed nested transactions are created for a single parent transaction, and the closed nested transactions are executed concurrently as parallel nested transactions. Various techniques are used to ensure effects of the parallel nested transactions are hidden from other transactions outside the parent transaction until the parent transaction commits. For example, versioned write locks are used with parallel nested transactions. When a transactional memory word changes from a write lock to a versioned write lock, an entry is made in a global versioned write lock map to store a pointer to a write log entry that the versioned write lock replaced. When the versioned write lock is encountered during transaction processing, the global versioned write lock map is consulted to translate the versioned write lock to the pointer to the write log entry. | 03-19-2009 |
20100082599 | Characterizing Queries To Predict Execution In A Database - One embodiment is a method that obtains query plans for queries in the workload. The query plans include a tree of operators and estimated cardinalities for nodes in the tree. The method then groups the operators for the queries and characterizes the workload in terms of grouped operators to predict performance of the queries before the queries execute in a database. | 04-01-2010 |
20100106711 | COMBINED JOIN - Computer-implemented systems and associated operating methods perform a combined join. A computer-implemented system comprises a processor that performs query processing in a relational database by receiving inputs of a variety of cases and sizes, and performing a combined database join of two of the received inputs using an index in memory formed from records of the first input and probed with records from the second input by optimizing the index for increased-speed searching using fast parent-to-child navigation. The variety of cases comprise combinations of unsorted, sorted, and indexed inputs, and the variety of sizes comprise input sizes from smaller than the available memory to input sizes substantially larger than available memory. | 04-29-2010 |
20100191717 | OPTIMIZATION OF QUERY PROCESSING WITH TOP OPERATIONS - A query processing system performs multiple optimizations of a merge sort for “top” operations. An illustrative query processing system comprises a receiver that receives database query inputs with a top request, and a sort logic that sorts the inputs using temporary files to store intermediate sort data and applies top qualifications to sorted output. An optimizing logic that modifies operation of the sort logic and reduces the number of records in the inputs copied into temporary files. | 07-29-2010 |
20100198806 | EVALUATION OF SET OF REPRESENTATIVE QUERY PERFORMANCE USING ROBUSTNESS MAPPING - Computer-implemented systems and associated operating methods use atomic query maps to identify and evaluate database query plan robustness landmarks. The computer-implemented system comprises logic that evaluates robustness of a selected atomic query by measuring performance of atomic query execution in a predetermined range of runtime conditions that include data characteristics. The logic produces a set of measurements that can be displayed as one or more performance maps and analyzes the measured performance to identify landmarks indicative of database atomic query performance degradation greater than a predetermined amount. | 08-05-2010 |
20100198807 | WORKLOAD MANAGEMENT USING ROBUSTNESS MAPPING - Computer-implemented systems and associated operating methods use performance maps created by evaluating robustness of a database operator, query plan, or query to analyze health of a currently-executing query. The computer-implemented system comprises logic that receives one or more robustness maps of measured database system performance acquired during database execution in a predetermined range of runtime conditions. The logic analyzes state of a currently-executing query by locating the query's performance on the robustness maps. | 08-05-2010 |
20100198808 | DATABASE SYSTEM IMPLEMENTATION PRIORITIZATION USING ROBUSTNESS MAPS - Computer-implemented systems and associated operating methods take measurements and landmarks associated with robustness maps and perform tests evaluating the robustness of a database engine's operator implementations and/or query components. The illustrative computer-implemented system comprises logic that receives one or more robustness maps of measured database system performance acquired during database execution in a predetermined range of runtime conditions and uses information from the robustness map or maps to prioritize potential changes that improve robustness of a database system implementation wherein landmarks in the robustness map or maps are operated upon as a robustness bug describing conditions under which a predetermined implementation of a database operator or query component degrades in a manner different from a predetermined expected manner. | 08-05-2010 |
20100198809 | DATABASE SYSTEM TESTING USING ROBUSTNESS MAPS - Computer-implemented systems and associated operating methods take measurements and landmarks associated with robustness maps and perform tests evaluating the robustness of a database engine's operator implementations and/or query components. The illustrative computer-implemented system comprises logic that receives one or more robustness maps of measured database system performance acquired during database execution in a predetermined range of runtime conditions and uses information from the robustness map or maps to perform regression testing wherein landmarks in the robustness maps are operated upon as a robustness bugs describing conditions under which a predetermined implementation of a database operator or query component degrades in a manner different from a predetermined expected manner. | 08-05-2010 |
20100198810 | EVALUATION OF DATABASE QUERY PLAN ROBUSTNESS LANDMARKS USING OPERATOR MAPS OR QUERY MAPS - Computer-implemented systems and associated operating methods create and use an operator map to identify and evaluate database query plan robustness landmarks. The computer-implemented system comprises logic that creates a map evaluating performance of an implementation of a database engine operator during execution under actual operating conditions. The logic measures and maps performance for a selected range of runtime conditions including resource availability and data characteristics. | 08-05-2010 |
20100198811 | QUERY PLAN ANALYSIS OF ALTERNATIVE PLANS USING ROBUSTNESS MAPPING - Computer-implemented and associated operating methods evaluate robustness of a query plan by measuring performance with regard to a range of runtime conditions and producing a map of relative performance of the given query plan when compared with alternative plans for a range of conditions. The computer-implemented system comprises logic that evaluates the selected query plan in comparison to multiple alternative query plans in a predetermined range of runtime conditions that include data characteristics. The logic produces a set of performance measurements and analyzes the measured performance to map performance of the selected query plan in comparison to performance of one or more alternative query plans. | 08-05-2010 |
20100205351 | DATABASE JOIN OPTIMIZED FOR FLASH STORAGE - Computer-implemented systems and associated operating methods implement a fast join for databases which is adapted for usage with flash storage. A system comprises a processor that performs a join of two tables stored in a storage in pages processed in a column orientation wherein column values for all rows on a page are co-located in mini-pages within the page. The processor reduces input/output operations of the join by accessing only join columns and mini-pages containing join results. | 08-12-2010 |
20100281013 | ADAPTIVE MERGING IN DATABASE INDEXES - A method for implementing adaptive merging in database indexes includes selecting a key range from a database query having a range predicate and searching a database for data matching the key range. The data matching the key range is merged to form a collected dataset which is stored for future retrieval. A method for optimizing B-tree representation of a database using actual queries is also provided. | 11-04-2010 |
20100306212 | Fetching Optimization in Multi-way Pipelined Database Joins - A method of performing a multi-way join of a plurality of database relations includes executing a plurality of pipelined two-way joins with the database relations. Each two-way join has two sequential phases. In the first phase, missing attributes of the input relations that are required to evaluate a joining criterion specific to said two-way join are fetched from a non-volatile memory device, and the input relations are joined according to the criterion. In the second phase, any additional missing attributes of the input relations are fetched from the non-volatile memory device as assigned by an optimization process executed prior to commencing the multi-way join. | 12-02-2010 |
20100332457 | Database segment searching - A segment encompasses a number of segment records less than the total number of records of a database. The segment records have values for a field of the database. Lowest and highest values of the segment records for the field, and a bitmap for the segment, can be determined and stored. Selected bits of the bitmap each correspond to a value for the field. Each selected bit is set to one where at least one segment record has the value to which the bit corresponds. An index relating to just the segment records can be determined and stored. The lowest and highest values, and the bitmap, are adapted to permit determination of whether the segment has to be loaded into memory to locate records that satisfy a query. The index is adapted to permit searching of the segment records after the segment has been loaded into the memory. | 12-30-2010 |
20100332472 | QUERY PROGRESS ESTIMATION BASED ON PROCESSED VALUE PACKETS - A data processing system performs query progress estimation based on processed value packets. In the illustrative data processing system, a database query processor comprises a query optimizer that creates a query plan, and a database plan executor that executes the query plan and observes intermediate result streams processed as the query plan is executed. A value packet manager anticipates value packets during query optimization, creates value packets as the intermediate result streams are processed, and compares anticipated value packets with created value packets to determine accuracy of the anticipated value packets and estimate query progress. | 12-30-2010 |
20100332494 | HISTOGRAM PROCESSING BY TREND AND PATTERN REMOVAL - A data processing system compress a histogram with less information loss than simply reducing the number of steps (or intervals) in the histogram. The data processing system uses a very detailed histogram as a starting point and comprises histogram compression logic that compresses a detailed histogram by detecting trends and periodic patterns in the detailed histogram. The histogram compression logic extracts the detected trends and periodic patterns from the detailed histogram, and forms a compressed histogram as a distribution of data remaining after extraction of the trends and periodic patterns. | 12-30-2010 |
20110022586 | Determining whether change in workload of database system has occurred, and/or whether executing current workload will likely result in problem developing with database system - Whether a change in workload of a database system has occurred can be determined. Investigative queries are formulated. Each investigative query is adapted to test a different resource or a different combination of resources of the database system. The investigative queries are run when the database system is in an unloaded state to acquire unloaded performance metrics. The investigative queries are run when the database system is in a loaded state to acquire loaded performance metrics. Whether executing a current workload of the database system, using a current configuration of the database system, will likely result in a problem developing at a later point in time can also be determined. Simultaneously with actual execution of the current workload on the database system using the current configuration, a simulation of execution of the current workload using the current configuration is performed. The simulation is performed more quickly than the actual execution. | 01-27-2011 |
20110040738 | PARALLEL NESTED TRANSACTIONS IN TRANSACTIONAL MEMORY - Various technologies and techniques are disclosed for supporting parallel nested transactions in a transactional memory system. Releasing a duplicate write lock for rollback is supported. During rollback processing of a parallel nested transaction, a write log entry is encountered that represents a write lock. If the write lock is a duplicate, a global lock is used to synchronize access to a global versioned write lock map. Optimistic read validation is supported. During validation, if a versioned write lock indicates a sibling conflict, consult information to determine if a parallel nested transaction should be doomed. Write lock acquisition is supported. Upon attempting to acquire a write lock for a parallel nested transaction, a transactional memory word is analyzed to determine if the write lock can be obtained. If the transactional memory word indicates a versioned write lock, retrieve a write log entry pointer from a global versioned write lock map. | 02-17-2011 |
20110055232 | Data restructuring in multi-level memory hierarchies - A method, executed on a suitably programmed processor, provides for ordering records using a memory hierarchy. The memory hierarchy includes and two or more lower levels of the memory hierarchy. The method includes the steps of (a) receiving unsorted input records; (b) reading the input records in pages and writing one or more pages of the input records to the primary memory; (c) sorting the pages of input records to create a run; (d) if a size of the run exceeds primary memory capacity, moving data that just exceeds the primary memory capacity to a secondary level of the memory hierarchy; (e) repeating steps (a)-(d) until either (i) all unsorted input records have been read into primary memory and sorted, or (ii) a capacity of the secondary level of the memory hierarchy is exceeded; (f) following step (e)(ii), moving data that just exceeds the secondary memory capacity from the secondary level to a tertiary level of the memory hierarchy until the capacity of the secondary level no longer is exceeded; and (g) following either of steps (c), (e)(i), or (f), merging runs to create a merge output. | 03-03-2011 |
20110099160 | SYSTEM AND METHOD FOR EXECUTING QUERIES - There is provided a computer-implemented method of executing a query plan against a database. An exemplary method comprises accessing a first subset of rows of a database table using a direct access method. The query plan may comprise the direct access method. The exemplary method also comprises determining a processing cost of accessing the first subset of rows. The exemplary method further comprises modifying the direct access method in response to determining that the processing cost exceeds a specified threshold. Additionally, the exemplary method comprises accessing a second subset of rows of the database table using the modified direct access method. | 04-28-2011 |
20110138145 | PARALLEL NESTED TRANSACTIONS IN TRANSACTIONAL MEMORY - Various technologies and techniques are disclosed for supporting parallel nested transactions in a transactional memory system. Multiple closed nested transactions are created for a single parent transaction, and the closed nested transactions are executed concurrently as parallel nested transactions. Various techniques are used to ensure effects of the parallel nested transactions are hidden from other transactions outside the parent transaction until the parent transaction commits. For example, versioned write locks are used with parallel nested transactions. When a transactional memory word changes from a write lock to a versioned write lock, an entry is made in a global versioned write lock map to store a pointer to a write log entry that the versioned write lock replaced. When the versioned write lock is encountered during transaction processing, the global versioned write lock map is consulted to translate the versioned write lock to the pointer to the write log entry. | 06-09-2011 |
20120109981 | GENERATING PROGRESSIVE QUERY RESULTS - There is provided a method for generating results for a sort operation. The method includes writing a subset of input to memory. The subset may be sorted based on the sort operation. The sorted subset may be compared to previous results. The previous results may be recalled from a client of the sort operation based on the comparison. | 05-03-2012 |
20120197869 | SYSTEM AND METHOD FOR EXECUTING QUERIES - There is provided a computer-implemented method of executing a query plan against a database. An exemplary method comprises accessing a first subset of rows of a database table using a direct access method for an index. The query plan may comprise the direct access method. The exemplary method also comprises determining a processing cost of accessing the first subset of rows. The exemplary method further comprises modifying the direct access method for the index in response to determining that the processing cost exceeds a specified threshold. Additionally, the exemplary method comprises accessing a second subset of rows of the database table using the modified direct access method. | 08-02-2012 |
20120254171 | Exploitation of Correlation Between Original and Desired Data Sequences During Run Generation - A computer executed method of exploiting correlations between original and desired data sequences during run generation comprises, with a processor, adding a number of data values from a data source to a first memory device, the first memory device defining a workspace, determining whether the data values within the workspace should be output in ascending or descending order for a number of runs, and writing a number of the data values as a run to a second memory device in the determined order. | 10-04-2012 |
20120254173 | GROUPING DATA - A computer-executed method for grouping data comprising, with a processor, generating a number of sorted runs from an unsorted input, storing the sorted runs in temporary storage, placing pages of data from the sorted runs, one at a time, into a portion of a buffer allocated to receive that page, and from the allocated portion of the buffer, merging each page of data, one at a time, into a number of aggregated records, the number of aggregated records also being stored in the buffer. | 10-04-2012 |
20120254199 | MERGE OPTIMIZATION SYSTEM - A merge optimization system to optimize a run merge process for runs including keys from a data source. The system may include a run generation module to generate a run of the keys in a predetermined order. The system may further include a key characterization module to characterize a distribution of the keys across the run at run generation time, and a run merge module executed by a computer system to selectively associate the runs based on the characterization. | 10-04-2012 |
20130013585 | HASH JOIN AND HASH AGGREGATION INTEGRATION SYSTEM - A hash integration system includes a hash join module including build and probe inputs. A hash aggregation module may aggregate on the probe input of the hash join module, and a hash table generation module may generate an integrated hash table including a record with values from the build and aggregated probe inputs. The hash join module may join the build and aggregated probe inputs to form a joined output. | 01-10-2013 |
20130013824 | PARALLEL AGGREGATION SYSTEM - A parallel aggregation system includes a data analysis module to determine a unique key value of a record to be forwarded to a destination. A pre-processing module may determine existence of the record in a buffer and priority of the record in a priority queue. Based on the existence and priority, the pre-processing module may absorb the record in the buffer and selectively forward another record in the buffer to the destination. | 01-10-2013 |
20130013874 | DATA STORE PAGE RECOVERY - In one implementation, a data store page recovery process includes selecting a page reference and an update record reference at a page recovery mapping based on a page identifier, accessing a backup page via the page reference, accessing an update record via the update record reference, and modifying the backup page according to the update record. The page reference is associated with the update record reference at the page recovery mapping. | 01-10-2013 |
20130018860 | PARALLEL NESTED TRANSACTIONS IN TRANSACTIONAL MEMORY - Various technologies and techniques are disclosed for supporting parallel nested transactions in a transactional memory system. Multiple closed nested transactions are created for a single parent transaction, and the closed nested transactions are executed concurrently as parallel nested transactions. Various techniques are used to ensure effects of the parallel nested transactions are hidden from other transactions outside the parent transaction until the parent transaction commits. For example, retry is allowed to work correctly with parallel nested transactions. When a transaction that is a parallel nested transaction or a child transaction of the parallel nested transaction executes a retry, a read set of the transaction is registered for the retry. When a decision is made to propagate the retry past a parallel nested transaction parent of the transaction, keeping the read set registered and making the read set part of a parent read set. | 01-17-2013 |
20130041904 | COMPUTER INDEXES WITH MULTIPLE REPRESENTATIONS - The present application is directed to an indexing system. In one example, the indexing system includes one or more processors, one or more electronic memories that provide random access memory, one or more mass storage devices that provide persistent data storage, and one or more indexing routines, executed by the one or more processors, that create and manage an index data structure comprising nodes that include key-values/reference pairs, the index data structure additionally including a sibling reference for each index-data-structure node stored in the one or more electronic memories, the one or more indexing routines removing, from the index data structure, the sibling references for index-data-structure nodes when transferring the index-data-structure nodes from the one or more electronic memories to the one or more mass storage devices. | 02-14-2013 |
20130080473 | DISTRIBUTION OF KEY VALUES - A computer apparatus and related method to reduce database congestion is provided. In one aspect, the computer apparatus and method may generate a new partition within a hierarchical data structure of interlinked nodes, if a distribution of key values stored in the hierarchical data structure is skewed in favor of a range of key values. | 03-28-2013 |
20130262423 | CONTROLLED LOCK VIOLATION FOR DATA TRANSACTIONS - A system, method, and non-transitory computer readable medium for providing controlled lock violation for data transactions are presented. The system includes a processor for executing a first data transaction and a second data transaction, the first and second data transactions operating on a plurality of data resources. A controlled lock violation module grants to the second transaction a conflicting lock to a data resource locked by the first transaction with a lock, the conflicting lock granted to the second transaction while the first transaction holds its lock. The controlled lock violation module can be applied to distributed transactions in a two-phase commit and to canned transactions. | 10-03-2013 |
20130282719 | System For Managing Address Reflectors - A system is disclosed for managing address reflectors, in one example, the system discloses a reflector storage | 10-24-2013 |
20130318126 | TREE DATA STRUCTURE - A method of implementing a tree data structure comprises creating a parent and child relationship between a first node and a second node, in which the first node and second node are at the same hierarchical level of the tree data structure, and maintaining only one incoming pointer for each of the nodes in the tree data structure at all times. A tree data structure in which each node in the tree data structure has a single incoming pointer, and in which the tree data structure comprises a pointer directed to a local overflow node from a node at the same hierarchical level as the local overflow node. | 11-28-2013 |
20140040208 | EARLY RELEASE OF TRANSACTION LOCKS BASED ON TAGS - A computing system is associated with a first transaction and a second transaction. The first transaction is associated with an update to data and a release of at least one lock on the data prior to the first transaction being durable. The at least one lock is associated with and/or replaced with at least one tag. The computing system is to identify that the second transaction is to acquire the at least one tag based on a read of the data, determine whether the first transaction is durable based on the at least one tag, and delay a transaction commit for the second transaction until the first transaction is durable. | 02-06-2014 |
20140040219 | METHODS AND SYSTEMS FOR A DEADLOCK RESOLUTION ENGINE - In at least some examples, a system may include a processor core and a non-transitory computer-readable memory in communication with the processor core. The non-transitory computer-readable memory may store a deadlock resolution engine to resolve a deadlock condition based on an abort shortest pipeline policy. | 02-06-2014 |
20140040220 | METHODS AND SYSTEMS FOR DEADLOCK DETECTION - In at least some examples, a system may include a processor core and a non-transitory computer-readable memory in communication with the processor core. The non-transitory computer-readable memory may store deadlock detection engine to determine a deadlock condition, wherein the deadlock detection engine accounts for a set of database lock modes. | 02-06-2014 |
20140157048 | TRANSACTIONS AND FAILURE - Disclosed herein are techniques for system recovery. It is determined whether a transaction depends on a change committed before a failure. It is further determined whether a transaction conflicts with a change interrupted by the failure. | 06-05-2014 |
20140201189 | SYSTEM AND METHOD FOR EXECUTING QUERIES - There is provided a computer-implemented method of executing a query plan against a database. An exemplary method comprises accessing a first subset of rows of a database table using a direct access method for an index. The query plan may comprise the direct access method. The exemplary method also comprises determining a processing cost of accessing the first subset of rows. The exemplary method further comprises modifying the direct access method for the index in response to determining that the processing cost exceeds a specified threshold. Additionally, the exemplary method comprises accessing a second subset of rows of the database table using the modified direct access method. | 07-17-2014 |
20140214767 | Delta partitions for backup and restore - Systems and methods of using delta partitions for backup and restore are disclosed. An example method may include after a full backup, separating change information from static information. The method may also include concentrating the change information in a delta partition prior to a differential backup. The method may also include incrementally backing up only the delta partition during the differential backup. | 07-31-2014 |
20140297985 | SHIFTABLE MEMORY SUPPORTING IN-MEMORY DATA STRUCTURES - A shiftable memory supporting in-memory data structures employs built-in data shifting capability. The shiftable memory includes a memory having built-in shifting capability to shift a contiguous subset of data from a first location to a second location within the memory. The shiftable memory further includes a data structure defined on the memory to contain data comprising the contiguous subset. The built-in shifting capability of the memory to facilitate one or more of movement of the data, insertion of the data and deletion of the data within the data structure. | 10-02-2014 |
20140324782 | APPLYING WRITE ELISION - A data portion is evicted from a buffer, where the evicted data portion is modified from a corresponding data portion in a persistent storage. Write elision is applied to suppress writing the evicted data portion to the persistent storage. Subsequent to applying the write elision and in response to reading a version of the data portion, a redo of a modification of the read data portion is applied. | 10-30-2014 |