论文部分内容阅读
相比传统关系型数据库,NoSQL(Not Only SQL)数据库为我们提供了高可用、高可扩展的大规模数据存储方案,如Google的存储模型Bigtable及其开源实现HBase数据库等。NoSQL数据库采用基于键值对的简单数据模型,放弃了传统的关系数据模型,牺牲了诸如丰富的查询模式、事务等特性,同时,由于NoSQL数据库缺少Schema,因此不能对数据库进行较好的完整性验证,多数NoSQL数据库采用最终一致性而非强一致性使得数据存在不一致窗口,影响了数据的正确性。本文旨在研究NoSQL数据库的安全机制和改进方案,分析构建在安全的Hadoop平台上的HBase数据库的整体架构、关键技术及安全机制,对其进行安全性评价,并研究提出改进的安全策略和方法。本文首先分析了NoSQL数据库的关键理论及技术,针对当前NoSQL数据库产品缺乏安全性的特点,围绕数据库的保密性、完整性、可用性和一致性,结合分布式的特点,从内部和外部分析和定义了NoSQL数据库的用户安全需求。接着,通过Hadoop与HBase的源码分析,本文研究了Hadoop平台和HBase数据库的安全机制,包括基于ACL的访问控制、基于网络授权协议的访问控制机制以及HDFS完整性和一致性研究。安全的HBase支持ACL访问控制以及Kerberos认证,前提是启用安全的Hadoop平台,即Hadoop平台提供的Kerberos认证机制,同时,HBase的数据完整性和一致性通过HDFS保证。结合安全需求和HBase安全机制,本文接着对HBase进行安全评价,发现HBase在访问控制、事务支持、数据加密等方面具有改进的空间。然后,本文研究并提出HBase安全在权限控制和数据访问一致性这两个方面的改进:1)HBase权限控制的扩展改进方案,使HBase能提供更加精确的数据访问控制;2)基于可串行化快照隔离的HBase多键事务的实现方法。HBase通过行锁为我们提供了单键事务,但是它不支持多键的事务操作,在并发访问时不能保证数据的正确性和一致性。本文结合HBase的行锁机制,快照隔离模型及其可串行化检测算法,提出了一种基于可串行化快照隔离的多键事务的实现方法,使得HBase具有更好的事务支持。最后,本文对权限扩展改进方法与基于可串行化快照隔离的HBase多键事务方法进行实验验证。实验结果表示改进后的权限是有效的,并且多键事务方法基本符合设计的预期,改进方法具有实用性。