Dual-Container Data Storage for Scalable Querying

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data storage systems face challenges in balancing scalability and availability while being cumbersome to query, often requiring excessive resources and being inefficient in optimizing data retrieval processes.

Innovation Solution

A data storage system that utilizes two separate data storage containers, one optimized for sequentially changing data values and another for finite data values, allowing for efficient querying and load balancing across multiple data storage assets, with mechanisms for handling capacity overflow through 'spill' and 'split' operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If conventional data storage systems use a single storage structure optimized for scalability, then the system can handle large data volumes, but query operations become cumbersome and inefficient

Engineering Contradiction:
Improvedata storage capacityVSAvoidquery efficiency
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The patent divides the data storage system into two distinct containers: a sequential container for time-ordered data ingestion and a hashed container for efficient query operations. This segmentation allows each container to be optimized for its specific purpose, resolving the contradiction between scalable storage and efficient querying.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The sequential container acts as an intermediary between data sources and the hashed container. Data flows through the sequential container first, then gets redistributed to the hashed container for efficient querying. This intermediary structure enables both scalable ingestion and efficient query operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If conventional systems configure storage to optimize scalability, then the system can grow to handle more data, but the system becomes overly complex

Engineering Contradiction:
Improvesystem scalabilityVSAvoidstorage system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

By separating the storage system into two specialized containers with clear division of labor, the patent achieves scalability without proportionally increasing complexity. Each container has a simple, well-defined structure optimized for its specific function.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each container is designed with local quality optimized for its purpose: the sequential container has simple append operations for scalable ingestion, while the hashed container has optimized key-value structure for efficient querying. This localized optimization achieves overall system scalability without uniform complexity.

Inventive Principle:
Principle #3Local quality

3Reliability

If conventional systems use a single storage container, then the structure is simple, but the system requires dramatically more storage assets to achieve high availability

Engineering Contradiction:
Improvesystem availabilityVSAvoidnumber of storage assets
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments storage assets into two functional groups corresponding to the two containers. This segmentation allows for more efficient utilization of storage assets, achieving high availability without requiring dramatically more resources than a single-container system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The dual-container structure provides multi-functionality: the sequential container handles data ingestion and time-based operations, while the hashed container handles efficient querying. This multi-functionality achieves high system availability without requiring excessive storage assets.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Speed

If conventional systems optimize storage for query efficiency, then retrieval is faster, but the system becomes cumbersome to configure and operate

Engineering Contradiction:
Improvequery response timeVSAvoidsystem operation simplicity
Core Design Contradiction:
SpeedVSEase of operation

Solution Approach 1:

The hashed container is designed with local quality optimized for query efficiency, using hash-based indexing for fast retrieval. The sequential container maintains operational simplicity with append-only structure. This localized optimization achieves fast queries without making the entire system cumbersome to operate.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

By segmenting the storage system into two containers with different optimization focuses, the patent achieves query efficiency in the hashed container while maintaining operational simplicity in the sequential container, avoiding the need to make the entire system cumbersome.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11544242B2System and method for storing and retrieving data in different data spaces
Publication Date: 2023.01.03 OPTIMIZELY NORTH AMERICA INC
  • US11544242B2 patent drawing
  • US11544242B2 patent drawing
  • US11544242B2 patent drawing

AI summary

Various implementations of the invention store and retrieve data via a computing processor. The data is comprised of a plurality of data records with a sequentially changing data value and an other data value. For each data record in the plurality of data records, the computing processor causes the data record to be aggregated and stored with other data records in a first data storage container corresponding to a first data storage space based on the sequentially changing data value of the data record (i.e., sequential data space), and causes the data record to be aggregated and stored with other data records in a second data storage container corresponding to a second data storage space (i.e., finite data space). The data records in the second data storage container are stored based on the other data value. When a query is made against the data, the computing processor determines whether the query is best evaluated in the sequential data space or the finite data space. When the query is best evaluated in the sequential data space, the computing processor retrieves a first retrieved plurality of data records from the first data storage container. When the query is best evaluated in the finite data space, the computing processor retrieves a second retrieved plurality of data records from the second data storage container.