Partial Index Maintenance in Distributed Database Nodes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed databases, index maintenance consumes system resources and can be inefficient, particularly in large systems where memory is limited, as not all nodes benefit equally from indexes, leading to reduced overall performance.

Innovation Solution

Each compute node in a distributed database system maintains only the portion of the index relevant to its stored data records, allowing for intelligent trade-offs between index space consumption and usefulness, with partial indexes generated from the full index and monitored for usage to determine if they should be maintained or discarded based on actual benefits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If indexes are maintained on all compute nodes in a distributed database, then query performance is improved through faster data access, but system resources (memory and processing) are consumed and overall performance is reduced

Engineering Contradiction:
Improvequery performanceVSAvoidoverall system performance
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent divides the database into multiple partitions distributed across compute nodes, with each node maintaining indexes only for its local partition. This segmentation allows each node to have optimized query performance for its data while avoiding the resource overhead of maintaining global indexes across all nodes, thus resolving the contradiction between query speed and overall system productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each compute node maintains indexes with properties optimized for its specific local data characteristics rather than using uniform global indexes. This local quality approach enables faster local query performance while reducing the memory and processing resources required at each node, balancing query speed improvement with overall system performance.

Inventive Principle:
Principle #3Local quality

2Speed

If indexes are maintained on compute nodes with limited memory, then data access is improved, but the volume of data that may be stored is reduced due to overhead

Engineering Contradiction:
Improvedata access speedVSAvoidvolume of data stored
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

By segmenting the database across multiple compute nodes, each node only needs to maintain indexes for its local data partition. This reduces the memory overhead at each node, allowing more of the node's limited memory to be used for storing actual data rather than global indexes, thus improving both data access speed and data storage capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each compute node maintains only the partial index necessary for its local data partition rather than complete global indexes. This partial action approach provides sufficient data access speed improvement while minimizing the memory overhead, thereby increasing the volume of data that can be stored on each node.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If partial indexes are maintained on each compute node, then resource overhead is reduced, but index maintenance complexity increases across distributed nodes

Engineering Contradiction:
Improveresource efficiencyVSAvoidindex maintenance complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Each compute node autonomously maintains its own local indexes for its data partition without requiring centralized coordination for index operations. This self-service approach reduces resource overhead by eliminating redundant index maintenance across all nodes while managing complexity through decentralized, independent index management at each node.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8090710B2Index maintenance in a multi-node database
Publication Date: 2012.01.03 DOMO
  • US8090710B2 patent drawing
  • US8090710B2 patent drawing
  • US8090710B2 patent drawing

AI summary

Embodiments of the invention enable a database spread over multiple nodes to allow each node to have different indexes over the data in tables, depending on how each node would benefit (or not benefit) from having the index(es). When a database table is spread across the nodes of a multi-node or distributed system, each node may maintain only the portion of the index relevant to that node, if doing so would improve the performance of query processing operations on that node. Further, the database may periodically redistributed across the compute nodes based on index performance. Doing so allows the database system to intelligently trade off between consuming space for the index on a node and the usefulness of having an index on that node.