|
知识路径: > 数据库主流应用技术 > 数据库主流应用技术 > 数据库主流应用技术 > 分布式数据库 > 分布式数据库的体系结构 >
|
相关知识点:12个
|
|
|
|
数据分布是分布式数据库系统中的基本问题,解决好这个问题对提高分布式数据库系统的效率和性能有积极的作用。所谓数据分布是指在分布式环境中通过合理分布数据.提高数据操作自然并行度,以达到最好的执行效率的目的。在构建分布式数据库系统的运行环境时,必须考虑数据如何分布在系统的各个场地上,或者说,必须考虑构成分布式数据库系统的各个组成部分各自如何使用数据的问题。所以,在分布式数据库系统中,同样存在着分布式数据库的设计问题。数据分布就是讨论这个问题,它包括分布式数据库的逻辑划分和物理分配,以及用户对分布式数据库的划分或分配的感知程度(透明度)。
|
|
|
数据分布要研究的问题是在分布式数据库中,如何放置数据,从而使得相关数据之间的相对位置最佳。
|
|
|
如何分布数据,使它们的相对位置最佳,还需要考虑许多其他问题,例如:
|
|
|
(1)如果一个场地上的存储空间不够,无法存放要访问的所有数据时该怎么办?
|
|
|
|
(3)如何才能知道相对位置最佳的数据分布是否最大限度地利用了网络环境并行性?
|
|
|
对于数据分布问题,人们已经进行了大量的研究工作,其中主要的工作都是围绕着两方面进行的:“高效的数据划分问题”和“数据放置问题”。第一个方面是关于如何把数据划分开,使得使用率最高的数据能够被放置在性能最好的场地上。第二个方面是关于如何把已划分好的数据合理地放置在网络上以获得最好的执行效率,减少网络传输的数据量。数据的划分和放置是数据分布问题的两个方面,只解决其中任何一个都不能说是已经解决了数据分布问题。数据分布是分布式数据库的特征,解决数据分布的策略一般有以下几种:
|
|
|
(1)集中式:所有全局数据片段都安排在一个节点上。
|
|
|
这种分布策略把系统数据都存放在一个节点上,对数据的控制和管理都比较容易,数据的一致性和完整性能够得到保证。但是由于数据的检索和修改都必须通过这个节点,使得这个节点的负担过重,容易出现瓶颈。另外,系统对这个节点的依赖性也过多,一旦这个节点出现故障,将使整个系统崩溃,系统的可靠性就相对较差,为了提高系统的可靠性,该节点的设备就必须提高。
|
|
|
(2)分割式:所有全局数据有且只有一份,它们被分割成若干个逻辑片段,每个逻辑片段被分别指派在特定的节点上,可以说对全局数据进行了划分。
|
|
|
这种分布策略充分利用各个站点上的存储设备,数据的存储量大。在存放数据的各个节点可自治地检索和修改数据,发挥系统的并发操作能力。同时,由于数据是分布在多个节点上的,所以当某部分节点出现故障时,系统仍可运行,提高了系统的可靠性。对于全局查询和修改,所需的时间会比集中式长些,因为数据不在同一场地上,需要进行网络通信。
|
|
|
(3)复制式:全局数据有多个副本,每个站点上都有一个完整的数据副本。
|
|
|
采用这种策略的系统可靠性较高,响应速度快。数据库的恢复也较容易,可从任意的场地得到数据的副本。但是要保持各个站点上数据的同步修改,将要付出昂贵的代价。另外,整个系统的数据冗余很大,系统的数据容量也只是一个节点上数据库的容量。
|
|
|
(4)混合式:全部数据被分为若干个数据子集,每个子集被放在不同的节点上,但任何一个节点都没有保存全部的数据,根据数据的重要性决定各个数据子集副本的数量。
|
|
|
这种分布策略,兼顾了分割式和复制式的做法,也获得了二者的优点,它灵活性好,能提高系统的效率,但同时也包括了二者的复杂性。
|
|
|