首页 理论教育分布式数据库技术:设计目标与成果

分布式数据库技术:设计目标与成果

【摘要】:首先考虑分布式数据库设计的目标。在进行数据分布设计时,必须考虑如下目标。当网络传输速率和CPU处理速度相差很大时,本地化更重要。分布数据的可用性和可靠性:数据可用性越高,则要求数据的重复度越高。一般来说,数据存储的开销和CPU、I/O及传输开销不相干,但是必须考虑每个节点可用存储空间的限制。

首先考虑分布式数据库设计的目标。

在进行数据分布设计时,必须考虑如下目标。

(1)处理的本地化:数据分布应力求靠近应用,使绝大多数处理无需数据传输和远程访问即可就地实现,我们称之为本地化。远程访问越少越好是这一要求的结果。当网络传输速率和CPU处理速度相差很大时,本地化更重要。

(2)分布数据的可用性可靠性:数据可用性越高,则要求数据的重复度越高(对“只读”运算来说)。其实,可靠性也是与其相关的,数据副本越多,则可靠性越高。但有利也有弊,有收益也要付出代价,那就是对更新运算来说,副本越多,需更新的对象(副本)会越多,处理开销就越大。(www.chuimin.cn)

(3)负载均衡:将系统设计为负载均衡分配很重要。只有这样,才能让系统应用的并行执行程度提高。但是,由于负载均衡又与尽可能实施本地处理的要求相矛盾,所以现实处理中会尽量找到它们之间的一个折中点,然后采用之。

(4)存储开销和可用性:数据分布应当反映不同站点存储空间的开销和可用性。可能网络中有的节点比较适宜数据存储,反之,有的节点不支持大容量数据存储。所以设计时要考虑各个节点的优势与劣势。一般来说,数据存储的开销和CPU、I/O及传输开销不相干,但是必须考虑每个节点可用存储空间的限制。

根据上面的判断,同时满足它们很困难,原因是要求设计很复杂的优化模型。所以,比较合理的方式是将上述要求看成是限制而非目标,选用折中策略。同时,还可以先给出一个优化策略,然后进行后优化(postoptimization)。