Transaction Dependency Graph Partitioning for Distributed Database Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed systems, managing large-scale computing resources across varying hardware and geographical locations is complex due to resource variability and network performance issues, leading to inefficient data access and continuous re-partitioning of data, which hampers execution performance.

Innovation Solution

A method for database management in distributed systems that involves collecting transactions, generating a transaction dependency graph, partitioning it based on server rules, and distributing transactions for execution, rather than data partitioning, to reduce execution time and eliminate the need for continuous re-partitioning.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is partitioned and stored on different hard disks at different servers, then data storage capacity is improved, but data access difficulty increases

Engineering Contradiction:
Improvedata storage capacityVSAvoiddata access difficulty
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The patent introduces a management system as an intermediary that coordinates data access across distributed servers. The management system receives access requests, determines the location of required data partitions, and retrieves data from appropriate servers, thereby simplifying the access process for users while maintaining distributed storage benefits

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where the management system continuously monitors data access patterns and server status. Based on this feedback, the system can dynamically adjust data partitioning strategies and access routes, optimizing both storage efficiency and access speed over time

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If data is continuously re-partitioned to adapt to changing workloads, then system adaptability is improved, but execution performance deteriorates

Engineering Contradiction:
Improvesystem adaptabilityVSAvoidexecution performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements dynamic partitioning where data partitions can be reassigned to different servers based on current workload conditions, server capacity, and access patterns. This dynamic adjustment allows the system to adapt to changing requirements without complete re-partitioning, maintaining performance by making incremental optimizations

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary analysis of workload patterns and server capabilities to pre-determine optimal partitioning strategies. By anticipating future needs and preparing partitioning configurations in advance, the system can adapt to workload changes more efficiently without causing performance degradation during actual execution

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If data is accessed from hard disks at different servers, then distributed storage is achieved, but data access time increases

Engineering Contradiction:
Improvedistributed storage capacityVSAvoiddata access time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The management system performs preliminary data retrieval operations by anticipating which data partitions will be needed based on access patterns. Data is pre-fetched from distributed servers and cached in local memory or buffer zones before actual access requests are processed, significantly reducing access time while maintaining distributed storage architecture

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The management system acts as an intermediary that caches frequently accessed data partitions locally. When data access requests are received, the system first checks local caches before querying distributed servers, reducing network latency and access time while preserving the benefits of distributed storage for less frequently accessed data

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10152505B2Distributed systems and methods for database management and management systems thereof
Publication Date: 2018.12.11 NATIONAL TSING HUA UNIVERSITY
  • US10152505B2 patent drawing
  • US10152505B2 patent drawing
  • US10152505B2 patent drawing

AI summary

Methods for database management in a distributed system are provided, wherein the distributed system at least includes a plurality of servers. The method includes the steps of: collecting transactions to be executed, wherein each transaction corresponds to a plurality of requests and each request is associated with at least one data; generating a transaction dependency graph corresponding to the requests according to data dependency among the data associated with the requests of all the transactions; partitioning the transaction dependency graph to generate a plurality of partitions corresponding to the servers; generating execution plans corresponding to the partitions; distributing the transactions to the servers for execution based on the generated execution plans.