Database Concurrent Access via Transactional Memory Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems face inefficiencies in concurrent access of mixed services due to the need for lock mechanisms, leading to performance overheads, memory overuse, and poor data timeliness, especially when implementing read/write operations concurrently.

Innovation Solution

The method involves dividing a data table into contiguous data sets, breaking down operations into point operations, and determining the distribution of data across columns to perform operations within transactional memory systems, allowing for lock-free concurrency and efficient data access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a lock mechanism is used to protect read/write concurrent operations in a database, then data consistency is ensured, but query efficiency is lowered and operation complexity increases

Engineering Contradiction:
Improvedata consistencyVSAvoidquery efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The data table is divided into multiple data sets, where each data set contains at least one column. This segmentation allows different transactions to operate on different data sets concurrently without requiring global locks, thereby maintaining data consistency while improving query efficiency. The modification or query operation is broken down into point operations that can be independently executed on specific data sets.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The lock mechanism is extracted and replaced with a transactional memory system. Instead of using traditional locks to protect concurrent operations, the patent uses transactional memory to manage data access, allowing lock-free concurrency while ensuring data consistency through transactional semantics.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If OLTP and OLAP services are isolated into separate database management systems, then query efficiency is improved, but data timeliness deteriorates and system complexity increases

Engineering Contradiction:
Improvequery efficiencyVSAvoiddata timeliness
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

OLTP and OLAP services are merged into the same database management system. The patent enables concurrent execution of transactional (OLTP) and analytical (OLAP) workloads on the same database by using transactional memory to manage data access, eliminating the need for separate systems and ensuring data timeliness while maintaining query efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Transactional memory serves as an intermediary mechanism that enables coexistence of OLTP and OLAP services. It mediates between read operations (OLAP) and write operations (OLTP), allowing them to execute concurrently without interference while maintaining data consistency and timeliness.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If a data snapshot is used to isolate OLTP and OLAP services, then concurrent access is enabled, but memory usage increases and initialization overhead is introduced

Engineering Contradiction:
Improveconcurrent access capabilityVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Instead of creating static data snapshots that consume memory, the patent uses dynamic transactional memory management. Data is accessed and modified in place with versioning controlled by transactional memory, allowing concurrent access without duplicating data in memory. The system dynamically manages data versions based on active transactions rather than pre-creating snapshots.

Inventive Principle:
Principle #15Dynamics

4Reliability

If page copying is performed during update operations in the main process, then data consistency between processes is maintained, but performance is greatly affected and operation complexity increases

Engineering Contradiction:
Improvedata consistencyVSAvoidupdate performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The page copying operation is extracted and eliminated. Instead of copying data pages during updates, the patent uses transactional memory to manage data modifications in place. The transactional memory system handles consistency through versioning and transactional semantics without requiring physical page copying, thereby improving update performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of copying entire data pages, the patent uses selective copying at the transaction level. Transactional memory creates versions only for the specific data items being modified, rather than copying entire pages. This selective versioning maintains data consistency while minimizing the overhead of data duplication.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9904701B2Method and apparatus for concurrent access of mixed services
Publication Date: 2018.02.27 HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
  • US9904701B2 patent drawing
  • US9904701B2 patent drawing
  • US9904701B2 patent drawing

AI summary

Embodiments of the present invention provide a method and an apparatus for concurrent access of mixed services, and relate to the field of database applications, so as to implement concurrent read/write access to a database service, allow lock-free concurrency of query and modification operations, lower operation complexity, reduce overheads, reduce a waste of memory, and improve data timeliness. The method includes: dividing a data table to obtain at least one data set; breaking down a modification or query operation on the data table into at least one point operation; determining whether to-be-processed data on which point operation processing is performed is distributed in multiple columns; and if the to-be-processed data is distributed in multiple columns, determining whether the to-be-processed data is in a same data set, and performing a modification or query operation on the to-be-processed data according to a result of the determining.