UUID Generation in Distributed Graph Database Using Murmur Hash

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed graph databases face challenges with duplicate key values in UUID generation, leading to limitations in database extension and potential global service malfunctions.

Innovation Solution

A UUID generation method using the Murmur hash function, which generates an initial UUID based on input fields and partition numbers, and checks for duplicates, appending a current timestamp to create a unique target UUID if necessary, ensuring global uniqueness and avoiding conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a traditional stand-alone UUID generation method is used in a distributed database system, then the implementation is simple, but duplicate key values occur and the database extension is limited

Engineering Contradiction:
ImproveUUID generation system complexityVSAvoidUUID uniqueness
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The UUID generation is segmented into multiple components: database node identifier, table identifier, and sequence number. This segmentation allows each component to serve a specific function while collectively ensuring global uniqueness across the distributed system without requiring complex centralized coordination.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension by incorporating the database node identifier as a distinct component in the UUID structure. This dimensional addition transforms the UUID from a locally-unique identifier to a globally-unique identifier across distributed nodes, solving the uniqueness problem without increasing system complexity.

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

2Reliability

If a global service increment is used to allocate UUID in a distributed database, then global uniqueness can be achieved, but the system becomes vulnerable to service malfunction and single point of failure

Engineering Contradiction:
ImproveUUID uniquenessVSAvoidUUID generation system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the node identifier component from the centralized global service and embeds it directly in the UUID generation process at each node. This extraction eliminates the single point of failure by allowing each node to independently generate unique UUIDs while maintaining global uniqueness, without requiring complex centralized coordination.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Each database node performs self-service by incorporating its own identifier into the UUID generation process. This self-service mechanism allows nodes to independently generate globally unique UUIDs without relying on external centralized services, improving system reliability and fault tolerance.

Inventive Principle:
Principle #25Self-service

3Reliability

If UUID generation relies on centralized control, then uniqueness can be maintained, but the generation speed and efficiency decrease

Engineering Contradiction:
ImproveUUID uniquenessVSAvoidUUID generation speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The database node identifier is predetermined and stored locally at each node before UUID generation is needed. This preliminary action allows nodes to immediately incorporate the node identifier into UUID generation without network communication or centralized coordination, significantly improving generation speed while maintaining uniqueness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Each node independently generates UUIDs using its own local resources and pre-stored node identifier, eliminating the need for centralized UUID allocation services. This self-service approach dramatically improves generation speed and efficiency while maintaining global uniqueness through the distributed node identifier component.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11526516B2Method, apparatus, device and storage medium for generating and processing a distributed graph database
Publication Date: 2022.12.13 VESOFT INC
  • US11526516B2 patent drawing
  • US11526516B2 patent drawing
  • US11526516B2 patent drawing

AI summary

A UUID generation method for a distributed graph database, and a data processing method and apparatus for the distributed graph database. The UUID generation method for the distributed graph database comprises the following steps: receiving a UUID generation request, wherein the UUID generation request comprises an input field and a partition number of the input field; calling a Murmur hash function to generate an initial UUID according to the input field and the partition number of the input field; querying whether a duplicate key value exists between the initial UUID and a historical UUID to obtain a query result; and obtaining a target UUID for storage according to the query result and the initial UUID.