同构型分布式数据库建模及访问一体化算法研究
作者单位:四川师范大学
学位级别:硕士
导师姓名:朱洲森
授予年度:2020年
学科分类:12[管理学] 1201[管理学-管理科学与工程(可授管理学、工学学位)]
主 题:同构型 分布式数据库 微服务 SpringCloud Mycat Oracle 动态切换 一体化算法
摘 要:现代互联网信息系统服务业态变得更加丰富,数据量呈现爆发式增长,海量数据的处理正成为信息系统发展的瓶颈。其中,传统的单机数据库受硬件荷载等因素的限制,已经成为其中最主要的制约要素。分布式数据库的出现,有效解决了上述问题,已经成为当前大型信息系统首选的数据存储方式。本文所探索的同构型(库表结构一致)分布式数据库是信息系统可扩展性数据的重要存储方案之一,它可有效增大系统的访问效率和存储容量,提高系统的响应速度。但在系统访问量日益增长的情况下,同构型分布式数据库的响应速度会逐渐变慢,因此迫切需要通过重构访问过程并优化其连接和查询算法,以满足现实应用的需要。本文对当下流行的关系型数据库和非关系型数据库进行深入分析,对比不同数据库的优缺点,选取Oracle作为数据节点的存储方案。通过对国内外各种主流数据库中间件产品的分析,选取成熟的Mycat做为分布式数据库的中间件节点,继而进行重构连接过程和动态优化查询算法的拓展研究。本文选取Mycat中间件和Oracle数据库节点在服务器端搭建同构型进行分布式数据库,通过对Mycat中间件深入研究,优化其配置,结合Mycat核心的分库分表技术、读写分离技术、主从复制功能、全局自增ID技术等,构建高可用、高性能的同构型分布式数据库。设计和实现了基于Oracle数据库的同构型分布式数据库构架,独立研发了API数据访问交换模块,对外提供统一的接口用于访问连接和数据处理。本文采用了满足扩展性和高可用性的SpringCloud构建微服务框架,选取功能完善、性能稳定的组件,包含Eureka、Feign、Hystrix、Gateway、Config五种组件,完成了一体化的分布式数据访问平台的搭建。一体化的分布式数据访问平台的核心成果之一是设计和实现了访问一体化算法,在系统应用层对数据库访问的CRUD操作进行解析和路由,实现对Mycat服务器和多个Oracle数据库节点的动态连接控制。该算法通过对CRUD操作语句中的分片字段进行完整判断,对只涉及单个数据库节点的操作,不经过Mycat服务器,直接与其后端的Oracle数据库节点进行通信,对涉及多个数据库节点的操作则需要经过Mycat服务器进行路由通信,提高了数据访问效率并节约了系统资源。本文部分成果已被某实际商业项目采用,运行一年,效果达到预期目标。研发过程中,通过对不同数量级数据的CRUD操作测试,记录了其运行时间和资源消耗,对测试结果进行整理分析,证明了该一体化算法能够显著提升数据访问的效率,并有效降低系统的资源消耗。