论文部分内容阅读
随着大数据的发展,产生了海量的数据,而单一节点数据库存在着存储和处理瓶颈,因此分布式数据库中间件成为应对海量数据存储和处理的一种解决方案。本文在前人研究基础上,对分布式数据库中间件Mycat的查询优化进行了研究。针对Mycat中分片字段查询效率高于非分片字段查询的现象,提出了一种基于冷热数据字段的分片字段选择策略,使查询操作大概率命中于分片字段查询,从而提高了系统性能;在两表跨库等值连接查询中,针对数据广播阶段由于数据量大而影响查询效率的问题,提出基于改进BloomFilter的两表跨库等值连接查询的优化策略,对连接广播数据进行过滤,减少了广播量,提高了两表跨库查询效率;在多表跨库非等值连接查询中,两两连接执行顺序直接影响着多表查询效率,针对此问题,提出了基于蚁群算法的多表跨库非等值连接查询优化策略,得出了两两连接的最优执行路径,提高了多表跨库查询效率。本文完成的工作如下:1)针对分片字段选择策略,对指数平滑法的平滑系数进行了研究,给出了一种快速率计算方式,对前人的代价估计模型进行了优化,使其更符合选择策略。并应用于智能硬件物联网实际项目测试数据集中,进行了实验分析,选出了最优的分片字段。2)针对两表连接优化,对BloomFilter算法进行了改进,提出了一种扩充型BloomFilter,该扩充型BloomFilter相比传统BloomFilter和K分组合型BloomFilter具有更低的误判率,且扩展性更高。并通过实验分析,与索引查询优化相比,BloomFilter算法具有易维护和可迁移的优势。3)针对多表连接优化,将蚁群算法应用其中,提出了一种不均的初始信息素分布策略,并将连接传输代价和连接时间代价综合考虑,进行多目标优化。通过实验验证了在多表连接的优化中,蚁群算法得出的路径是最优解或最优解的近似解。4)将优化后的Mycat应用到实际的智能硬件物联网项目中,并进行查询测试,验证了优化后Mycat在实际项目中可以提高查询效率本文提出的查询优化策略,经实验验证,能够提高各种复杂查询语句的查询效率,并且能够提升Mycat应对海量数据的处理能力。