首页 理论教育分布式数据库设计技术

分布式数据库设计技术

【摘要】:图3.1软件开发过程数据库设计的过程与软件开发的过程类似。下面先来看一下集中式数据库设计的情况。在分布式数据库系统中,集中式数据库设计的问题依然存在,且有以下两个新的问题需要考虑。这个过程就是确定如何将全局关系划分成水平、垂直或者混合的数据片。数据片的分配,即决定数据片如何映射到物理镜像上,决定如何复制数据片。数据片的分配问题则研究已久,当然,过去研究的则是“文件分配”问题。

前面介绍的是计算机三大核心应用中的数据处理应用需求。信息系统是数据处理应用中的核心和典型。信息系统的开发和建设涉及其对应的客观环境动态活动的管理和静态状态的描述,前者反映了应用程序的设计开发,后者反映了数据库设计与数据加载等问题。

具体来说,数据库设计与数据加载是信息系统投入应用时的两个重要步骤。

数据库设计既是一个方法学问题,也是一个软件工程问题。

软件开发过程是提出问题和解决问题的过程,我们可以用图3.1进行说明。软件开发需要的四个典型步骤是:问题定义→建模→软件设计→应用。这里的箭头表示步骤的相继关系。

图3.1 软件开发过程

数据库设计的过程与软件开发的过程类似。

下面先来看一下集中式数据库设计的情况。集中式数据库设计的过程可以分为以下两步。

(1)设计概念模式。其主要工作是对数据库应用涉及的所有数据进行描述,对应于图3.1中的建模。(www.chuimin.cn)

(2)设计物理数据库(physical database)。也就是把概念模式映射到存储空间,确定恰当的存取方法,对应于图3.1中的软件设计。

在分布式数据库系统中,集中式数据库设计的问题依然存在,且有以下两个新的问题需要考虑。

(1)数据分片设计。这个过程就是确定如何将全局关系划分成水平、垂直或者混合的数据片。

(2)数据片的分配,即决定数据片如何映射到物理镜像上,决定如何复制数据片。

这两步纯粹是基于分布式特征的,是新增加的过程。

数据分片设计不只是现在才开始研究的,在集中式数据库中,物理存储的效率、利用率等也会研究分片问题。数据片的分配问题则研究已久,当然,过去研究的则是“文件分配”问题。

这两个问题从概念上看是相关的:一个是处理逻辑准则,一个是处理物理位移。因此,独立处理是无法得到最佳分片和最佳分配的,因为两者是相互关联的。