Conditional Attribute Update in Non-Relational Data Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage services face challenges in providing seamless scaling, high durability, and availability without imposing maximum table size or throughput limits, and require complex client-side partitioning, while also managing anomalies and performance variability.

Innovation Solution

A web services-based data storage service that supports automatic live repartitioning, flexible schema, multiple consistency models, and predictable performance, allowing for extreme scaling without client-side partitioning, through a system architecture that includes a web services platform with storage node instances and auto-admin components for dynamic management and load balancing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is distributed across multiple machines for security and availability, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improvedata availabilityVSAvoidsystem configuration
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The database system is segmented into multiple independent machines or nodes, each storing portions of the distributed data. This segmentation enables the system to maintain high availability and security through replication across machines while managing complexity through modular architecture where each node operates semi-independently

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The distributed database system provides universal access interfaces and standardized protocols that allow clients to interact with the distributed system as if it were a single database. This multi-functionality masks the underlying complexity of distributed architecture while maintaining reliability through replication and redundancy

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

2Productivity

If client-side partitioning is implemented for scaling, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improvescaling capabilityVSAvoidclient-side implementation
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The database system performs automatic partitioning and data distribution without requiring client-side partitioning logic. The system autonomously manages data placement, replication, and load balancing across machines, enabling seamless scaling while eliminating the complexity of client-side partitioning implementation

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The database system acts as an intermediary between clients and the distributed storage infrastructure. It abstracts the complexity of data partitioning and distribution, allowing clients to access data through simple queries without needing to understand or implement partitioning strategies

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If maximum table size limits are imposed for management, then device complexity is reduced, but adaptability worsens

Engineering Contradiction:
Improvedatabase managementVSAvoidtable size flexibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The database system dynamically adjusts table partitioning and storage allocation based on actual data size and access patterns. Tables can grow indefinitely as the system automatically partitions data across multiple storage units or machines, providing unlimited table size flexibility while maintaining manageable complexity through automated partition management

Inventive Principle:
Principle #15Dynamics

4Device complexity

If throughput limits are imposed for performance management, then device complexity is reduced, but productivity worsens

Engineering Contradiction:
Improveperformance managementVSAvoiddata processing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system dynamically adjusts throughput capacity by automatically adding or removing database nodes based on workload demands. This dynamic scaling enables the system to handle varying throughput requirements without imposing artificial limits, maintaining high productivity while managing complexity through automated resource allocation

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11789925B2System and method for conditionally updating an item with attribute granularity
Publication Date: 2023.10.17 AMAZON TECH INC
  • US11789925B2 patent drawing
  • US11789925B2 patent drawing
  • US11789925B2 patent drawing

AI summary

A system that implements a scaleable data storage service may maintain tables in a non-relational data store on behalf of clients. Each table may include multiple items. Each item may include one or more attributes, each containing a name-value pair. Attribute values may be scalars or sets of numbers or strings. The system may provide an API usable to request that values of one or more of an item's attributes be updated. An update request may be conditional on expected values of one or more item attributes (e.g., the same or different item attributes). In response to a request to update the values of one or more item attributes, the previous values and/or updated values may be optionally returned for the updated item attributes or for all attributes of an item targeted by an update request. Items stored in tables may be indexed using a simple or composite primary key.