论文部分内容阅读
随着大数据时代的到来,在过去的几年中,数据库应用领域迎来了一场变革,关系型数据库的事务的特性不在处于垄断地位,非关系型数据库的诞生使得各种网络应用可以不在受限于某种方式,CAP理论的发表让人们可以灵活地在应用中使用不同一致性策略的数据库来保证系统的性能。国内外在CAP理论的基础上诞生了很多新的分布式数据库,尤其是非关系型数据库更是如雨后春笋般出现在我们面前,使我们有了更多的选择,同时这些数据库模型的架构方式也带给了我们很多灵感。本文(1)对目前主流的强一致性关系型数据库MySQL的分布式集群MySQLCluster的架构进行了分析并对其性能进行测试,之后对测试结果进行分析后讨论其在加入代理层(MySQL Proxy、MySQL Amoeba、HiveDB以及MySQLFederated)的情况下系统性能的提升;然后对国内IT巨头阿里巴巴集团研发OceanBase数据库进行了分析研究,详细的探讨了其架构模式以及其系统强一致性的维护方式,研究了该数据库系统在保证一致性的情况下通过怎样的数据交换方式来尽可能的提升系统的性能,探讨了这种分布式数据库的稳定性。(2)对HBase、MongoDB和Cassandra这三种目前主流的非关系型数据库的分析和测试。主要对强一致性模型HBase数据库的架构进行了分析,研究其怎样保证系统的强一致性以及提升系统性能的方式,对其读写性能和MySQL进行了对比测试并分析测试结果;对拥有高效读性能的MongoDB数据库进行了简单的介绍,研究了该数据库的架构方式和一致性策略,然后对该数据库的读写性能做了简单的测试并分析其测试结果;对可以采用多种一致性策略的Cassandra数据库进行了简单的介绍,然后详细的分析了其各种一致性策略,并分析该数据库在采用不同一致性策略的情况下对系统性能的影响,最后对这三种非关系型数据库进行了对比测试,通过它们各自的架构以及测试结果来讨论它们各自适合的应用场景。(3)提出了一种改进的分布式数据库模型,该数据库模型的架构方式类似OceanBase数据库,其数据库维护一致性的策略有部分在Cassandra数据库一致性策略的基础上做了一些改进,另外还有几种新增加的一致性策略,这个数据库模型将读写操作完全分离,所以其一致性策略也针对读写的不同,除了强一致性的写操作和读操作外和保证系统最高性能的单节点读写外,新增加对日志和单节点同时读的一致性级别,这几种一致性级别不同于以往数据库的地方在于将一致性选择交给用户,由用户根据性能要求来动态选择一致性策略,这样就可以保证用户在选择好他们需要的一致性级别情况下提供更高效能的读写操作,然后使用三个数据库集群来模拟这个数据库模型并进行了分析测试。