高级数据库系统

常用的高级数据库系统主要有分布式数据库系统、面向对象数据库系统、并行数据库系统和多媒体数据库系统。

1.分布式数据库系统

1.1 分布式数据库系统的概念

分布式数据库由一组数据组成,这组数据分布在计算机网络的不同计算机上,网络中的每个结点具有独立处理的能力(称为场地自治),可以执行局部应用。同时,每个结点也能通过网络通信子系统执行全局应用(指涉及两个或两个以上场地中数据库的应用)。区分一个系统是分散式还是分布式,就是判断系统是否支持全局应用。

分布式数据库系统包括两个重要的组成部分,即分布式数据库和分布式数据库管理系统。

分布式数据库是计算机网络互不干涉各场地上数据库的逻辑集合,逻辑上属于同一系统,而物理上分布在计算机网络的各个不同的场地上,需要强调的是数据的分布性和逻辑的整体性。

分布式数据库管理系统是分布式数据库系统中的一组软件,它负责管理分布环境下逻辑集成数据的存取、一致性、有效性和完备性。同时,由于数据的分布性,在管理机制上还必须具有计算机网络通信协议上的分布管理特性。

分布式数据库系统的目标主要包括技术和组织两方面,具体如下:

(1)适应部门分布的组织结构,降低费用。

(2)提高系统的可靠性和可用性。

(3)充分利用数据库资源,提高现有集中式数据库的利用率。

(4)逐步扩展处理能力和系统规模。

1.2分布式数据库系统的特点

分布式数据库系统具有以下特点:

1)数据独立性

在分布式数据库系统中,数据独立性这一特性更加重要,并具有更多的内容。除了数据的逻辑独立性与物理独立性以外,还有数据分布独立性(分布透明性)。分布透明性是指用户不必关心数据的逻辑分片,不必关心数据物理位置分布的细节,也不必关心重复副本一致性问题,同时不必关心局部场地上数据库支持哪种数据模型。因此,分布透明性应包括分片透明性、位置透明性和局部数据模型透明性3个层次。

2)集中与自治相结合的控制结构

各局部的DBMS可以独立地管理局部数据库,具有自治的功能;同时,系统又设有集中控制机制,协调各局部DBMS的工作,执行全局应用。

3)适当增加数据冗余度

在不同的场地存储同一数据的多个副本,这样可以提高系统的可靠性、可用性,同时也能提高系统的性能。

4)全局的一致性、可串行性和可恢复性

分布式数据库系统中的各局部数据库应满足集中式数据库的一致性、并发事务的可串行性和可恢复性,还应保证数据库的全局一致性、全局并发事务的可串行性和系统的全局可恢复性。

1.3 分布式数据库系统的体系结构

典型的分布式数据库系统的体系结构如图1-9所示。

1)分片模式

在图1-9中,分片模式是指每一个全局关系可以分为若干不相交的部分,每一部分称为一个片段。分片模式定义片段及全局关系到片段的映像,一个全局关系可以对应多个片段,而一个片段只来自一个全局关系。分片的方式有很多种,常用的是水平分片、垂直分片、导出分片和混合分片。


水平分片是指按一定的条件将关系按行分为若干互不相交的子集。

垂直分片是指将关系按列分为若干子集,垂直分片的各片段必须包含关系的码。

导出分片是指导出水平分片,即水平分片的条件不是本身属性的条件,而是其他关系的属性的条件。例如,对于学生选课关系(学号,课号,成绩),按照学生年龄大于20岁和小于等于20岁来分片,则为导出分片。

混合分片是指将按照上述3种分片方式之一得到的片段继续按另一种方式分片。

2)分布模式

分布模式可以定义片段的存放结点。分布模式的映像确定了分布式数据库是冗余的还是非冗余的。若映像是一对多的,即一个片段可分配到多个结点上存放,则是冗余的分布式数据库;若映像是一对一的,则是非冗余的分布式数据库。

由于分布模式到各局部数据库的映像(映像4)把存储在局部场地的全局关系或全局关系的片段映像成为各局部概念模式,局部概念模式采用局部场地DBMS所支持的数据模型。分片模式和分布模式都是全局的。分布式数据库系统中增加的这些模式和相应的映像使分布式数据库系统具有分布透明性。

2.面向对象数据库系统

面向对象数据库系统(ObjectOriented DataBase System,OODBS)是数据库技术与面向对象程序设计方法相结合的产物。

对于OO(ObjectOriented,面向对象)数据模型和面向对象数据库系统的研究主要体现在以下几个方面:研究以关系数据库和SQL为基础的扩展关系模型;以面向对象的程序设计语言为基础,研究持久的程序设计语言,支持OO 模型;建立新的面向对象数据库系统,支持OO数据模型。

面向对象程序设计方法是一种支持模块化和软件重用的实际可行的编程方法。它把程序设计的主要活动集中在建立对象和对象之间的联系(或通信)上,从而完成所需要的计算。

一个面向对象的程序就是相互联系(或通信)的对象集合。面向对象程序设计的基本思想是封装和可扩展性。

面向对象数据库系统支持面向对象数据模型(OOD模型),即面向对象数据库系统是一个持久的、可共享的对象库的存储和管理者;而一个对象库是由一个OOD模型所定义的对象的集合体。

一个OOD模型是用面向对象观点来描述现实世界实体(对象)的逻辑组织、对象之间限制、联系等的模型。一系列面向对象核心概念构成了OOD模型的基础。OODB语言用于描述面向对象的数据库模式,说明并操纵类定义与对象实例。OODB语言主要包括对象定义语言(ODL)和对象操纵语言(OML),对象操纵语言中的一个重要子集是对象查询语言(OQL)。OODB语言一般应具备下列功能。

(1)类的定义与操纵:面向对象数据库语言可以操纵类,包括定义、生成、存取、修改与撤销类。其中,类的定义包括定义类的属性、操作、继承性与约束等。

(2)操作/方法的定义:面向对象数据库语言可用于对象操作/方法的定义与实现.在操作实现中,语言的命令可用于操作对象的局部数据结构.对象模型中的封装性允许操作/方法由不同程序设计语言来实现,并且隐藏不同程序设计语言实现的事实。

(3)对象的操纵:面向对象数据库语言可用于操纵(即生成、存取、修改与删除)实例对象。

对象—关系数据库系统将关系数据库系统与面向对象数据库系统两方面的特征相结合。对象—关系数据库系统除了具有原有关系数据库的各种特点以外,还应该具有以下特点:

(1)扩充数据类型,例如可以定义数组、向量、矩阵、集合等数据类型,以及在这些数据类型上的操作。

(2)支持复杂对象,即由多种基本数据类型或用户定义的数据类型构成的对象。

(3)支持继承的概念。

(4)提供通用的规则系统,大大增强对象—关系数据库的功能,使之具有主动数据库和知识库的特性。

3.并行数据库系统

3.1 并行数据库的概念

并行数据库系统是在并行机上运行的具有并行处理能力的数据库系统。并行数据库系统是数据库技术与并行计算技术相结合的产物。

并行计算技术利用多处理机并行处理产生的规模效益来提高系统的整体性能,为数据库系统提供了一个良好的硬件平台。研究和开发适用于并行计算机系统的并行数据库系统成为数据库学术界和工业界的研究热点,并行处理技术与数据库技术相结合形成了并行数据库新技术。

并行处理技术与数据库技术的结合具有潜在的并行性。关系数据模型本身就有极大的并行性。在关系数据模型中,数据库是元组的集合,数据库操作实际上是集合操作,在许多情况下可分解为一系列对子集的操作,许多子操作不具有数据相关性,因而具有潜在的并行性。一个并行数据库系统应该实现如下目标。

(1)高性能:并行数据库系统通过将数据库管理技术与并行处理技术有机结合,发挥多处理机结构的优势,从而提供比相应的大型机系统高得多的性能价格比和可用性。

(2)高可用性:并行数据库系统可通过数据复制来增强数据库的可用性。

(3)可扩充性:数据库系统的可扩充性指系统通过增加处理和存储能力平滑地扩展性能的能力。

2.2 并行数据库的结构

从硬件结构来看,根据处理机与磁盘及内存的相互关系可以将并行计算机分为3种基本的体系结构。并行数据库系统研究一直以3种并行计算结构为基础,即共享内存结构(SM 结构)、共享磁盘结构(SD结构)和无共享资源结构(SN 结构)。

1)SM 结构

SM 结构由多个处理机、一个共享内存和多个磁盘存储器构成。多处理机和共享内存由高速通信网络连接,每个处理机可直接存取一个或多个磁盘,即所有内存与磁盘为所有处理机共享.SM 结构如图1—10所示。

SM 结构的优势在于实现简单和负载均衡,但是这种结构的系统由于硬件成员之间的互连很复杂,成本较高。由于访问共享内存和磁盘会成为瓶颈,为了避免访问冲突增多而导致系统性能下降,结点数目必须限制在100个以下,因此可扩充性比较差。另外,内存的任何错误都将影响到多个处理机,系统的可用性不是很好。


2)SD结构

SD结构由多个具有独立内存的处理机和多个磁盘构成.每个处理机都可以读/写任何磁盘。多个处理机和磁盘存储器由高速通信网络连接。SD结构如图1—11所示。

SD结构具有成本低、可扩充性好、可用性强,容易从单处理机系统迁移,以及负载均衡等优点。该结构的不足在于实现起来复杂,以及存在潜在的性能问题。

3)SN 结构

SN 结构由多个处理结点构成.每个处理结点具有自己独立的处理机、内存和磁盘存储器。多个处理结点由高速通信网络连接。SN 结构如图1—12所示。

在SN 结构中,由于每个结点可视为分布式数据库系统中的局部场地(拥有自己的数据库软件),因此分布式数据库设计中的多数设计思想(例如数据分片、分布事务管理和分布查询处理等)都可以借鉴。SN 结构成本较低,它最大限度地减少了共享资源,具有极佳的可伸缩性,结点数目可达数千个,并可获得接近线性的伸缩比,而通过在多个结点上复制数据又可实现高可用性。SN 结构的不足之处在于实现复杂,以及结点负荷难以均衡,往往只是根据数据的物理位置而不是系统的实际负载来分配任务。并且,系统中新结点的加入将导致重新组织数据库以均衡负载。

4.多媒体数据库系统

多媒体数据库是指多媒体技术与数据库技术相结合产生的一种新型的数据库。所谓多媒体数据库,是指数据库中的信息不仅涉及各种数字、字符等格式化的表达形式,而且还包括多媒体非格式化的表达形式.数据管理要涉及各种复杂对象的处理。

在建立多媒体应用环境时必须考虑以下几个关键问题:确定存储介质、确定数据传输方式、确定数据管理方式和数据资源的管理。

多媒体数据库与传统的数据库有较大的差别,主要表现如下。

(1)处理的数据对象、数据类型、数据结构、数据模型和应用对象都不同,处理的方式也不同。

(2)多媒体数据库存储和处理复杂对象,其存储技术需要增加新的处理功能,例如数据压缩和解压。

(3)多媒体数据库面向应用,没有单一的数据模型适应所有情况,随应用领域和对象建立相应的数据模型。

(4)多媒体数据库强调媒体独立性,用户应最大限度地忽略各媒体之间的差别,实现对多种媒体数据的管理和操作。

(5)多媒体数据库具有更强的对象访问手段,例如特征访问、浏览访问、近似性查询等。一般数据库描绘现实世界是分两个阶段来完成的:首先将现实环境中的概念模型化,建立概念模型,然后在概念模型的基础上将其转化成计算机支持的逻辑表示模型和物理表示模型。在实际应用中,多媒体的建模方法有多种,常见的有以下几种方法。

(1)扩充关系模型:一种最简单的方法是在传统的关系模型基础上引入新的多媒体数据类型,以及相应的存取和操作功能。

(2)语义模型:语义数据模型的目标是提供更自然的处理现实世界的数据及其联系,它在实体的表示、相互之间联系、抽象等机制上进行语义描述。

(3)对象模型:面向对象的方法最适合描述复杂对象,引入了封装、继承、对象、类等概念,可以有效地描述各种对象及其内部结构和联系。

多媒体数据库管理系统能实现多媒体数据库的建立、操作、控制、管理和维护,能将声音、图像、文本等各种复杂对象结合在一起,并提供各种方式检索、观察和组合多媒体数据,实现多媒体数据共享.多媒体数据库管理系统的基本功能应包括以下几点。

(1)能表示和处理复杂的多媒体数据,并能较准确地反映和管理各种媒体数据的特性和各种媒体数据之间的空间或时间的关联,能为用户提供定义新的数据类型和相应操作的能力。

(2)能保证多媒体数据库的物理数据独立性、逻辑数据独立性和多媒体数据独立性。

(3)提供功能更强大的数据操纵,例如非格式化数据的查询、浏览功能,对非格式化数据的一些新操作,图像的覆盖、嵌入、裁剪,声音的合成、调试等。

(4)提供网络上分布数据的功能,对分布于网络不同结点的多媒体数据的一致性、安全性、并发性进行管理。

(5)提供系统开放功能,提供多媒体数据库的应用程序接口。

(6)提供事务和版本的管理功能。

多媒体数据库涉及的主要技术如下。

①多媒体数据模型。.

②多媒体数据的索引、检索、存取和组织技术。

③多媒体查询语言。

④多媒体数据的聚簇、存储、表示和传输支持技术。

⑤多媒体数据库系统的标准化工作。

1.4 高级数据库系统相关推荐

  1. 《高级数据库系统》学习笔记

    前言: 文本为根据学堂在线 xuetangx.com 的<高级数据库系统>课程的学习视频与讲义,以及习题整理得到的,主要用于概念梳理和(针对本人的)重难点摘录.仅供交流学习用途,如有遗漏或 ...

  2. 分布式数据库系统基本概念

    分布式数据库系统的产生及定义 产生原因: ➢经济的发展 ➢计算机硬件环境及网络的发展 发展历程: ➢产生于20世纪70年代末期,成长于80年代. ➢第一个分布式数据库系统SDD 1是美国计算机公司( ...

  3. 计算机科学与技术python方向_专业解读丨计算机科学与技术

    计算机科学与技术(Computer Science and Technology)是国家一级学科,下设信息安全.软件工程.计算机软件与理论.计算机系统结构.计算机应用技术.计算机技术等专业.主修大数据 ...

  4. 源来是你-Vol.38 | 浪潮开务数据库招人辣!准备好加入幸福感爆棚的KW家族了么?...

    KW 家族又双叒叕诚挚邀请大家入伙啦!在这里,你可以坐拥舒适优雅的工作环境,携手和蔼可亲的同袍战友,共创数据库美好未来! 01 数据库存储内核研发工程师 工作职责: 负责存储子系统的研发路线规划.架构 ...

  5. 探秘Hadoop生态6:Hive技术初探与实践入门

    数据仓库_总结 一,数据类型 数据储存库将包括关系数据库.数据仓库.事务数据库.高级数据库系统.一般文件.数据流和万维网.高级数据库系统包括对象-关系数据库和面向特殊应用的数据库,如空间数据库.时间序 ...

  6. 推荐 :数据科学与大数据技术专业特色课程研究

    在我国,数据科学与大数据技术专业的建设已成为新的热点话题.在系统调研世界一流大学数据科学专业建设现状的基础上,从特色课程视角重点分析加州大学伯克利分校.约翰·霍普金斯大学.华盛顿大学.纽约大学.斯坦福 ...

  7. python考研选什么专业好就业_人工智能考研专业就业怎么样 哪些院校开设人工智能专业...

    人工智能:即Artificial Intelligence,简称AI,是一门极富挑战性的科学从事这项工作的人必须懂得计算机.心理学和哲学知识,它由不同的领域组成,如机器学习,计算机视觉等等.,中公考研 ...

  8. 2022年,计算机保研er选择计科还是软工?

    写在前面 对于计算机专业的保研er来说,专业/方向的选择是一个比较容易让大家感到困惑的问题.在如此激烈的保研之战中,选择的方向不同,夏令营的整个过程可能会是另一种体验,最终的结果也会不同.之前岛主给大 ...

  9. 软件工程与计算机科学的区别

    计算机科学与技术和软件工程区别为:涉及领域不同.软硬件不同.就业领域不同. 一.涉及领域不同 1.计算机科学与技术:涉及大数据技术导论.数据采集与处理实践(Python).Web前/后端开发.统计与数 ...

最新文章

  1. 如何优化Golang中重复的错误处理
  2. 部署SAP HANA之前你需要知道的那些事
  3. 面试时被问到「有没有职业规划时」,要怎么回答?
  4. java13 InputStream,Reader
  5. linux 修改默认路径吗,linux中vsftp修改默认路径
  6. 防火墙高可用性(HA)
  7. Java多线程学习三:有哪几种实现生产者消费者模式的方法
  8. Spring Boot 应用上传文件时报错
  9. 微信无法打开xlsx文件_微信电脑版接收的文件打不开怎么办?解决方法
  10. 小程序点击图片全屏播放视频
  11. Rust的各种花式汇编操作
  12. 大数据查询怎么优化?
  13. TouchGFX如何校准电阻触摸屏
  14. android语言、名称与资源对应关系
  15. 习题2_2、韩信点兵
  16. PSP游戏开放环境的建立
  17. django基于python的平南盛世名城小区疫情防控系统--python-计算机毕业设计
  18. Vin码查询车辆详细信息
  19. win10自动修复重启,无法开机「完美解决」
  20. 27岁,今年研究生上岸,有什么忠告可以给我的?

热门文章

  1. 显卡测试软件3d mark,AllBenchmark(3D显卡测试工具)1.3 免费版
  2. MYSQL SELECT INTO临时表
  3. 基于FPGA的图像边缘检测系统设计
  4. 【Carsim学习】Carsim与Simulink关联问题的解决
  5. 在微信小程序中如何引入iconfont
  6. I2C 子系统(三):I2C Driver
  7. MDM 主数据管理的必要性
  8. AB 测试中12个常见误区
  9. 深圳Web前端学习:5G对Web前端发展的影响--千锋
  10. DM8168 IPNC Boa移植