关键词:
云计算
云数据库
查询优化
强化学习
多线程通信机制
摘要:
从本地数据库架构转变为云上数据库架构,对于大型复杂系统的高效运行和海量异构数据的存储分析至关重要。云数据库的启发式查询优化方法存在局限性,如难以获得最优执行计划使得查询性能下降、无法从历史查询中学习经验等。基于学习的优化方法虽然能够提升查询性能,但也存在缺陷,如没有对物理运算符进行编码、无法捕捉执行计划的结构特征、依赖于错误的基数估计和代价估计、现有强化学习算法的探索性较差、训练速度较慢以及收敛不稳定。针对上述问题,提出了一种新型基于异步Soft Actor-Critic的连接查询优化器(Asynchronous Soft Actor-Critic for Join Query, ASA-Join)。ASA-Join利用多线程通信机制设计了异步Soft Actor-Critic算法,能够增加策略的随机性和智能体的探索能力,尽可能避免陷入局部最优解;集成了一种新的编码方法,将物理运算符和执行计划的结构特征进行编码,能够准确表示执行计划;设计了状态表示模型,利用Bidirectional Gate Recurrent Unit (BiGRU)来捕捉执行计划的结构特征;设计了一种新的奖励机制,利用多任务学习方法将执行计划的代价和延迟均作为优化目标,使得执行计划能够反映真实的查询时间。在真实数据集JOB和TPC-H上对ASA-Join的代价和延迟进行评估。实验结果表明,ASA-Join的性能优于现有基于强化学习的优化器。