论文部分内容阅读
移动互联网的普及使得互联网与人们的生活更加的密不可分。新出现的互联网应用以及向互联网应用转变的传统的本地应用都面对同一个问题,即数据的存储。如何存储海量数据并提供低延迟高可靠性的数据访问成为各个互联网企业急需解决的问题。一方面,结构化数据存储作为数据存储中必不可少的需求,最适合使用关系型数据库。另一方面,分布式存储具有低成本,高可靠性的特点。基于此,分布式关系型数据库近年来成为研究的热点。分布式关系型数据库是指系统架构上是分布式的,提供基于关系模型的结构化数据存储的计算机软件系统。通过对课题相关的分布式理论、关系型数据库理论及相关技术学习和研究,论文作者及所在团队成员基于传统关系型数据库开发了高性能高可扩展的分布式关系数据库系统CRDB。论文内容主要是关于作者在项目中承担的分布式数据库存储子系统LDB的设计、实现及测试等工作。作者设计了高性能的事件驱动框架使得系统可以同时进行多个任务,最大限度利用网络和磁盘的I/O能力。通过设计任务管理模块,使任务按各自的状态机进行,不会相互干扰。通过设计计时器模块使得系统可以为任务执行计时,从而可以在限定的时间里响应用户,而不会进入长时间的阻塞,提高用户体验。对于有磁盘I/O操作的访问数据库的操作,设计线程池来执行这些操作。并利用Linux提供的API,使任务的管理与事件驱动框架良好配合,从而实现了异步I/O访问磁盘。系统使用数据库连接池访问数据库从而大大节约了与存储工具Mysql之间进行交互的系统开销。对于跨结点的表的连接操作,系统可以灵活地根据执行计划提供基于直连接算法和半连接算法的两种策略进行连接操作。最后,论文对系统进行了功能测试和性能测试。功能测试结果表明,系统在功能上完全符合分布式关系型数据库的要求。论文通过对性能测试结果进行分析,认为系统的性能基本达到要求,并提出了一个可能的改进方案。