Distributed Graph Database Indexing and Visualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graph database systems face limitations in supporting distributed processing, indexing, and storage, leading to reduced performance when handling large datasets, which is particularly problematic for large-scale applications like eCommerce, where millions of users generate extensive data and relationships, resulting in inefficiencies and the need for data sampling instead of full query analysis.

Innovation Solution

The implementation of a system that includes a construction module for generating a graph database, a processing module for creating and searching a distributed index, and an index storage module to store the index on a separate distributed storage system, leveraging Hadoop's MapReduce platform for scalable data processing and Lucene for indexing, along with a GraphAtlas system comprising components for graph processing, indexing, construction, reading, and transformation, and a GraphExplorer for visualizing graph databases without loading the entire database into memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a graph database system uses traditional single-node storage and processing, then the system structure remains simple, but it cannot handle large datasets efficiently and performance degrades as data size increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the graph database into multiple shards that are distributed across different nodes in a cluster. Each node stores a subset of the graph data (nodes and edges), allowing the system to handle large datasets by distributing the storage burden. The graph is partitioned based on node IDs or other distribution strategies, enabling parallel processing and scalable architecture that maintains performance as data size increases.

Inventive Principle:
Principle #1Segmentation

2Speed

If the entire graph database is loaded into memory for processing, then query performance improves, but memory requirements increase linearly with database size making it infeasible for large datasets

Engineering Contradiction:
Improvequery response timeVSAvoidmemory consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent segments the graph database into distributed shards stored across multiple nodes, allowing queries to process only the relevant subset of data needed for each query rather than loading the entire database into memory. This enables efficient query processing with limited memory resources by filtering and processing data locally on each node.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary indexing layer that stores metadata and query results in a distributed index structure. This index acts as a mediator between queries and the full graph database, allowing fast retrieval of relevant data without loading the complete graph into memory. The index enables efficient query routing and result aggregation across distributed nodes.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If distributed processing is implemented to handle large datasets, then scalability improves, but system complexity and difficulty of operation increase

Engineering Contradiction:
ImprovescalabilityVSAvoidsystem operation simplicity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent implements a universal query processing framework that handles various query types (node queries, edge queries, path queries) through a unified distributed processing architecture. The system provides consistent interfaces for data insertion, deletion, and querying across all nodes, abstracting the distributed complexity from users while maintaining scalability. The framework automatically handles data partitioning and result aggregation without requiring user intervention in distribution details.

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

Data Source

PatentUS10192000B2System and method for distributed system to store and visualize large graph databases
Publication Date: 2019.01.29 WALMART APOLLO LLC
  • US10192000B2 patent drawing
  • US10192000B2 patent drawing
  • US10192000B2 patent drawing

AI summary

A system and method for implementing distributed storage and visualization for a graph database system for very large graph databases is presented. A graph database can comprise nodes and edges stored as artifacts, which can then be indexed using a distributed index system. A system capable of performing such tasks can include a processing system that creates an index of the artifacts, a construction system that can create a graph database from a text file, and a reading system that can create a text file from a graph database by finding requested artifacts in the graph of interest. A visualization system can perform queries on a graph database, then create sub-graphs containing the results for visualization purposes. The sub-graph can receive navigation inputs that display various portions of the sub-graph. Other embodiments also are disclosed.