并行数据库 & 分布式数据库

既然决定以后会做与数据相关的研究,就先趁着暑假多了解一点知识!大三下学期刚刚学习了数据库原理!趁热打铁!

目前对提高数据库性能和可用性出现了并行数据库和分布式数据库~

 

并行数据库(parallel database):

并行数据库是新一代高性能数据库系统,是在大规模并行处理计算机集群并行计算环境的基础上提出。

根据所在的计算机的处理器(Processor)、内存(Memory)及存储设备(Storage)的相互关系,并行数据库可以归纳为三种基本的体系结构:

共享内存(Shared-Memory,简称SM)

该结构由多个处理机一个全局共享的主存储器多个磁盘存储组成。各个处理器通过高速通讯网络(Interconnection Network)与共享内存连接,并均可直接访问系统中的一个、多个或全部的磁盘存储,在系统中,所有的内存和磁盘存储均由多个处理器共享

提供数据库服务的处理器通过全局共享内存交换消息和数据,通讯效率高,查询内部和查询间并行性实现不需要额外的开销。

数据库数据存储在多个磁盘上,可被所有处理器访问

此结构硬件成本高,由于多个处理器共享内存,处理器数量增加导致内存争用,系统中处理器数量受到限制,可扩充性差。由于共享内存机制,内存错误直接影响系统。

共享磁盘(Shared-Disk,简称SD)

此结构由多个拥有独立内存的处理器多个磁盘组成,各个处理器之间没有直接的信息和数据的交换,每个处理器都可以读写全部磁盘。处理器与磁盘由高速通信网络连接。

优点:此结构经常用于实现数据库集群,硬件成本低,可扩充性好,可用性强。

缺点:多个处理器共享磁盘存储,当处理器增加可能导致磁盘争用导致性能问题。每个处理器可访问全部磁盘存储。磁盘存储中数据被复制到处理器高速缓冲区进行处理,会出现多个处理器同时对同一磁盘位置进行访问和修改,最终导致数据的一致性无法保证。解决办法是增加一个分布式缓存管理器对各个处理器的并发访问进行全局控制与管理。不过这会带来额外的通信开销。

无资源共享(Shared-Nothing,简称SN)

这种结构由多个处理结点构成,每个处理结点有自己独立的处理器,独立的内存,独立的磁盘。多个处理结点在处理器级上由高速通信网络连接,系统中各个处理器用自己的内存处理数据。

这种结构,每个处理结点就是一个小型数据库系统,多个结点一起构成分布式的并行数据库系统。每个处理器使用自己的资源处理数据,不存在资源争用,提高整体性能。

这种结构具有优良的可扩展性——只需增加额外的处理节点,就可以以接近线性的比例增加系统的处理能力。

并行数据库的组织

主要涉及并行粒度和操作算法问题:

并行粒度:不同用户事务间的并行,同一事务内不同查询间的并行,同一查询不同操作间的并行,同一操作内的并行性。

并行操作算法:并行连接算法,并行扫描算法,并行排序算法

 

 

 

分布式数据库系统 (distributed database system)

定义:

分布式数据库系统中,每个应用程序可以对数据进行透明操作,数据库中的数据分别在不同的局部数据库中存储、由不同DBMS进行管理,在不同的机器上运行,由不同的操作系统支持,被不同通信网络连接在一起。

分布式数据库在逻辑上是个统一的整体,但物理上则分别存储在不同物理结点上。分布性表现在数据库中的数据不是存储在同一计算机的存储设备上

分布式系统希望增加数据冗余,在不同场地存储同一数据的多个副本,其原因是:

(1)提高系统可靠性、可用性:当系统某一场地出现故障,系统可对另一场地的相同副本进行操作。不会因一处故障导致系统瘫痪。

(2)提高系统性能:可以根据距离选择离用户最近的副本,减少网络通信代价,改善性能。

主要特点:

独立透明性:用户不必关心数据的逻辑分区,不必关系数据物理分区细节。用户应用程序书写和数据没有进行分布存储一样。数据分布的信息由系统存储在数据字典中,用户对非本地数据的访问请求由系统根据数据字典进行解释、转换、传送。

集中结点结合:数据库是用户共享的资源,在分布式数据库中,数据的共享有两个层次:一是局部共享,局部数据库存储局部场地各用户的共享数据(本地用户常用)。二是全局共享,即分布式数据库的各个场地存储可供其他场地用户共享的数据,支持系统全局应用。因此有俩相应控制结构:集中和自制。各局部DBMS独立管理局部数据库;同时系统设置集中控制机制,协调局部DMS工作。

复制透明性:用户不关心网络中各结点的复制情况,由系统自动完成。

易于扩展性:可增加多个服务器进一步分布数据和分担处理任务

优点:

(1)灵活的体系结构

(2)系统可靠性高,可用性好

(3)局部应用响应速度快

(4)可扩展性好

缺点:

(1)系统开销大,主要是通信

(2)复杂存取结构

(3)数据的安全性和保密性难处理

 

 

分布式数据库与并行数据库的区别:

结点地位不同:

DDB的结构与PDB的SN结构看似相似,却又很大不同:

逻辑上PDB系统中N个结点并不平等。其中只有一个节点与用户接口,负责接受用户请求,输出处理结果,确定执行方案,而其余节点只具有执行操作和彼此通信能力。PDB在逻辑上是一个 具有一个前台处理机和多个后天处理机结点模型的系统。结点在数据处理中只发挥协同作用。

DDB中各结点从逻辑上完全平等,没有主次之分。DDB中各结点除了能通过网络协同完成全局事务外,还具有场地自治性。

应用目标不同:

PDB目标是发挥并行计算机的优势,利用各处理器结点并行完成数据库任务。

DDB目标在于实现场地自治和数据的全局透明共享,不要求利用网络中各结点提供处理性能

实现方式不同:

PDB为了充分利用各结点处理能力,采用高速网络连接。传输代价相对较低。某些结点空闲,可将负载大的结点的任务通过高速网传给空闲结点处理。

DDB为了满足分布特点,各结点采用局域网或广域网相连,网络带宽较低,结点间通信开销大,因此查询处理时尽量较少结点间的数据传输量。

 

 

以上内容部分参考自:

https://blog.csdn.net/wyzxg/article/details/5371163

https://blog.csdn.net/CHS007chs/article/details/77941037

https://blog.csdn.net/guotianlaile/article/details/53580290

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值