分布式数据库

来自术语
跳转至: 导航搜索

    物理上分散在计算机网络的各个节点上但在逻辑上属于一个统一的数据库系统的数据集合,其特点是不存在任何形式的集中控制。

属性

系统可靠性 简称  DDB
特点 就地完成 英文名 distributed database
支持技术 分布式处理 中文名 分布式数据库

简介

分布式数据库是指利用高速计算机网络将物理上分散的多个数据存储单元连接起来组成一个逻辑上统一的数据库分布式数据库的基本思想是将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上,以获取更大的存储容量和更高的并发访问量。近年来,随着数据量的高速增长,分布式数据库技术也得到了快速的发展,传统的关系型数据库开始从集中式模型向分布式架构发展,基于关系型的分布式数据库在保留了传统数据库数据模型和基本特征下,从集中式存储走向分布式存储,从集中式计算走向分布式计算

另一方面,随着数据量越来越大,关系型数据库开始暴露出一些难以克服的缺点,以NoSQL 为代表的非关系型数据库,其高可扩展性、高并发性等优势出现了快速发展,一时间市场上出现了大量的key-value 存储系统、文档型数据库等NoSQL 数据库产品。NoSQL 类型数据库正日渐成为大数据时代下分布式数据库领域的主力。

这种组织数据库的方法克服了物理中心数据库组织的弱点。

主要特点

·

大数据时代,面对海量数据量的井喷式增长和不断增长的用户需求分布式数据库必须具有如下特征,才能应对不断增长的海量数据。

● 高可扩展性分布式数据库必须具有高可扩展性,能够动态地增添存储节点以实现存储容量的线性扩展。

● 高并发性分布式数据库必须及时响应大规模用户的读/写请求,能对海量数据进行随机读/写。

● 高可用性:分布式数据库必须提供容错机制,能够实现对数据的冗余备份,保证数据和服务的高度可靠性

分布式数据库相对传统集中式数据库的优点

大数据时代,面对日益增长的海量数据,传统的集中式数据库的弊端日益显现,分布式数据库相对传统的集中式数据库有如下优点。

● 更高的数据访问速度:分布式数据库为了保证数据的高可靠性,往往采用备份的策略实现容错,所以,在读取数据的时候,客户端可以并发地从多个

备份服务器同时读取,从而提高了数据访问速度。

● 更强的可扩展性分布式数据库可以通过增添存储节点来实现存储容量的线性扩展,而集中式数据库可扩展性十分有限。

● 更高的并发访问量:分布式数据库由于采用多台主机组成存储集群,所以相对集中式数据库,它可以提供更高的用户并发访问量。

体系结构

分布式数据库结构模式图根据我国制定的《分布式数据库系统标准》,分布式数据库系统抽象为4层的结构模式。这种结构模式得到了国内外的支持和认同。

4层模式划分为全局外层、全局概念层、局部概念层和局部内层,在各层间还有相应的层间映射。这种4层模式适用于同构型分布式数据库系统,也适用于异构型分布式数据库系统。

数据分片类型

(1)水平分片:按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。

(2)垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上作投影运算,每个投影称为垂直分片。

(3)导出分片:又称为导出水平分片,即水平分片的条件不是本关系属性的条件,而是其他关系属性的条件。

(4)混合分片:以上三种方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片,或其他形式,但他们的结果是不相同的。

条件:

(1)完备性条件:必须把全局关系的所有数据映射到片段中,决不允许有属于全局关系的数据却不属于它的某一个片段。

(2)可重构条件:必须保证能够由同一个全局关系的各个片段来重建该全局关系。对于水平分片可用并操作重构全局关系;对于垂直分片可用联接操作重构全局关系。

(3)不相交条件:要求一个全局关系被分割后所得的各个数据片段互不重叠(对垂直分片的主键除外)。

数据分配方式

(1)集中式:所有数据片段都安排在同一个场地上。

(2)分割式:所有数据只有一份,它被分割成若干逻辑片段,每个逻辑片段被指派在一个特定的场地上。

(3)全复制式:数据在每个场地重复存储。也就是每个场地上都有一个完整的数据副本。

(4)混合式:这是一种介乎于分割式和全复制式之间的分配方式。

目前分布式数据库分配的设计,越来越多的采用寻找最优解的算法,比如遗传算法、退火机制等

查询优化

指在执行分布式查询时选择查询执行计划的方法和关系运算符的实现算法。根据系统环境的不同,查询优化所使用的算法也有所不同,通常分为远程广域网环境和高速局域网环境,其区别主要在网络的带宽。对于一元运算符可以采用集中式数据库中的查询优化方法。而对于二元运算符,由于涉及场地间的数据传输,因此必须考虑通信代价。分布式查询中常见的连接运算执行策略包括:

(1)半连接方法:利用半连接运算的转换方法R∞S=(RµS)∞S。假设场地1和场地2上分别有关系R和关系S,首先在S上执行连接属性上的投影并将结果传输至场地1,在场地1上执行关系R与投影的连接操作,再将结果传输至场地2与关系S执行连接操作。这种方法能够降低执行连接运算时的网络通信代价,主要适用于带宽较低的远程广域网络。

(2)枚举法方法:指枚举关系运算符的物理执行计划,通过对比执行计划的代价选择执行算法的方法。其中,连接运算符的物理执行计划包括嵌套循环方法、哈希连接法和归并连接法。枚举法主要适用于以磁盘IO代价为主的高速局域网环境。

典型应用

最典型应用的银行领域为例:



链接

Wikipedia https://en.wikipedia.org/wiki/distributed_database
Zhishi.me http://zhishi.me/baidubaike/resource/分布式数据库
http://zhishi.me/hudongbaike/resource/分布式数据库
http://zhishi.me/zhwiki/resource/分布式数据库