Dynamic Graph Database Partitioning via Edge Sampling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graph databases partitioned across multiple machines often experience uneven workload distribution due to query traversals, leading to inefficiencies and overhead, as existing partitioning strategies do not dynamically consider query patterns and edge traversal frequencies.

Innovation Solution

A method that identifies a partitioned graph database, determines edge traversal values based on query performance, calculates vertex scores for migration, and dynamically migrates vertices between partitions to optimize partitioning and reduce interpartition edge traversals, thereby improving efficiency and balancing workload.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If graph databases are partitioned across multiple machines, then storage capacity and query parallelism are improved, but workload distribution becomes uneven due to query traversals

Engineering Contradiction:
Improvestorage capacityVSAvoidworkload distribution efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent implements dynamic partitioning that automatically adjusts vertex placement based on observed query patterns and edge traversal frequencies. The system continuously monitors traversal behavior and re-partitions the graph to optimize workload distribution, transforming static partitioning into a dynamic adaptive system that responds to actual usage patterns.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms by monitoring edge traversal frequencies and query patterns, then using this information to inform partitioning decisions. The partitioning strategy incorporates traversal history and statistical data about edge usage to make informed decisions about vertex placement, creating a closed-loop system that continuously improves based on observed performance.

Inventive Principle:
Principle #23Feedback

2Device complexity

If partitioning is performed without considering query patterns, then partitioning complexity is reduced, but interpartition edge traversals increase leading to overhead

Engineering Contradiction:
Improvepartitioning complexityVSAvoidinterpartition traversal overhead
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The system performs preliminary analysis of query patterns and edge traversal frequencies before executing partitioning operations. By pre-computing traversal statistics and identifying high-frequency edges in advance, the system prepares optimization strategies that reduce interpartition traversals without requiring complex real-time decision-making during query execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes partitioning parameters based on observed query characteristics and edge traversal patterns. The system adjusts partitioning strategies by incorporating statistical parameters about edge usage frequencies and query types, transforming fixed partitioning configurations into adaptive ones that optimize for actual workload characteristics.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If vertices are migrated based on edge traversal values, then query performance is improved, but partitioning overhead increases

Engineering Contradiction:
Improvequery performanceVSAvoidpartitioning overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system applies partial migration strategies by selecting only the most critical vertices for migration based on edge traversal thresholds and query pattern analysis. Rather than migrating all vertices that could potentially improve performance, the system identifies and migrates only those vertices that provide the most significant performance benefit relative to the migration cost, applying action selectively rather than universally.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10169485B2Dynamic partitioning of graph databases based on edge sampling
Publication Date: 2019.01.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10169485B2 patent drawing
  • US10169485B2 patent drawing
  • US10169485B2 patent drawing

AI summary

Software that uses data collected from queries performed on a graph database to dynamically improve graph partitioning. The software performs the following operations: (i) identifying a partitioned graph database including a set of edges and a set of vertices, wherein each vertex of the set of vertices is associated with one or more edges of the set of edges; (ii) determining an edge traversal value for one or more edges of the set of edges, wherein the edge traversal value for a respective edge relates to a number of times that the respective edge is traversed in response to one or more queries of the graph database; and (iii) calculating a first vertex score for a first vertex on a first graph partition, based, at least in part, on the edge traversal value(s) for one or more edges associated with the first vertex.