CPC G06F 16/24544 (2019.01) [G06F 11/3409 (2013.01); G06F 16/211 (2019.01); G06F 16/2282 (2019.01); G06F 16/278 (2019.01)] | 20 Claims |
1. A method comprising:
extracting one or more workload-specific features of a database workload running at a database system and one or more dataset-specific features of a database running on the database system;
wherein the one or more workload-specific features of the database workload characterize resource utilization of the database workload;
wherein the one or more dataset-specific features of the database characterize how data is logically organized within the database running on the database system;
identifying a plurality of candidate keys for determining how to partition data stored in the database across two or more computing nodes running the database system;
based at least in part, on the one or more workload-specific features, the one or more dataset-specific features, and the plurality of candidate keys, generating a set of candidate key combinations for partitioning data in the database over two or more computing nodes;
determining, using a machine-learning model, a particular candidate key combination from the set of candidate key combinations that optimizes query execution performance benefit based on the one or more workload-specific features and the one or more dataset-specific features of the database; and
generating one or more data placement commands to allocate one or more database tables of the database across the two or more computing nodes.
|