Stream-Based Transaction Scheduling for Serializable Serverless Databases
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In serverless cloud database systems, communication between scalable resources is slower compared to non-serverless designs, leading to inefficiencies in transaction processing due to concurrency control protocols.
Innovation Solution
A non-static 'architecture-less' database management system with a concurrency control protocol that dynamically adjusts to each transaction, using a serialization graph to identify and break cycles, ensuring proper sequencing and execution of transactions without locks, by scheduling transactions based on breaking transaction types and epochs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If serverless architecture is used to dynamically scale resources according to load, then the system can meet performance requirements through elastic scaling, but communication between scalable resources becomes slower
Solution Approach 1:
The system pre-establishes communication channels and routing paths between resources before transactions require them. By preparing communication infrastructure in advance, the system reduces communication latency when transactions need to access data across scaled resources, thus maintaining fast communication speeds while preserving dynamic scaling capabilities.
Solution Approach 2:
The patent introduces an intermediary component that manages communication between scaled resources. This intermediary optimizes data flow and coordinates access patterns, reducing the negative impact of resource scaling on communication speed by acting as a buffer and router between transactional workloads and elastic infrastructure.
2Reliability
If traditional concurrency control protocols are used in serverless environments, then transaction correctness is ensured, but communication overhead increases due to slower resource communication
Solution Approach 1:
The patent extracts the concurrency control logic from traditional centralized protocols and distributes it across the transaction processing architecture. By localizing conflict detection and resolution at the point of transaction execution rather than requiring centralized coordination, the system maintains transaction correctness while significantly reducing communication overhead between scaled resources.
Solution Approach 2:
The system dynamically adjusts concurrency control parameters based on transaction characteristics and resource states. By changing parameters such as locking granularity, commit protocols, and isolation levels adaptively, the system optimizes the balance between transaction correctness and communication efficiency for different workload patterns in serverless environments.
3Adaptability or versatility
If dynamic resource allocation is implemented to handle varying transaction loads, then system adaptability improves, but transaction processing efficiency decreases due to communication delays
Solution Approach 1:
The system pre-configures resource pools and establishes communication pathways before transactions arrive. By having resources and communication channels ready in advance based on predicted load patterns, the system eliminates setup delays and maintains high transaction processing efficiency even as resources dynamically scale to handle varying workloads.
Solution Approach 2:
The patent implements dynamic resource orchestration that continuously adapts resource allocation and communication routing based on real-time transaction patterns. This dynamic adjustment optimizes the balance between adaptability and processing efficiency by directing transactions to the most appropriate resources with minimal communication overhead, rather than using static or purely reactive allocation strategies.
Data Source
AI summary
A transaction processing protocol for serverless database management systems can use a transaction scheduler to guarantee consistent serializable execution though analysis of the access pattern of transaction types and appropriate ordering of the transaction's events at runtime. A transaction topology is determined for each type of transaction and these are combined and used to generate a serialization graph. Cycles in the serialization graph are identified and breaking transaction types which may break the cycles are determined. When transaction requests are received, a breaking type of transaction is scheduled as a last transaction in the current epoch and later transactions not having the breaking transaction type are scheduled to execute in the next epoch.


