Dynamic Repartitioning in Distributed Search Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As enterprises grow, managing large volumes of documents in search systems becomes challenging, requiring a scalable and efficient distributed search system that can handle multiple partitions and nodes to ensure document accessibility and search functionality.

Innovation Solution

A distributed search system is implemented with a central queue and multiple nodes assigned to different partitions, where each node independently processes document-based records to construct indexes, maintains a synchronized lexicon, and combines results from multiple partitions to provide aggregated query results, while also supporting checkpointing for failure recovery and security features.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a distributed search system is implemented to handle large volumes of documents, then scalability and search efficiency are improved, but system complexity increases

Engineering Contradiction:
Improvesearch efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system divides the document collection into multiple partitions distributed across different nodes. Each node independently processes and stores a subset of documents, enabling parallel search operations and improving overall search efficiency while maintaining manageable complexity through modular architecture

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces a partitioning dimension to the search architecture, organizing documents not just by content but by distribution across multiple nodes and partitions. This dimensional organization enables scalable horizontal expansion without proportionally increasing operational complexity

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

2Quantity of substance

If multiple nodes and partitions are added to handle growing document volumes, then system capacity increases, but administrative operations become more difficult

Engineering Contradiction:
Improvedocument capacityVSAvoidadministrative operations
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The system implements automatic partitioning and node assignment mechanisms that eliminate the need for manual configuration when adding capacity. New nodes automatically join the distributed system and receive appropriate document partitions, allowing capacity expansion without increased administrative burden

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system provides dynamic repartitioning capabilities that automatically redistribute documents when nodes are added or removed. This dynamic adaptation allows the system to maintain optimal performance and simplifies administrative operations by eliminating manual rebalancing requirements

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If dynamic repartitioning is implemented to change the number of nodes or partitions, then system adaptability improves, but data redistribution overhead increases

Engineering Contradiction:
Improvesystem adaptabilityVSAvoidrepartitioning time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by maintaining document metadata and partitioning information in advance. When repartitioning is needed, the system can quickly redistribute documents based on pre-computed routing information, significantly reducing the actual data movement time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes organizational parameters such as partition keys and node assignments dynamically without requiring complete data redistribution. By modifying partitioning parameters rather than physically moving all data, the system achieves adaptability with minimal time loss

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9015197B2Dynamic repartitioning for changing a number of nodes or partitions in a distributed search system
Publication Date: 2015.04.21 ORACLE INT CORP
  • US9015197B2 patent drawing
  • US9015197B2 patent drawing
  • US9015197B2 patent drawing

AI summary

A distributed search system can include a group of nodes assigned to different partitions. Each partition can store indexes for a group of documents. Nodes in the same partition can independently processing document-based records to construct the indexes. One of the nodes can process a stored checkpoint to produce a repartitioned checkpoint. The group of nodes can respond to search requests during the construction of the repartitioned checkpoint. The repartitioned checkpoint can be loaded into the group of nodes to repartition the group of nodes.