Atomic Transactions in NoSQL Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

NoSQL database systems face challenges in providing atomic transactions across multiple data items, leading to inconsistent data views and performance issues due to concurrent access by readers and writers, with existing solutions like pessimistic and optimistic concurrency control having limitations in managing locks and handling frequent data contention.

Innovation Solution

A system that determines whether write claim data for a data item includes a previous transaction identifier, writes a pending transaction identifier, and checks for conflicts before committing, ensuring atomicity by aborting transactions if conflicts are detected, thereby maintaining data consistency and avoiding stale data usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If pessimistic concurrency control is used to ensure data consistency, then data integrity is improved, but concurrency performance deteriorates due to lock management overhead and limited parallel access

Engineering Contradiction:
Improvedata consistencyVSAvoidconcurrency performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary validation by checking write claim data and transaction identifiers before committing transactions. This advance verification prevents conflicts without requiring locks, allowing concurrent access while maintaining data consistency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces write claim data and transaction identifiers as intermediary mechanisms that mediate between concurrent transactions. These intermediaries enable conflict detection and resolution without direct lock management, improving both consistency and concurrency performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If optimistic concurrency control is used to improve concurrency performance, then throughput is improved, but data consistency deteriorates when conflicts occur requiring transaction rollbacks

Engineering Contradiction:
ImprovethroughputVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback mechanisms by continuously monitoring write claim data and transaction identifiers during transaction execution. This feedback enables real-time conflict detection, allowing the system to maintain high throughput while ensuring data consistency through targeted transaction validation.

Inventive Principle:
Principle #23Feedback

3Reliability

If atomic transactions are implemented across multiple data items in NoSQL databases, then data integrity is improved, but system complexity increases due to conflict detection and transaction management

Engineering Contradiction:
Improvedata integrityVSAvoidtransaction management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a universal transaction management mechanism that handles multiple data items through a single coherent approach. The write claim data and transaction identifier system provides multi-functional capabilities for conflict detection, validation, and resolution across diverse NoSQL data structures, reducing overall system complexity.

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

Data Source

PatentUS9734187B2Atomic transactions in a NOSQL database
Publication Date: 2017.08.15 SALESFORCE INC
  • US9734187B2 patent drawing
  • US9734187B2 patent drawing
  • US9734187B2 patent drawing

AI summary

Systems and methods are provided for atomic transactions in a NoSQL database. A system writes a pending transaction identifier to write claim data for a first data item in a NoSQL database in response to a determination that the write claim data for the first data item includes a first previous transaction identifier included in last commit data for the first data item. The system writes the pending transaction identifier and a pending commit identifier to the last commit data for the first data item. The system writes a first value associated with a pending transaction to the first data item. The system aborts the pending transaction in response to a determination that the write claim data for the first data item does not include the first previous transaction identifier included in the last commit data for the first data item.