Geospatial Unique Part Identifier for Scalable Graph Database Indexing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current graph database systems face scalability issues, limited range queries, and lack of distributed processing capability, particularly when dealing with large datasets like 20 billion triples, due to inefficient storage and indexing methods, which lead to significant processing slowdowns and memory requirements.
Innovation Solution
The method involves encoding each tuple-part into a unique part identifier (UPI) with a tag indicating the datatype, allowing for efficient storage and sorting, and using a geospatial UPI that divides two-dimensional data space into strips for efficient indexing and searching, facilitating linear scans over limited regions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional storage methods are used for graph databases, then data can be stored, but scalability is limited and processing speed slows down with large datasets
Solution Approach 1:
The patent divides the two-dimensional data space into multiple one-dimensional strips by partitioning on one coordinate (e.g., Y-coordinate). This segmentation transforms a complex 2D search problem into simpler 1D search problems that can be efficiently handled by linear indexes, enabling the system to scale to tens of billions of triples while maintaining processing speed
Solution Approach 2:
The patent reduces the dimensionality of the indexing problem by converting 2D geospatial data into 1D strip-based indexes. By projecting 2D coordinates onto 1D strips and using linear indexes on these strips, the system achieves efficient range queries and k-nearest-neighbor searches without the performance degradation that would occur with traditional 2D indexing methods
2Ease of operation
If traditional indexing methods are used, then basic storage is possible, but range queries are limited or inefficient
Solution Approach 1:
The patent segments the data space into strips and creates linear indexes for each strip. This segmentation enables efficient range queries by allowing the system to quickly identify and search only the relevant strips that contain data within the query range, rather than scanning the entire dataset
Solution Approach 2:
The patent changes the parameter representation by encoding geospatial coordinates into strip-based linear indexes with specific bit allocations (e.g., latitude bits, longitude bits, strip identifier bits). This parameter transformation enables efficient bitwise operations and range query processing that would be impossible with traditional coordinate storage methods
3Adaptability or versatility
If centralized storage is used, then data integrity is maintained, but distributed processing capability is lacking
Solution Approach 1:
The patent segments the graph database into multiple partitions that can be distributed across different storage nodes. Each partition maintains its own strip-based linear indexes, enabling independent processing and querying. This segmentation allows the system to scale horizontally while maintaining data integrity through consistent indexing methods across all nodes
Solution Approach 2:
The patent creates a universal strip-based linear indexing method that can be applied uniformly across distributed nodes. This universal approach ensures that range queries and k-nearest-neighbor searches can be executed efficiently across distributed partitions, maintaining both scalability and query performance in a distributed environment
Data Source
AI summary
Embodiments of a method for creating a graph database which is arranged to store data in the form of graph tuples comprising n-parts, are described. In an embodiment, each tuple-part is encoded into a unique part identifier (UPI). A geospatial UPI is defined for two-dimensional data elements that include a plurality of data points defined by respective pairs of an X-ordinate and a Y-ordinate. A two-dimensional data space is divided into a plurality of uniform Y strips of defined widths. The Y-strip width is selected to correspond approximately to an anticipated Y dimension of a typical search region of interest. The geospatial UPI encodes a plurality of coordinate points in a two -dimensional data space into a single datum that includes respective pairs of an X-ordinate and a Y-ordinate. The geospatial UPI comprises a data structure arranged in order of sort priority by the geospatial UPI type code, geospatial subtype, and Y-strip identifier followed by the X-ordinate data and Y-ordinate data. The component fields of the data structure are arranged so that the datum can be sorted linearly as a single unsigned integer, thus facilitating a search over a two dimensional region of the data by allowing a search process to linearly scan a limited identifiable region of each of the several strips overlapping the search region of interest.


