分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有DBMS的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。接下来为大家详细介绍一下什么是分布式数据库和其特点是什么。

 

一、什么是分布式数据库? 

分布式数据库,从名字上可以拆解为:分布式+数据库。用一句话总结为:由多个独立实体组成,并且彼此通过网络进行互联的数据库。

什么是分布式数据库? 

二、其特点是什么?

1、数据独立性。数据独立性是数据库方法追求的主要目标之一。在集中式数据库中,数据独立性包括两方面:数据的逻辑独立性和物理独立性。其意义在于程序和数据的逻辑结构和数据的存储结构无关。在分布式系统中,数据库独立性除了上面所说之外,还有数据分布独立性亦称分布透明性,即用户不必关心数据的逻辑分片,不必关心数据的物理位置分布的细节,也不必关心重复副本(冗余数据)的一致性问题。有了分布透明性,用户的应用程序书写起来就如同数据没有分布一样。在集中式数据库中,数据的独立性是通过系统的三级模式和它们之间的二级映象得到的。分布式数据库,分布透明性是由于引入新的模式和模式之间的映象得到的。

2、集中与自治相结合的控制结构。数据库是供用户共享的,在集中式数据库中,为保证数据的安全性和完整性,对数据库的控制是集中的。由数据库管理员(DBA)负责监督和维护系统的正常运行。

在分布式数据库中,数据的共享有两个层次:一是局部共享,即在局部场地上存储局部用户的共享数据。二是全局共享,即在分布式数据库的各个场地也存储可供网络中其他场地的用户共享的数据,支持全局引用。因此,相应的控制结构也具有两个层次:集中和自治。各局部的DBMS可以独立地管理局部数据库,具有自治的功能。同时,系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用。

3、适当增加数据冗余度。在集中式数据库中,尽量减少冗余度是系统目标之一。其原因是,冗余数据浪费存储空间,而且容易造成个副本之间的不一致性。减少冗余度的目标是用数据共享来达到的。而在分布式系统中却希望增加冗余数据,在不同的场地存储同一数据的多个副本。其原因是提高系统的可靠性和性能,当某一场地出现故障,系统可以对另一场地上的相同副本进行操作,不会造成系统的瘫痪。系统可以根据距离选择离用户最近的数据副本进行操作,减少通信代价。但是增加冗余会碰到集中式数据库同样的问题,即不利于更新,增加了系统维护代价,需要在这些方面作出权衡。

4、全局的一致性、可串行性和可恢复性。分布式数据库中各局部数据库应满足集中式数据库的一致性、可串行性和可恢复性。除此以外,还要保证数据库的全局一致性、可串行性和可恢复性。例如,在前面提到的银行转帐事务中,包括两个节点上的更新操作,当其中一个节点出现故障,应使全局事务回滚,在一个节点撤销已经执行的操作等。

其特点是什么?