论文部分内容阅读
随着Web2.0网站的兴起,互联网进入了全新的高速发展期。用户的规模不断扩大,用户的参与度和交互程度空前提高,数据量呈几何指数增长,应用也越来越多样化和多元化。以上现状对于数据库技术提出了巨大的挑战,包括如何应对海量数据的高并发读写请求,如何支持系统的高可用性及高可扩展性等。传统的关系型数据库由于自身的特点,遇到了很多功能和性能上的瓶颈。为了应对以上挑战,弥补关系型数据库的缺陷,NoSQL数据库应运而生。NoSQL数据库是非关系型数据存储系统的统称,其中Key-Value数据库是以键值对为数据模型进行存储的,它是NoSQL数据库的众多类型中运用最广泛的一种。
本文在研究Key-Value数据库技术发展的基础上,为了满足高可用性和高可扩展性等需求,提出了一种基于Berkeley DB的高可用与高可扩展Key-Value存储系统。本系统的创新点有以下几个方面:
(1)基于虚拟节点的数据划分,与集群物理拓扑结构彻底解耦,同时适应了服务节点的异质性的特点,并保证了系统易用的高可扩展性。
(2)基于主从复制组模型,不仅方便系统进行读扩展,同时具有热备切换的功能,避免了主节点故障带来的服务不可用,解决了单点问题,提高了系统的可持续服务能力。
(3)提出了一种“零跳”的动态路由策略,将请求从本地直接路由到相应的服务节点,与其他多跳路由策略相比,减少了路由过程的时延。
(4)支持策略的可配置性,根据不同的应用需求配置数据存储策略,增强了系统的灵活性。