Distributed GSI Metadata Sync for Non-Blocking Index Creation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In large-scale distributed systems, creating a global secondary index (GSI) online is challenging due to low query efficiency and difficulty in ensuring high performance and high availability during the process, as existing methods often block data manipulation language (DML) transactions.
Innovation Solution
A method and apparatus for creating a global secondary index in a distributed system, where a coordinator node notifies and synchronously configures metadata across multiple nodes, allowing parallel processing without blocking DML transactions, ensuring global consistency and high concurrent performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If global secondary index is created online to avoid blocking DML transactions, then high availability is improved, but query efficiency and performance deteriorate due to the complex coordination required across multiple nodes
Solution Approach 1:
The patent segments the metadata configuration process into independent per-node operations. Each node receives a notification to configure its local metadata independently, rather than requiring centralized coordination. This segmentation allows DML transactions to continue on each node without being blocked by global index creation operations, thereby maintaining high availability while avoiding performance degradation from complex inter-node coordination.
Solution Approach 2:
The patent implements preliminary action by having nodes pre-configure their local metadata versions before global index creation begins. Each node maintains its own metadata version independently, and the coordinator node distributes index creation notifications without requiring nodes to wait for each other. This preliminary configuration approach enables parallel execution of DML transactions and index creation, resolving the contradiction between availability and efficiency.
2Stability of the object's composition
If metadata is updated synchronously across all nodes to ensure consistency, then data consistency is improved, but system performance and concurrency deteriorate due to the coordination overhead
Solution Approach 1:
The patent applies local quality by allowing each node to have its own local metadata version that is consistent with its local data, rather than requiring all nodes to share a single global metadata version. The coordinator node manages the global index definition, but individual nodes independently configure their local metadata based on notifications from the coordinator. This approach ensures local consistency while enabling high concurrent performance through independent node operations.
Solution Approach 2:
Each node performs self-service by independently configuring its own metadata based on notifications from the coordinator node. Nodes autonomously update their local metadata versions without requiring synchronization waits or coordination with other nodes. This self-service mechanism maintains metadata consistency at the local level while maximizing concurrent performance across the distributed system.
3Adaptability or versatility
If a coordinator node manages global index creation across multiple nodes, then global index functionality is achieved, but the coordinator node becomes a performance bottleneck handling all coordination traffic
Solution Approach 1:
The patent extracts the heavy coordination workload from the coordinator node by implementing a lightweight notification mechanism. The coordinator node only needs to send brief index creation notifications to each node, rather than managing detailed coordination state or waiting for confirmations. The actual index creation and metadata configuration work is performed independently by each node locally. This extraction of coordination overhead preserves global index capability while preventing the coordinator from becoming a performance bottleneck.
Solution Approach 2:
The coordinator node performs only the minimal necessary action of sending notification messages to initiate index creation, without performing excessive coordination operations. Each node then performs the substantial work of configuring its local metadata and creating its local index structures independently. This partial action approach by the coordinator node achieves global index functionality while maintaining high performance by avoiding coordinator overload.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
This application relates to the field of computer technologies, and discloses a method and an apparatus for creating an index in a distributed system, to implement metadata non-asynchronous update during online creation of a global secondary index, without introducing a third-party node/tool with high concurrent access load. In the solutions, during online creation of the global secondary index, a coordinator node first notifies a plurality of other nodes to configure metadata of the global secondary index, where the metadata includes a metadata version, and the configuration is used to update and/or generate the metadata. The coordinator node configures the metadata of the global secondary index on the coordinator node only when meeting a preset condition.