Page 128 - 软件工程与项目管理
P. 128

软件工程与项目管理
             Software Engineering & Project Management



            确定的时间内返回操作结果;分区容错性是指当网络分区时,系统仍能收到用户
            请求并正常运行的能力。
                 在实际的应用过程中,为了能够增强整体的性能,部分 NoSQL 数据库系
            统只保留数据的最终一致性而将强一致性放弃。比如亚马逊的 Dynamo 软件就
            为了能够提高可用性与分区容错性将强一致性放弃。NoSQL 数据库系统根据

            不同的数据库特点分为不同的模型内容。目前主要有键值模型(如 Dynamo、
            regis、Voldemort),列式模型(如 bitable、Cassandra、HBase),文档模型(如
            CouchDB、MongoDB)及图形模型(如 Neo4J)这四类。HASH 表是键值数据库

            模型的主要思想来源。这一模型主要使用键值来进行数据的查询和修改。也就是
            说键值数据库模型是一种使用特定的键值指向特定数据库的一类模型,这类模型
            的并发读写性能较高,同时在系统性能、容错性以及扩展性方面的表现也较为出
            色。列式数据模型适用于对二维表数据的存储处理,其主要特点就是按列进行数
            据的存储。通过存储同一列的数据可以有效地提升同类型相关联数据的访问效率。

            因此这一模型的实用性、扩展性以及可用性都非常出色。在当前的文档数据模型
            中大多都应用列式数据模型。图形数据模型的网络图结构主要由节点、关系以及
            节点与关系的性质构成。在进行数据储存时应用图形结构就能够使图形理论算法

            得到应用,同时也可以进行更多更复杂的运算。比如支持海量可伸缩性的开源图
            形数据库 Neo4j 就善于处理海量、复杂、相互连接、低结构化的数据并提供有效
            的图形算法及在线分析引擎。
                 在大数据环境下,传统的方式将数据进行合并,从大量数据中寻找对应的
            数据进行增、删、改、查操作,所消耗的时间是难以想象的。分区技术的产生可

            以更加高效地对海量数据进行存储、处理,较好地解决了数据存储空间和数据库
            并发访问性能之间的关系。分区技术把大表、索引划分为可管理、可灵活加工的
            小数据片,提高了数据处理的可伸缩性。在应用上,分区表和非分区表的使用方

            式是一样的,在使用 SQLDML 命令对分区表进行存取时无须进行修改。目前范
            围分区、数据存储位置分区以及 HASH 分区都是当前常见的分区方式。根据数据
            表内的不同数值来进行分区就是范围分区,根据数值的存储范围来分区就是数据
            存储位置分区,而 HASH 分区则是根据不同的分区键来进行,每一个分区键都代
            表了一个单独的列。HASH 分区方式能够对待运行的数据进行直接的分区,同时

            还能合理地控制数据中的离散值。HASH 分区主要使用 HASH 函数来制定分区的


             118 18
             1
   123   124   125   126   127   128   129   130   131   132   133