分布式数据库管理系统
下面我们对当今日益重要起来的分布式数据库管理系统做一个简单的介绍,而对分布式数据库系统的体系结构、模式结构,分布式数据库系统的设计与实现,包括数据分片、功能分片、更新同步、查询处理与优化、分布事务管理和并发控制等技术细节,不作详细介绍。
- 什么是分布式数据库管理系统。什么样的数据库系统才算是分布式数据库系统呢?分布式数据库是由一组数据组成的,这些数据分布在计算机网络的不同节点(亦称场地)上,逻辑上是属于同一系统的。网络中的每个节点具有独立处理的能力(称为场地自治),可以执行局部应用。同时,每个节点也能通过网络系统执行全局应用。这个定义强调了以下几个方面:
-
分布性。数据库的数据不是存储在同一场地,更确切地讲,不存储在同一计算机的存储设备上。这是和集中式数据库相区别的。
-
场地自治性和自治场地之间的协作性。每个场地是独立的数据库系统:它有自己的数据库,自己的一组终端,自己的中央控制器,运行自己的局部 DBMS,执行局部应用,具有高度的自治。同时又相互协作组成一个整体, 这种整体性的含义是,对于用户来说,一个分布式数据库系统逻辑上看如同一个集中式数据库系统,用户可以在任何一个场地执行全局应用。如图 5.1。
图中的三台计算机,每台都有自己的数据库系统,三台计算机之间用网络相连。每台计算机有自己的若干终端,用户可以通过终端对本节点中的数据库执行某引起应用(局部应用),也可以通过终端对二个或二个以上节点中的数据库执行某些应用(全局应用或分布应用)。这样的系统是分布式数据库系统,而不支持全局应用的系统不能称为分布式系统。一个典型的全局应用的例子是银行转帐。这个应用要求从一个分行的帐户(DB1)中转若干到另一个分行的帐户(DB2)中去,因此要同时更新两个节点上的数据库。