Shared HTAP Storage Fairness Scheduling for Multi-Tenant Scans
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing hybrid transactional/analytical processing (HTAP) databases face challenges in ensuring data freshness for real-time complex queries and managing burst concurrent workloads, especially in multi-tenant environments, which can lead to performance issues or crashes, and adding resources is costly.
Innovation Solution
A hybrid HTAP database with separate OLTP and OLAP engines and a shared storage that employs fairness scheduling, scan deadlines, quality of service controls, and adaptive computation techniques to manage concurrent workloads and optimize resource usage, including techniques like roaring bitmaps and branchless binary searches.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If OLAP systems update data periodically to ensure data freshness for real-time queries, then data freshness is improved, but query response time increases and real-time processing capability deteriorates
Solution Approach 1:
The database is segmented into separate OLTP and OLAP engines with independent data processing paths. The OLTP engine handles real-time transactions with immediate data writes, while the OLAP engine performs analytical queries on replicated data. This segmentation allows each engine to optimize for its specific workload without compromising the other, resolving the contradiction between data freshness and query response time.
Solution Approach 2:
A shared storage layer acts as an intermediary between the OLTP and OLAP engines. The shared storage receives data from OLTP transactions and makes it available to OLAP queries, enabling real-time data access for analytical processing while maintaining data freshness. This intermediary mechanism eliminates the need for periodic updates and enables immediate data availability.
2Reliability
If more resources are added to handle burst concurrent workloads in multi-tenant environments, then system reliability is improved, but cost increases
Solution Approach 1:
The shared storage is designed as a universal resource that serves multiple tenants and both OLTP and OLAP workloads simultaneously. It implements multi-tenancy support with resource pooling, allowing a single storage infrastructure to handle diverse concurrent workloads from different tenants without requiring dedicated resources for each tenant, thereby reducing overall resource consumption and cost.
Solution Approach 2:
The system dynamically allocates and manages storage resources based on real-time workload demands from different tenants. The shared storage can adapt its resource allocation dynamically during burst periods, prioritizing critical operations and adjusting capacity allocation without requiring static over-provisioning, thus improving reliability during peak loads while optimizing resource utilization and cost.
3Adaptability or versatility
If a single database supports both OLTP and OLAP workloads, then versatility is improved, but device complexity increases
Solution Approach 1:
The database architecture is segmented into separate OLTP and OLAP engine components that operate independently but share common storage. This segmentation allows each engine to be optimized for its specific processing type while maintaining overall system versatility. The separation of concerns reduces the complexity that would otherwise arise from trying to implement both workloads within a single monolithic engine.
Solution Approach 2:
The shared storage layer provides universality by serving both OLTP and OLAP workloads through a common infrastructure. This multi-functional storage system handles diverse workloads from multiple tenants, reducing the need for separate storage systems for each workload type and thereby simplifying the overall architecture while maintaining versatility.
4Productivity
If fairness scheduling is implemented to manage concurrent scan requests, then resource utilization is improved, but system complexity increases
Solution Approach 1:
The fairness scheduling mechanism ensures continuous progress of scan operations by implementing time-based fairness. Each scan request is guaranteed a time slice to execute, preventing any single tenant from monopolizing resources. This continuous execution approach improves resource utilization efficiency by keeping the system busy and productive while distributing workload fairly across all tenants.
Solution Approach 2:
The scheduling system incorporates feedback mechanisms that monitor scan progress and adjust time slice allocation accordingly. By tracking which scans are progressing efficiently and which are stalled, the system dynamically adjusts resource allocation to optimize overall productivity. This feedback-driven approach improves resource utilization while managing complexity through automated adaptive control.
Data Source
AI summary
A hybrid transactional/analytical processing (HTAP) database includes an online transaction processing (OLTP) engine, an online analytical processing (OLAP) engine provided separately from the OLTP engine, and a shared storage holding data of multiple tenants. The shared storage is configured to receive a request for a first scan from a first tenant and a request for a second scan from a second tenant, execute the first scan, and after a predetermined first period of time has elapsed without the first scan finishing, pause the first scan and execute the second scan.


