Transactional Database Layer for ACID on Distributed Key-Value Stores
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud-based NoSQL databases lack support for ACID transactions, multiple indexes, and query isolation, limiting their functionality compared to full-featured database technologies.
Innovation Solution
Implementing a local computing system with a database engine that interacts with a remote key/value store to perform transactions, using transaction state stored as key/value pairs, enabling ACID transactions and snapshot isolation across distributed systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If cloud-based NoSQL databases are used to achieve extreme scalability, then scalability is improved, but transaction support and data consistency are worsened
Solution Approach 1:
The patent introduces an intermediary layer (the database system) between the application and the distributed key/value store. This intermediary implements transaction management, isolation levels, and consistency protocols, allowing the underlying scalable NoSQL storage to be used while providing ACID transaction guarantees to users.
Solution Approach 2:
The system segments transaction management functions from the storage layer. The database system handles transaction coordination, logging, and consistency across multiple partitions, while the distributed key/value store handles scalable data storage. This separation allows each component to optimize for its specific function.
2Productivity
If distributed key/value store is used to achieve scalability, then scalability is improved, but query isolation and multiple indexes are worsened
Solution Approach 1:
The database system provides multiple functions on top of the simple key/value store: transaction management, query isolation, multiple index types, and various isolation levels. This multi-functional layer allows the system to support complex database operations while using a scalable distributed storage backend.
Solution Approach 2:
The patent adds dimensional complexity at the software layer (transaction coordinates, isolation levels, index structures) while keeping the storage layer simple and scalable. This dimensional addition allows rich database functionality without compromising the underlying scalability of the distributed key/value store.
Data Source
AI summary
A storage system for transactional data storage includes a key/value store comprising a first plurality of rows and a second plurality of rows, each of the first plurality of rows including a first key associated with a respective row of a database and a transaction state associated with the respective row, and each of the second plurality of rows including a second key associated with a respective row of the database and a data version of the respective row. The storage system is configured to provide a transaction state to and receive an updated transaction state from a plurality of different systems, each comprising a database engine to perform transactional database operations on the key/value store.


