Secondary Index Creation Metrics for Distributed Data Stores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Creating secondary indexes in database systems can be resource-intensive and may lead to inconsistencies between the main database table and the secondary index, especially in distributed data stores where resources are shared and performance metrics are challenging to determine.

Innovation Solution

Implementing a system to generate creation performance metrics for secondary indexes, which monitors provisioned resources, throttle events, and consumption metrics across table and index partitions, allowing for automated adjustments to provisioned throughput capacity to optimize the creation process while maintaining data consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If secondary indexes are created in distributed data stores, then data access efficiency is improved, but resource consumption increases and data consistency becomes difficult to maintain

Engineering Contradiction:
Improvedata access efficiencyVSAvoidresource consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary actions by proactively detecting resource consumption patterns and throttle events before they cause index creation failures. The monitoring mechanism anticipates resource exhaustion by tracking provisioned resource usage and automatically adjusts index creation operations in advance, preventing the harmful effect of resource depletion while maintaining efficient data access.

Inventive Principle:
Principle #10Preliminary action

2Speed

If secondary indexes are created in distributed data stores, then data access efficiency is improved, but data consistency between main table and index deteriorates

Engineering Contradiction:
Improvedata access efficiencyVSAvoiddata consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system implements feedback mechanisms by continuously monitoring index creation progress and comparing it against the state of the main database table. When inconsistencies are detected or resource throttle events occur, the system receives feedback about the divergence between index and table states, automatically adjusts resource allocation, and triggers corrective operations to restore consistency, thereby maintaining reliable data synchronization.

Inventive Principle:
Principle #23Feedback

3Productivity

If resource allocation is increased for secondary index creation, then index creation speed is improved, but system throughput capacity is reduced

Engineering Contradiction:
Improveindex creation speedVSAvoidsystem throughput capacity
Core Design Contradiction:
ProductivityVSPower

Solution Approach 1:

The system applies dynamics by making resource allocation flexible and adaptive rather than static. The monitoring mechanism dynamically adjusts the throughput capacity allocated to index creation operations based on real-time conditions, including available system resources, current workload, and detected throttle events. This dynamic adjustment allows the system to optimize index creation speed when resources are abundant while preventing system-wide throughput degradation when resources are constrained.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10135703B1Generating creation performance metrics for a secondary index of a table
Publication Date: 2018.11.20 AMAZON TECH INC
  • US10135703B1 patent drawing
  • US10135703B1 patent drawing
  • US10135703B1 patent drawing

AI summary

A data storage system may implement generating creation performance metrics for a secondary index of a table. Metrics may be collected from different partitions of a table and different partitions of a secondary index in a table store upon initiating creation of the secondary index for the table that utilize provisioned resources for creating the secondary index. The metrics may be analyzed to generate performance metrics for the creation of the table. The performance metrics may be provided to clients of the data store or to monitoring systems. Monitoring systems may send performance event notifications to clients or automatically perform modifications to the provisioned throughput capacity.