Secondary Index Table for Scalable Database Update Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In high-volume data storage systems, tracking database updates across distributed shards is costly and challenging, especially in sharded database systems where updates occur across different nodes, making it difficult to determine the sequence of changes and impacting system analysis and optimization.

Innovation Solution

Implementing a secondary index table that tracks updates with attributes like bucket identifiers and sequence numbers, allowing for efficient querying and notification of updates without burdening the database system, using a tracking-enabled client, update trackers, and update listeners to manage and propagate update notifications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If distributed sharding is used to scale database storage, then storage capacity and availability are improved, but tracking updates across shards becomes more complex and costly

Engineering Contradiction:
Improvestorage capacityVSAvoidupdate tracking complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

A secondary index table is introduced as an intermediary structure that captures update information (primary key, updated attribute, old value, new value) separately from the main database shards. This mediator enables centralized tracking of distributed updates without requiring complex coordination across all database nodes, resolving the contradiction between storage scalability and update tracking complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Update tracking information is extracted from the main database system and stored in a separate secondary index table. This extraction isolates the tracking mechanism from the core database operations, allowing the database to scale independently while updates are tracked in the separate structure, reducing the complexity burden on the main system

Inventive Principle:
Principle #2Taking out (Extraction)

2Loss of information

If comprehensive update tracking is implemented across all database operations, then data analysis capability is improved, but system performance and cost are negatively impacted

Engineering Contradiction:
Improveupdate information completenessVSAvoidsystem performance
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

Instead of tracking every update operation in the main database system, a copy of the essential update information is created and stored in the secondary index table. This copying approach provides complete update information for analysis purposes while keeping the original database operations lightweight and performant, as the tracking overhead is isolated to the separate index structure

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The database system is segmented into two independent parts: the main database shards for storage and access, and the secondary index table for update tracking. This segmentation allows each component to optimize for its specific function - the main database for high-performance data operations and the secondary index for comprehensive update recording - thereby maintaining system performance while achieving complete tracking

Inventive Principle:
Principle #1Segmentation

3Loss of information

If update sequence information is tracked for all data changes, then data analysis and trend identification are improved, but the difficulty of detecting and measuring updates increases

Engineering Contradiction:
Improveupdate sequence informationVSAvoidupdate detection difficulty
Core Design Contradiction:
Loss of informationVSDifficulty of detecting and measuring

Solution Approach 1:

Update information including sequence data is captured and structured in the secondary index table at the moment of each update operation. This preliminary action of pre-structuring the data with inherent sequence information eliminates the need for complex retrospective analysis to determine update order, making detection and measurement straightforward through simple queries on the pre-organized index

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10860604B1Scalable tracking for database udpates according to a secondary index
Publication Date: 2020.12.08 AMAZON TECH INC
  • US10860604B1 patent drawing
  • US10860604B1 patent drawing
  • US10860604B1 patent drawing

AI summary

A database client may implement scalable tracking for database updates according to a secondary index. As update requests are generated and sent to a database, tracking attributes may be included in the update requests in order to be inserted into the database with respect to a portion of the database for which the requested update is performed. Tracking attributes may include a sequence number which may be used to determine an order in which the updates are performed at the database. Tracking attributes may also include a bucket identifier, which may categorize or label the portion of data updated as part of an update. These tracking attributes may be replicated to a secondary index maintained for the database. Queries to the secondary index based on the tracking attributes may identify updates performed to the database. Notifications of the identified updates may then be provided.