论文部分内容阅读
现代社会信息技术的飞速发展给人类的生活带来了巨大的变化和影响。网络技术与计算机技术的发展使人们更方便的随时随地接入网络,获取所需的信息。随着Web2.0时代的到来,网络中信息量的不断增长以及人们对网络服务的需求日益增加,网络中数据的并发访问量越来越大,作为业务系统支撑的数据库系统需要处理更多的请求与交互。 为了满足人们快速对信息进行查询与处理的需求,缓存技术为数据库系统存在的性能瓶颈的问题提供了很好的解决方案。分布式数据库系统由于自身的可靠性高、可用性好和扩展性强等优点得到了广泛的应用。因此本文的目的在于将缓存技术应用于分布式数据库系统中,寻找简单、易用的数据缓存方式应用于实际的Web系统,减轻业务查询与处理对底层数据库系统的压力,尽可能的利用现有的网络资源服务于更多的用户。 本文研究并分析了分布式数据库系统的基本概念、研究方法以及关键技术,研究了缓存技术的概念,并对数据库缓存技术进行了深入的了解,探讨了几种不同的缓存技术在不同的数据库系统中不同场景下的应用情况。研究的几种缓存技术包括Memcached分布式缓存技术、DBCache自适应缓存技术、数据库二级缓存技术。对比了各自的特性,并为实际的系统提供了良好的应用背景。 本文还研究了几种不同的缓存替换算法,包括FIFO先进先出算法、LFU最不经常使用算法、LRU最近最少使用算法、CLOCK时钟置换算法、改进型的CLOCK时钟置换算法、OPT最佳置换算法等。用计时法、计数法、链表法等方法实现了LRU算法,并提出了一种LRU算法的优化方案,其中加入了缓存锁及分级的思想。用C++仿真实现这几种缓存替换算法并比较其性能,将缓存命中率或页面缺失率作为衡量其性能的指标。 本文最后介绍了现在互联网社交平台十分流行的Cassandra分布式数据库,并对其如何部署及配置进行了详细的介绍。在客户端对Cassandra数据库进行插入、删除、读取等操作,为缓存技术的应用提供了依据。对Cassandra系统中的缓存管理机制进行改进,在原有功能的基础上进行优化,并且不改变其对外部模块的接口。在Java平台上实现了上述几种缓存替换算法并进行测试,结果证明了这几种算法应用于实际系统的可行性和有效性。