| Description: |
В облачных средах конфигурация оборудования, использование данных, и распределение рабочей нагрузки постоянно меняются. Эти изменения затрудняют оптимизатору запросов системы управления облачными базами данных подобрать оптимальный план выполнения запроса (QEP). Чтобы оптимизировать запрос с более точной оценкой затрат, в литературе было предложено во время выполнения запроса осуществлять повторную оптимизацию запроса. Тем не менее, некоторые из этих оптимизаций не могут обеспечить прирост производительности с точки зрения времени ответа на запрос или денежных затрат, которые являются двумя целями оптимизации для облачных баз данных, и могут оказывать негативное влияние на производительность из-за накладных расходов. Это поднимает вопрос о том, как определить, когда оптимизация выгодна. Целью исследования является разработка метода повторной оптимизации запросов, который использует компьютерное обучение.Ключевая идея алгоритма заключается в использовании прошлых выполнений запросов, чтобы научиться прогнозировать эффективность повторной оптимизации запросов, и делается это с целью помочь оптимизатору запросов избежать ненужной повторной оптимизации запросов для будущих запросов. Метод осуществляет запрос поэтапно, используя модель компьютерного обучения, для прогнозирования того, будет ли повторная оптимизация запроса полезной после выполнения этапа, и вызывает оптимизатор запросов для автоматического выполнения повторной оптимизации. Предстоит экспериментальная оценка эффективности.In cloud environments, hardware configuration, data usage, and workload distribution are constantly changing. These changes make it difficult for the query optimizer of the cloud database management system to choose the optimal query execution plan (QEP). In scientific literature, it was proposed to re-optimize the query during its execution for the purpose of optimizing it with a more accurate cost estimate. However, some of these optimizations cannot provide performance gains in terms of query response time or monetary costs, which are the two optimization goals for cloud databases, and may have a negative impact on performance due to overhead. This raises the question of how to determine when the optimization is efficient. The aim of the study is to develop a method of repeated query optimization that uses computer training. The key idea of the algorithm is to employ past query executions to learn how to predict the effectiveness of query re-optimization, and this is done in order to help the query optimizer avoid unnecessary re-optimization of queries for future ones. The method runs the query step-by-step, utilizing a computer training model, to predict whether re-optimization of the query will be useful after the stage is completed, and calls the query optimizer to automatically perform re-optimization. An experimental evaluation of the effectiveness is to be carried out. |