Multi-dimensional Cluster Indexing for Sparse Graph Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Relational database systems face performance issues when handling loosely structured and heterogeneous data types like RDF graphs due to the inefficiency of traditional indexing techniques, which fail to improve query performance because of non-uniqueness and clustering challenges in such data.

Innovation Solution

The system identifies dimensions in sparse graph datasets and uses multi-dimensional indexing structures to organize data into logical blocks, creating special block indexes that allow independent clustering of each block, enhancing query evaluation times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If traditional indexing techniques are used on relational database systems for heterogeneous data like RDF graphs, then the schema design is simplified and space is saved, but query performance deteriorates due to non-unique indexed values and inability to cluster data effectively

Engineering Contradiction:
Improveschema design complexityVSAvoidquery performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments heterogeneous graph data into multiple homogeneous relations based on predicate types. Each relation stores triples with a specific predicate, allowing traditional indexing to work effectively on each homogeneous relation while maintaining the ability to handle complex queries across multiple relations through union operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to the data model by organizing data into multiple relations with an added 'predicate_type' dimension. This allows the system to maintain both the simplicity of single-relation storage and the performance of indexed queries by distributing data across dimensional slices.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Speed

If multiple indexes are created to improve query performance on heterogeneous data, then query speed may improve for specific cases, but device complexity and maintenance overhead increase significantly

Engineering Contradiction:
Improvequery speedVSAvoidindex structure complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

Instead of creating multiple indexes on a single heterogeneous relation, the patent segments data into multiple homogeneous relations, each requiring only a single index. This reduces the total number of indexes needed while maintaining query performance, as each index operates on uniform data types and predicates.

Inventive Principle:
Principle #1Segmentation

3Quantity of substance

If columns are overloaded to store multiple data types in a single relation, then space efficiency improves and schema simplification is achieved, but indexing effectiveness deteriorates because retrieved data are often irrelevant to the query

Engineering Contradiction:
Improvestorage space efficiencyVSAvoidindexing effectiveness
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent opposes column overloading by segmenting data into separate columns and relations based on predicate types. This ensures that each column stores homogeneous data, making indexing effective while accepting the trade-off of slightly increased storage overhead compared to overloaded columns.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10509804B2Method and apparatus for storing sparse graph data as multi-dimensional cluster
Publication Date: 2019.12.17 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10509804B2 patent drawing
  • US10509804B2 patent drawing

AI summary

A system for storing graph data as a multi-dimensional cluster having a database with a graph dataset containing data and relationships between data pairs and a schema list of storage methods that use a table with columns and rows associated with data or relationships. An analyzer module to collect statistics of a graph dataset and a dimension identification module to identify a plurality of dimensions that each represent a column in the table. A schema creation and loading module creates a modified storage method and having a plurality of distinct table blocks and a plurality of table block indexes, one index for each table block and arranges the data and relationships in the given graph dataset in accordance with the modified storage method to create the multi-dimensional cluster.