Order Constraint for Snapshot Isolation in NoSQL Servers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

NoSQL databases lack support for transactions, leading to challenges in maintaining consistency and scalability, particularly in large-scale, distributed environments, where time lags and validation errors can occur due to the absence of commitment timestamps.

Innovation Solution

Implementing order constraints for snapshot isolation in NoSQL environments by using a timestamp server to manage start and commit timestamps, ensuring that transactions commit only after a determined commitment time, thereby preventing premature commitment and maintaining data consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If transactions are allowed to commit immediately in NoSQL environments, then productivity is improved, but data consistency deteriorates due to premature commitment before dependent transactions are resolved

Engineering Contradiction:
Improvetransaction commit speedVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by assigning commitment timestamps and establishing order constraints before actual transaction commitment. The transaction management server determines commitment times in advance based on snapshot isolation requirements, ensuring that transactions will not commit prematurely while maintaining efficient processing flow.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The transaction management server acts as an intermediary between clients and the NoSQL database, mediating transaction commitment operations. It enforces order constraints by comparing commitment timestamps with start timestamps of dependent transactions, ensuring consistency without blocking productivity through direct client-database interactions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If commitment timestamps are enforced to maintain snapshot isolation, then data consistency is improved, but time lags increase due to additional validation steps

Engineering Contradiction:
Improvesnapshot isolation consistencyVSAvoidtransaction processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Commitment timestamps are assigned preliminarily when transactions are initiated, rather than being determined at commitment time. This advance assignment eliminates time-consuming validation calculations during the commitment phase, reducing processing delays while maintaining snapshot isolation guarantees.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Each transaction carries its own commitment timestamp and start timestamp, enabling self-validation of order constraints. The transaction management server performs simple timestamp comparisons rather than complex consistency checks, reducing validation time while ensuring snapshot isolation through timestamp-based ordering.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10394775B2Order constraint for transaction processing with snapshot isolation on non-transactional NoSQL servers
Publication Date: 2019.08.27 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10394775B2 patent drawing
  • US10394775B2 patent drawing
  • US10394775B2 patent drawing

AI summary

A method of managing a commitment time that includes providing at least a first client and a second client in communication with at least a transaction management server in an NoSQL environment; and determining with the transaction management server when the first client reads a value in a first transaction that is being updated by the second client in a second transaction whether the value has been committed. If it is determined that the value has not been committed, the transaction management server causes the second client to commit after the start time of the first transaction.