Unified Transaction Object for Row and Column Store Concurrency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multi-version concurrency control (MVCC) systems in database management are limited in providing concurrency control across different data stores and types of table storage, leading to inconsistent views and increased locking and coordination requirements.

Innovation Solution

Implementing multi-version concurrency control by using shared transaction objects across both row stores and column stores, where a single transaction object is used for updates in both storage types, and atomic commits ensure consistent state management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If separate concurrency control mechanisms are used for row store and column store, then each storage type can be independently managed, but inconsistent views of data and increased locking coordination requirements occur

Engineering Contradiction:
Improveindependent management capabilityVSAvoiddata view consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent merges the concurrency control mechanisms of row store and column store into a unified system. A single set of transaction logs and version information is shared between both storage types, allowing them to be managed together rather than separately. This is achieved by having both row store and column store operations participate in the same transaction context, using common commit records and version identifiers.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal concurrency control mechanism that serves both row store and column store operations. The transaction management system is designed to handle multiple types of storage operations through a single interface, using the same transaction objects, lock management, and version control for both storage types, thereby eliminating the need for separate control mechanisms.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Measurement precision

If separate transaction objects are used for row store and column store updates, then each update can be tracked independently, but locking and coordination overhead increases

Engineering Contradiction:
Improveupdate tracking accuracyVSAvoidlocking coordination complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent combines multiple transaction objects into a single shared transaction object that is used for both row store and column store updates. Instead of creating separate transaction contexts for each storage type, the system uses one transaction object to track all modifications, maintaining a unified view of the transaction state and reducing the number of locks that need to be coordinated.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent designs a universal transaction object that can track updates across different storage types. This single transaction object serves multiple functions: it manages row store modifications, column store modifications, and coordinates between them using a common lock hierarchy and versioning scheme, thereby reducing overall system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If different commit records are used for row store and column store, then each store can commit independently, but atomicity of transactions across stores is compromised

Engineering Contradiction:
Improvecommit speedVSAvoidtransaction atomicity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent merges the commit records of row store and column store into a single shared commit record. When a transaction commits, both storage types update the same commit record atomically, ensuring that either both commits succeed together or both fail together. This eliminates the possibility of partial commits across different storage types while maintaining efficient commit operations.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal commit record that serves both row store and column store operations. This single commit record is used to record the outcome of transactions affecting either or both storage types, providing a unified mechanism for ensuring atomicity across different storage systems while allowing parallel commit processing.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9483516B2Multi-version concurrency control across row store and column store
Publication Date: 2016.11.01 SAP SE
  • US9483516B2 patent drawing
  • US9483516B2 patent drawing
  • US9483516B2 patent drawing

AI summary

Techniques and solutions are provided for performing transactions within a database system that stores database data using a row store and a column store. For example, a transaction that performs operations to update data in both the row store and the column store can use the same transaction object. The state of the transaction can be atomically changed. For example, the state of the transaction object can be atomically changed from uncommitted to committed (e.g., set to a commit identifier to represent the committed state).