Stateless Asynchronous Database Loading with Sequence Identifiers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems cannot asynchronously and out of order load data while maintaining data ordering, which limits their processing capacity and efficiency, especially in applications requiring specific data ordering like financial or reputation data.

Innovation Solution

A method and system that parse data records, append identifiers to establish parsing order, and insert them into persistent queues in parallel, allowing asynchronous and stateless loading into a database based on these identifiers, ensuring only the latest versions are stored, thereby maintaining data ordering and increasing processing speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is loaded sequentially into the database to maintain ordering, then data ordering is preserved, but data throughput and processing speed deteriorate

Engineering Contradiction:
Improvedata orderingVSAvoiddata throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments data records by assigning unique identifiers (sequence numbers or timestamps) to each record, allowing parallel processing of multiple records while maintaining the ability to reorder them later based on these identifiers. This segmentation enables the database to handle multiple data insertion operations simultaneously without losing ordering information.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary action by appending identifiers to data records before they are loaded into the database. This pre-tagging with sequence information allows the database to accept out-of-order inserts and still reconstruct the correct ordering later, eliminating the need for sequential processing while preserving data order integrity.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If data is loaded asynchronously and out of order, then processing speed improves, but maintaining data ordering becomes difficult

Engineering Contradiction:
Improveprocessing speedVSAvoiddata ordering
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system uses identifiers as a feedback mechanism to track the original parsing order of data records. Even when records are processed asynchronously and out of order, the identifier information provides feedback that enables the database to reorder records correctly, ensuring that faster processing does not compromise data ordering reliability.

Inventive Principle:
Principle #23Feedback

3Productivity

If multiple data records are processed in parallel, then operations per second increase, but system complexity increases

Engineering Contradiction:
Improveoperations per secondVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system introduces an intermediary mechanism in the form of persistent queues that buffer data records between the parallel processing stage and the database insertion stage. These queues manage the complexity of coordinating parallel operations while maintaining simple, straightforward database insertions, allowing high throughput without proportionally increasing system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11372844B1Systems and methods for stateless asynchronous database loading while maintaining ordering
Publication Date: 2022.06.28 GEN DIGITAL INC
  • US11372844B1 patent drawing
  • US11372844B1 patent drawing
  • US11372844B1 patent drawing

AI summary

The disclosed computer-implemented method for asynchronously and statelessly loading data while maintaining ordering may include parsing multiple data records, appending an identifier to each data record, where the appended identifier establishes a parsing order indicating an order in which each data record was parsed, inserting the parsed data records into multiple persistent queues in parallel, and asynchronously loading the data records from the persistent queues into a database in parallel according to the appended identifiers. As such, the data records may be stored in the database in the established parsing order. Various other methods, systems, and computer-readable media are also disclosed.