Graph Data Query with Single-Point Indexing for Faster Edge Retrieval
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing graph database technologies face inefficiencies in retrieving edge data due to complex calculation processes and high CPU overheads, particularly when dealing with large quantities of data, and existing indexing methods are not flexible enough to handle diverse query conditions.
Innovation Solution
Storing point data and edge data of a node in a single-point data block, which includes index data to directly record the location of edge data, allowing for efficient querying by determining the storage location based on filtering conditions, thereby reducing data redundancy and CPU overheads.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a global index of edge data is introduced to improve retrieval efficiency, then query speed may be improved, but data redundancy increases and CPU overheads become large due to complex calculation processes
Solution Approach 1:
The patent divides the global index into multiple local indexes, each maintained by a specific computing node for its own edge data. This segmentation eliminates the need for a centralized global index, reducing calculation complexity while maintaining query efficiency. Each node only needs to manage and search its own local index, significantly reducing CPU overheads.
Solution Approach 2:
The patent extracts only the necessary indexing information (primary keys and attribute values) from the edge data and stores it in local indexes, rather than maintaining complete copies of all edge data. This extraction approach reduces data redundancy while preserving the ability to efficiently query and retrieve edge data based on filtering conditions.
2Loss of time
If a global index stores primary keys to enable positioning, then edge data can be located, but data redundancy increases as the same edge data must be re-searched
Solution Approach 1:
The patent pre-calculates and stores the primary keys of edge data in local indexes during data ingestion. This preliminary action allows for direct positioning of edge data during query operations without requiring subsequent full-data searches, reducing both time loss and data redundancy simultaneously.
Solution Approach 2:
The patent creates lightweight copies of only the essential indexing information (primary keys and attribute values) in local indexes, rather than copying complete edge data records. These minimal copies enable fast positioning while minimizing data redundancy, as only the necessary identification fields are duplicated.
3Ease of manufacture
If edge data of a node is stored separately from point data, then data organization is simplified, but query efficiency decreases due to increased access overhead
Solution Approach 1:
The patent merges the storage of point data and edge data into a unified local storage structure at each computing node. This combination allows the node to efficiently access both types of data together during query operations, improving query efficiency while maintaining organized data structures through the use of local indexes that track edge data positions within the merged storage.
Data Source
AI summary
A query request is received for querying graph data, including a filtering condition for an attribute value of a first attribute, and used to query a destination edge in a neighboring edge of a first node that satisfies the filtering condition. Graph data includes point data of the first node and edge data of a neighboring edge stored in a single-point data block corresponding to the first node and comprising index data of the edge data used to index a first attribute of the edge data, record the attribute value of the first attribute, and record a storage location of an edge corresponding to the attribute value of the first attribute in the single-point data block. Using the index data and filtering condition, a storage location of the destination edge in the single-point data block is determined and data of the destination edge obtained.


