Adaptive Data Partitioning Using Hidden Columns and ML
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data partitioning systems struggle to adapt to changing workloads and query patterns without requiring extensive re-ingestion of data, often relying on upfront knowledge of data distribution and query workloads, and fail to consider column content for optimal partitioning.
Innovation Solution
A computer-implemented method using user-defined functions (UDFs) to generate hidden columns, machine learning models to select optimal partition schemes, and periodic reorganization of data based on query statistics and workload analysis to dynamically adjust partitioning.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If data is partitioned based on high cardinality columns (e.g., timestamp), then query performance is improved, but partition adaptability deteriorates because the partitioning scheme cannot easily adapt to changing workloads
Solution Approach 1:
The patent implements dynamic partitioning where the system automatically adjusts partitioning schemes based on changing query workloads. The partitioning is not fixed but adapts over time by analyzing query patterns and redistributing data accordingly, allowing the system to maintain optimal performance as workload characteristics evolve.
Solution Approach 2:
The system incorporates feedback mechanisms by continuously monitoring query workloads and using this information to automatically adjust partitioning schemes. The workload information feeds back into the partitioning decision process, enabling the system to learn from actual usage patterns and optimize partitions accordingly without manual intervention.
2Productivity
If a partitioning scheme is defined during table creation, then initial query performance is improved, but flexibility deteriorates because changing the partitioning scheme requires expensive data re-ingestion
Solution Approach 1:
The system transitions from static partitioning defined at table creation to dynamic partitioning that can be modified without re-ingesting data. The partitioning scheme becomes a mutable parameter that can be adjusted based on workload changes, eliminating the need for expensive data re-ingestion while maintaining performance benefits.
Solution Approach 2:
The system performs preliminary partitioning during table creation to achieve initial performance benefits, but also prepares the infrastructure for future adaptive adjustments. This allows the system to have both initial optimization and future flexibility without requiring complete re-partitioning.
3Manufacturing precision
If manual partitioning schemes are defined based on upfront knowledge, then optimization precision is improved, but system complexity deteriorates due to the demand for intimate knowledge of workloads and data
Solution Approach 1:
The system eliminates the need for manual partitioning expertise by implementing automated partitioning that self-adjusts based on observed query workloads. The system serves itself by automatically analyzing workload patterns and making partitioning decisions without requiring users to have intimate knowledge of optimal partitioning schemes.
Solution Approach 2:
The patent replaces manual, expert-driven partitioning mechanisms with automated, algorithm-driven partitioning. Instead of relying on human expertise to define partitioning schemes, the system uses computational algorithms to automatically analyze workloads and determine optimal partitions, reducing the complexity burden on users.
4Adaptability or versatility
If data is reorganized frequently to adapt to changing workloads, then adaptability is improved, but computational cost deteriorates due to the expense of re-partitioning
Solution Approach 1:
The system implements periodic evaluation of workload patterns to determine when re-partitioning is necessary. Instead of continuous or frequent reorganization, the system monitors workloads over time and triggers re-partitioning only when significant workload changes are detected, balancing adaptability with computational efficiency.
Solution Approach 2:
The system performs partial re-partitioning only for the portions of data affected by workload changes rather than re-organizing the entire dataset. This selective approach maintains adaptability while significantly reducing the computational cost associated with full data reorganization.
Data Source
AI summary
Computer-implemented methods and computing systems for reorganizing data are disclosed. One or more user defined functions (UDFs) are applied to one or more columns of a data set to generate a hidden column. The data set partitioned according to a first partition scheme and the hidden column are stored in memory of a computing system. A set of queries run against the data set and the hidden column are stored in the memory. Each query in the set of queries and the one or more UDFs are processed with a machine learning model to select a second partition scheme for the data set. The data set in the memory is reorganized according to the second partition scheme.


