Dynamic Data Partitioning for In-Memory and Disk Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large databases face challenges in efficiently managing and accessing data due to the high cost and limited capacity of in-memory databases, necessitating a solution to optimize data storage and retrieval between in-memory and disk-based databases based on query access patterns.
Innovation Solution
A database architecture that partitions and moves data between in-memory and disk-based databases using dynamic data units defined by shared attribute values, updating partitions based on query usage patterns to identify and swap hot and warm data, optimizing storage and retrieval between the two systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is stored in an in-memory database for fast access, then data retrieval speed is improved, but storage cost increases and capacity is limited
Solution Approach 1:
The patent segments data into hot data and warm data based on query access patterns. Hot data that is frequently accessed is stored in the in-memory database for fast retrieval, while less frequently accessed warm data is stored in the disk-based database. This segmentation allows the system to optimize for both speed and capacity by placing different types of data in appropriate storage locations.
Solution Approach 2:
The patent implements dynamic data movement between in-memory and disk-based databases based on real-time query access patterns. The system continuously monitors query usage and automatically moves data between storage tiers, transitioning data from warm to hot status when access patterns change. This dynamic approach ensures that the limited in-memory capacity is always utilized for the most frequently accessed data while maintaining fast retrieval speeds for hot data.
2Loss of time
If all data is stored in the in-memory database, then data access time is reduced, but storage cost increases significantly
Solution Approach 1:
The patent applies local quality by providing different storage locations for different types of data based on their access characteristics. Hot data that requires fast access is placed in the expensive in-memory database, while warm data that can tolerate slower access is placed in the cheaper disk-based database. This localized optimization ensures that expensive in-memory storage is only used where it provides the most value, thereby reducing overall storage costs while maintaining fast access times for frequently queried data.
Solution Approach 2:
The system dynamically adjusts data placement between storage tiers based on changing query access patterns. When data access patterns change and previously warm data becomes hot, the system automatically moves that data to the in-memory database. This dynamic reallocation ensures that storage costs are optimized by only using expensive in-memory storage when it is actually needed for fast access, rather than maintaining all data in memory permanently.
3Device complexity
If data partitions are statically defined, then system complexity is reduced, but adaptability to changing query workloads deteriorates
Solution Approach 1:
The patent implements dynamic partitioning where data partitions are automatically reorganized based on real-time query access patterns. The system monitors query workloads and continuously adjusts partition definitions to reflect current hot and warm data boundaries. This dynamic approach allows the system to adapt to changing query workloads automatically without requiring manual intervention or complex static partitioning schemes, thereby improving adaptability while keeping the partition management transparent to users.
Solution Approach 2:
The system performs self-service by automatically monitoring query access patterns and reorganizing data partitions without external intervention. The partition management system autonomously detects changes in query workloads and adjusts partition definitions accordingly, eliminating the need for manual partition management while maintaining high adaptability to workload changes. This self-service capability reduces the operational complexity for users while ensuring optimal data organization.
Data Source
AI summary
A database architecture includes at least an in-memory database and a disk-based database (also referred to as “hot” and “warm” data stores). In the database architecture, data can be partitioned (and re-partitioned) and/or moved within and among the in-memory and disk-based databases, based on query access patterns derived from received database queries. The partitions and inter-database movements can be based at least in part on clustered, dynamic data units that are defined using shared individual attribute values of data records, and updated based on the received queries.


