学校时的分布式数据库读书笔记(3)

第一章 分布式数据库系统概述

1 基本概念

分布式数据库系统:物理上分散而逻辑上集中的数据库系统.

     物理上分散:指各站点分散在不同的地方,大可为不同国家,小可为同一建筑物的不同位置。

                           ------物理分布性

     逻辑上集中:指各站点之间不是互不相关的,它们是一个逻辑整体,并由一个统一的分布式数据库管理系统进行管理。

                           ------逻辑整体性

分布式数据库系统 =硬件+软件(OSCompiler,App.)

                      +DB(全局DB ,局部DB

                      +DBMS(全局DBMS ,局部DBMS

                      +DBA(全局DBA ,局部DBA

+用户(全局用户,局部用户)

同构型:如果各个站点上的数据库的数据模型都是同一数据模型的(例如都是关系型)的,则称为同构型分布式数据库系统。

同质型: 如果是同一种DBMS(例如有Oracle,DB2),则称为同质的,否称为异质的.

 

关系

对象

Oracle

DB2

 

分布式数据库系统和分散的数据库系统的区别?

如果用户既可以通过客户机对本地服务器中的数据库执行局部应用,也可以对两个或两个以上结点中的数据库执行全局应用,这样的系统是分布式数据库系统。不支持全局应用的系统不能称为分布式数据库系统,即只是分散的数据库系统。

2 基本原则

分布式系统应当看上去好像完全的非分布式系统一样。分布式结构只是系统的内部结构,而外部表现应该完全像一个集中式数据库一样。所有在关分布式的特征都封闭在系统内部(不透露给用户)。具体化为:

场地自治性(Local Autonomy)           

非集中式管理(NoReliance On Central Site)

高可靠性(Contiuous Operation)     (连续运行)

位置独立性(Location Transparency and Location Independence)

数据分割独立性(Fragmentation Independence)

数据复制独立性(Replication  Independence)

分布式查询处理(Distributed Query Processing)

分布式事务管理(Distributed Transaction Management)

硬件独立性(Hardware Independence)

操作系统独立性 (Operating System Independence)

网络独立性(Network Independence)

数据库管理系统独立性(DBMS Independence)

3 数据分片

数据分片(Data Fragmentation,亦称数据分割

------在分布式数据库中,全局数据库是由各个局部数据库逻辑组合而成,反之,各个局部数据库是由全局数据库的某种逻辑分割而得.

 

逻辑片段:分割后得到的各部分元组,存放在相应的站点上

        ------数据存放的单位

分片(割)方法:

    1 水平分片:按特定条件把全局关系的所有元组,分划成若干个互不相交的子集,每个子集位全局关系的一个逻辑片段。对全局关系施加选择运算

.

2 垂直分片:把全局关系的属性集分成若干个子集。对全局关系施加投影运算.

    3 混合分片:先水平分片再垂直分片,或先垂直分片再水平分片.

分片原则:

1.  完全性条件:全局关系的每一数据项必须在至少一个分片中

2.  重建性条件: 全局关系可从各分片中产生

3.  不相交条件:不同分片无公共数据(控制数据冗余)

位置透明性:全局关系分割为分片后,要把分片定位到各个节点上,使每一分片至少有一个节点地址。如果应用程序中不必包括数据的节点地址,称为系统的位置透明性,应用程序中只提供要访问的关系名或分片名,节点地址由系统从数据字典中查出。具有位置透明性的系统,分片在节点间有移动时只要改变数据字典中的登录数据,不影响应用程序的可用性。

 

实现位置透明时,数据字典中要有分片的地址信息,系统对数据操纵语句要作多复本处理:修改语句要自动地修改所有复本,查询语句要选择最合适的复本。  

全局关系的垂直分割是把属性分组,然后把关系投影到每一组得到各分片。这种方法适用于各节点有自已特殊属性的全局关系。

1 完全性条件:取所有节点的属性为全局关系的属性即满足

2 垂直分割方法的不相交条件和可重建条件是矛盾的

     ------因为全局关系是各分片的自然联接,可重建条件就是关系分解的无损性条件,即要满足投影联接依赖。例如在分解成两个分片时,只有这两个分片相交,且交集能多值决定任一分片时,全局关系才是可重建的。

     解决办法:有的系统中设有系统维护的元组标识,如ORACLErowid

(该元组标识可函数决定全局关系中所有属性,且对用户是透明的(可使用而不能修改),因此在这些系统中就用户定义的属性而言可以使垂直分割不相交且可重建,只要把全局关系的元组标识用作各分片的附加属性。)

数据分片的优点是:数据不是按照关系而是按片段来存放,有利于更好地根据用户需求来组织数据的分布,也有利于控制数据的冗余度。

4 数据分布

       所谓数据分布是指分布式数据库中的数据不是存储在一个站点的计算机存储设备上,而是根据需要将数据划分成逻辑片断,按某种方法将这些片断分散地存储在各个站点上。

分布透明性包括分片透明性、位置透明性和局部数据模型透明性。

1 分片透明性指用户或应用程序只对全局关系进行操作而不必考虑关系的分片。当分片模式改变了,由于全局模式到分片模式的映象,全局模式不变,应用程序不必改写。

2 位置透明性指用户或应用程序不必了解片段的存储场地,当存储场地改变了,由于分片模式到分布模式的映象,应用程序不必改变。同时,若片段的重复副本数目改变了,数据的冗余度改变了,用户也不必关心如何保持各副本的一致性,这就是重复副本的透明性。

3 局部数据模型透明性指用户或用户程序不必了解局部场地上使用的是哪种数据模型。

为什么会出现上述问题?

因为在分片策略上的问题和数据库系统的问题,设计表时我们就首先对其分片,选择水平或垂直或混合分配策略,然后选择站点存放。所以就出现了上述现象。不过根据系统字典这种现象应该可以解决。在设计时我们就建立对应的表。这样程序员使用表时可以建立最高的分布透明性。书中的例1.5就是典型示例。

5 小结

   本章主要介绍的是分布式数据库的基本概念。其中分片和分布是重要内容。因为不同的分片和分布策略,所以有不同的数据更新和查询对策。

 

 

 

你可能感兴趣的:(oracle,数据库,读书,存储,processing,compiler)