Local Identifiers for Distributed Database Partition Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed database systems, the use of globally unique identifiers for accessing database objects is inefficient due to their large size and non-sequential assignment, leading to computationally costly map look-ups, especially when dealing with a large number of objects.
Innovation Solution
The implementation of local identifiers within a distributed database management system, which are assigned sequentially within partitions and mapped to global identifiers using a local-to-global map, allowing for efficient direct access and reuse across related execution units.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If globally unique identifiers are used for accessing database objects, then object identification is achieved, but computational cost increases due to large size and non-sequential assignment requiring map look-ups
Solution Approach 1:
The patent divides the identifier system into two segments: global identifiers for unique object identification and local identifiers for efficient access within partitions. This segmentation allows each identifier type to serve its specific purpose optimally - global identifiers maintain uniqueness across the distributed system while local identifiers provide sequential, compact numbering within individual partitions, eliminating the need for costly map look-ups during query execution.
Solution Approach 2:
The patent introduces a local-to-global identifier map as an intermediary structure that connects local identifiers to their corresponding global identifiers. This intermediary enables the system to use compact local identifiers for routine operations while maintaining the ability to reference global identifiers when needed, thus resolving the contradiction between identification accuracy and access efficiency.
2Reliability
If globally unique identifiers are used for all database objects, then unique identification is ensured, but storage requirements increase due to large identifier size
Solution Approach 1:
The patent applies local quality by using different identifier types in different contexts: local identifiers are used for storage and access within individual partitions where they occupy minimal space, while global identifiers are used only when unique system-wide identification is required. This contextual differentiation reduces overall storage requirements while maintaining the reliability of unique identification.
Solution Approach 2:
The patent creates a local copy of identifier information within each partition through the local identifier system. Instead of storing and using large global identifiers everywhere, the system maintains local identifier copies that reference the same objects, enabling efficient storage and access while preserving the unique identification guarantee through the local-to-global mapping.
3Ease of operation
If map look-up is used to translate global identifiers to object addresses, then object access is enabled, but computational overhead increases
Solution Approach 1:
The patent performs preliminary action by pre-establishing the local-to-global identifier mapping structure and maintaining local identifiers that directly correspond to objects within partitions. This preliminary setup eliminates the need for dynamic map look-ups during query execution, as the local identifier system provides direct, sequential access to objects without requiring computational translation at query time.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Various examples are directed to systems and methods for utilizing local identifiers in a distributed database system. A database management system server may receive first execution unit data describing a first execution unit of a first database query. The first execution unit data may comprise first operand data describing a set of operands for the first execution unit. The database management system server may determine that the first operand data describes at least one operand from a first partition and at least one operand from a second partition. The database management system server may generate a first set of local identifiers describing rows at the first partition and a first set of local identifiers describing rows at the second partition. The database management system server may execute the first execution unit based at least in part on the first set of local identifiers describing rows at the first partition and the first set of local identifiers describing rows at the second partition.