分布式数据库系统作业

简介: 分布式数据库系统作业

写在最前面

这门课没学太明白,若有问题请批评指正(っ•̀ω•́)っ✎⁾⁾ ,鞠躬

分布式系统的基本概念

1. 什么不是分布式数据库系统

先对比分布式和集中式系统的区别。

分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。一系列具有自主计算单元的集合,这些集合对于用户就像是一个单个的统一的系统一样。

而集中式系统就是指由一台或多台主计算机组成中心节点,数据集中存储在这个中心节点中,并且整个系统的所有业务单元都集中部署在这个中心节点上,系统所有功能均有其集中处理。在集中式系统中,每个终端或客户端机器仅仅负责数据的录入和输出,而数据存储与控制处理完全由主机来完成。

再来细化分布式数据库系统。

分布式数据库系统 (DDBS)包含 分布式数据库管理系统(DDBMS)分布式数据库(DDB) ,是地理上分散而逻辑上集中的数据库系统。通过计算机网络将地理分散的各局域结点连接起来共同形成逻辑上统一的大数据库系统。

在分布式数据库系统中,一个应用程序可以对数据库进行透明操作,数据库中的数据分别在不同的局部数据库中存储、由不同的 DBMS进行管理、在不同的机器上运行、由不同的操作系统支持、被不同的通信网络连接在一起。是地理上分散而逻辑上集中的数据库系统。通过计算机网络将地理分散的各局域结点连接起来,共同形成逻辑上统一的大数据库系统。被连接的逻辑单位称为节点(node)或场地(site),节点/场地可以是单独一台计算机,也可以由局域网组成。

因此,集中式和分布式区分的关键在于——数据是否位于同一个节点/场地。

松耦合/紧耦合的多处理器系统

不是,因为分布式数据库系统不是多处理机系统。其中,松耦合多处理机系统看成是一个分布式计算机系统,但不是真正的分布式数据库系统。

处理机之间连接的紧密程度,可用处理机之间的距离及相互连接的信号线数目表示计算机网络与多机系统在耦合程度上有明显差别,按其耦合方式分为紧耦合和松耦合两种不同的系统结构。耦合系统是指通过电信号连接在一起的系统,或者说是一个共享硬件资源的系统。多机系统是紧耦合系统,计算机网络属于松耦合系统。

紧耦合多处理机系统,并行系统,又称为直接耦合系统。是通过一个共享的高速主存来实现处理机之间的联系的,各处理机与主存之间通过互连网络连接,处理机间的数据通信速率受限于主存的频宽,而处理机的个数受限于处理机——主存互连网络带宽以及多个处理机同时访问主存所引起冲突的概率。特点:多个处理器共享计算机总线、时间、内存和外设等。优势:增加吞吐量,节省资金,增加可靠性。

松耦合多处理机系统,也称为分布式存储器多处理机系统。是通过机间通信来实现处理机间联系的为减少访问存冲突,多处理机的主存宜采用多体交叉存取。松耦合多处理机系统,没有共享的高速主存,处理机数可以很多,但是要求任务之间的交互作用小,在这种情况可以把松耦合多处理机系统看成是一个分布式计算机系统。通过网络通信: TCP/IP,属于网络操作系统,没有真正意义上的分布式操作系统。

网络节点上的集中式数据库系统

不是,因为集中式数据库系统是基于服务器的系统,所有数据请求必须请求服务器这一个站点。而分布式数据库各节点除了可以全局使用外,还可单独使用。

2. 多数据库系统[1]

多数据库系统基于无缝集成多种数据源的体系结构,应用当前的最新技术使不同数据源的语法(结构化)、语义(查询语言)能实现不同数据源之间的互操作,使得全局模式多数据库系统能完全透明地访问各成员数据库系统中的数据。是一种集成多个异构数据源、实现信息共享的有效方法,以适应人们及时获取更多更新更全面数据的需要。

3. 网格数据库[2]

把数据库技术和网格技术相结合产生的一个新型数据库,是对现有数据库的网格化。网格数据库使网格用户或其他网格服务可通过网格数据库服务访问网格中的各种异构数据库,从而达到数据资源的高度共享和协同处理,对数据资源的访问更加透明、高效、可靠,同时使得网格数据处理的能力更强,以满足虚拟组织的数据处理需求。

有两个原因使得在网格上使用数据库系统成为必需: 第一是很多网格应用使用了结构化的数据,例如,生命科学研究和地球科学研究,又如在绝大多数的商业应用中已经部署了数据库系统; 第二是网格本身也使用很多结构化的数据来实现其运行和管理。

4. 数据库网格[3]

数据库网格是一个面向网格的数据库资源管理平台,旨在为实现现有大量位于Internet后台的数据库资源的共享提供一个可接入的环境,为网格应用提供基础结构级的数据库资源访问、发现、整合等一系列问题的通用解决方案。数据库网格基于一套数据库网格协议,这些协议描述了数据库参与的网格活动的交互时序,共同定义了网格环境下数据库资源的共享规则。

5. 并行数据库系统[4]

并行数据库系统,在多处理器上运行的数据库系统。并行数据库系统是在大规模并行计算机或机群并行计算环境的基础上建立的数据库系统。并行数据库系统的内容主要包括:

1.关系查询的并行性

由于关系代数的封闭性和数据操作的相对独立性,关系查询具有三种固有并行性:数据操作间的流水线并行性(pipeliningparallelism)、数据操作间的独立并行性(interoperatorparallelism)及单数据操作内的并行性(intraoperatorparallelism)。

2.并行计算结构(硬件)

并行数据库系统有三种并行计算结构:(1)共享主存储器(sharedmemory,SM)结构;(2)共享磁盘(shareddisk,SD)结构;(3)无共享资源(sharednothing)结构

3.并行数据库系统软件

并行数据库系统软件由四层软件组成:(1)用户界面层;(2)并行查询处理层;(3)并行关系代数层;(4)并行记录管理层。

6. P2P数据库系统

P2P数据库系统指的是分布式数据库系统的体系架构,其中P2P指的是全分布式,另外两类是客户/服务器分布以及非分布。P2P(Peer-to-Peer)即对等网技术,近年来随着许多P2P系统的成功应用引起了人们对P2P技术的研究的热潮。P2P网络是没有任何集中控制的分布式系统,系统中每个结点既是客户机又是服务器,它们在功能上是等同的。与传统的客户机/服务器模型不同,P2P系统中的文件不是存储在集中的服务器上而是存储在分散的终端结点上,文件直接在终端结点间进行传输。

在P2P系统里,不存在客户端和服务器端机器这样的差别。每台机器具备完整的DNMS功能,同时可以和其他机器通行以完成查询和十五的执行。非常早期的分布式数据库系统的发部分工作都是基于P2P的体系架构的。

7. 数据库集成系统[5]

数据库集成系统一般指的是异构数据库集成系统。数据库的异构性包括以下三个方面:系统异构、数据模型异构和逻辑异构。

(1)系统异构是指硬件平台、操作系统、并发控制、访问方式和通信能力等的不同‚具体细分为:①计算机体系结构的不同‚即数据可以分别存在于大型机、小型机、工作站、PC机或嵌入式系统等。②操作系统的不同‚即数据的操作系统可以是Windows、UNIX、IBM0S/2、Macintosh、Linux等。③开发语言的不同‚例如C、C++、java等。④网络平台的不同‚例如Ethernet(以太网)、FDDI(光纤分布式数据接口)、ATM(异步传输模式)、TCP/IP(传输控制/网际协议)、IPX/SPX(NO-Vell开发的通信协议)等

(2)数据模型异构则是指数据库管理系统本身的不同。例如数据交换系统可以是同为关系数据库系统的Orcale、SQLServer等作为数据模型,也可以是不同数据模型的数据库。例如关系、层次、网络、面向对象或函数型数据库等。

(3)逻辑异构则包括命名异构、值异构、语义异构和模式异构等。例如语义的异构具体表现在相同的数据形式表示不同的语义或者同一语义由不同形式的数据表示等。

8. 联邦数据库系统[6、7、8]

联邦数据库系统是由多个自治数据库系统构成。联邦各自治数据库数据源之间相互提供访问接口相互分享数据。一个自治数据库系统可以加人若干个联邦数据库系统而每个自治数据库系统的管理可以是集中式的,也可以是分布式的。或者本身就是另一个联邦数据库系统。在这种模式下又分为紧耦合式和松耦合式两种情况。紧耦合提供统一的访问模式,一般是静态的,但在增加数据源上比较困难;而松耦合式则不提供统一的接口,虽可以通过统一的语言访问数据源,但必须解决所有数据源语义上的问题。

联邦数据库集成系统适合于自治数据库数量比较小的情况,而且希望数据库能够保持“独立”,允许用户单独查询,数据库间能够彼此联合回答查询的情况。由于缺乏必要的标准,特别是大规模全局优化查询计划的构造十分困难,所以在联邦数据库系统只能在一定的限制条件(如对加入联邦系统的数据库管理系统和各数据库管理系统间的互操作加一定的限制)下实现,难以实现对各种数据源灵活的数据集成。因此,联邦式数据库系统的通用性比较差。

9. 云数据库系统[9、10、11]

云数据库是在软件即服务(SaaS)不断发展下新兴的一种软件服务,数据库即服务(DBaaS)。相比于传统数据库,云数据库具备了云计算按需分配、动态扩容、免维护管理、低价高可用等优点。

云数据库是指被部署或优化到云环境的数据库,使用起来非常方便,用户不仅可以通过web页面对数据库进行操作和配置,还可以按照需要扩展数据库的web服务,对数据库进行备份和恢复。另外在高校有多个部门,可能面临着多个数据库,云环境可以将这些数据库进行整合存储,使用起来更方便快捷,效率更高,同时经济成本会更低。

云数据类似于数据库中的二维表,对于传统关系数据库如果进入云数据库,就需要提交有效地链接字符串。目前,随着互联网技术的提高,云数据库产品越来越多,应用的范围也非常广泛。在未来云数据库是互联网发展的重要影响因素。

目前,通信运营商运用BSS系统承载数据信息资源。随着通信业务的不断增长,通信的数据掌控能力逐步变弱。如果通信在全国集中实现BSS就会使运营商的数据环境接近极限。为了解决这个问题,通信通营商也在不断寻求解决办法。目前,还不能在全国实现BSS系统。

参考文献

[1]张朝阳,宁洪,王挺,郭超. 多数据库系统查询计划优化研究[A]. 中国电子学会信息论分会、昆明理工大学信息工程与自动化学院.2009年研究生学术交流会通信与信息技术论文集[C].:中国电子学会信息论分会,2009:6.

[2]陈兵,王备战,洪清启,魏翩翩. 基于SOA的网格数据库集成模型[A]. 中国计算机学会数据库专业委员会.第二十四届中国数据库学术会议论文集(技术报告篇)[C].中国计算机学会数据库专业委员会:中国计算机学会数据库专业委员会,2007:4.

[3]吴校军,吴朝晖,陈华钧,黄昶. 数据库网格的数据迁移协议[A]. 中国计算机学会数据库专业委员会.第二十一届中国数据库学术会议论文集(技术报告篇)[C].中国计算机学会数据库专业委员会:中国计算机学会数据库专业委员会,2004:3.

[4]杨利,周兴铭,郑若忠.并行数据库系统的体系结构[J].计算机科学,1994(04):42-47.

[5]李运娣,冯勇.分布非结构化P2P网络资源定位研究[J].计算机工程与应用,2007(06):156-158.

[6]徐爱萍,宋先明,徐武平.分布式异构数据库集成系统研究与实现[J].计算机工程与科学,2015,37(10):1909-1916.

[7]袁国骏.浅析异构数据库集成系统[J].实验室科学,2009(04):105-107.

[8]乐鑫喜,刘清.异构数据库集成系统的设计与实现[J].计算机工程与应用,2005(27):174-177.

[9]李德泉,何文春,阮宇智,刘一鸣.气象实时数据库服务监控系统设计与实现[J].成都信息工程学院学报,2012,27(02):147-152.

[10]庄彦,未培.基于云数据库的大学生健康档案管理系统的设计与实现[J].辽宁科技学院学报,2016,18(01):17-19.

[11]孙凤文,张婷.BSS系统应用云数据库和云计算技术[J].数字通信世界,2018(12):60.

目录
相关文章
|
2天前
|
存储 安全 数据管理
新型数据库技术:基于区块链的分布式数据存储系统
传统数据库系统面临着中心化管理、数据安全性和可信度等方面的挑战。本文介绍了一种基于区块链技术的新型数据库系统,通过分布式存储和去中心化的特性,提高了数据的安全性和可信度,同时实现了高效的数据管理和共享。该系统在多个领域如金融、医疗和物联网等具有广阔的应用前景。
|
2天前
|
关系型数据库 MySQL 分布式数据库
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
202 2
|
2天前
|
存储 分布式计算 大数据
HBase分布式数据库关键技术与实战:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析了HBase的核心技术,包括数据模型、分布式架构、访问模式和一致性保证,并探讨了其实战应用,如大规模数据存储、实时数据分析及与Hadoop、Spark集成。同时,分享了面试经验,对比了HBase与其他数据库的差异,提出了应对挑战的解决方案,展望了HBase的未来趋势。通过Java API代码示例,帮助读者巩固理解。全面了解和掌握HBase,能为面试和实际工作中的大数据处理提供坚实基础。
54 3
|
2天前
|
存储 分布式计算 监控
Hadoop【基础知识 01+02】【分布式文件系统HDFS设计原理+特点+存储原理】(部分图片来源于网络)【分布式计算框架MapReduce核心概念+编程模型+combiner&partitioner+词频统计案例解析与进阶+作业的生命周期】(图片来源于网络)
【4月更文挑战第3天】【分布式文件系统HDFS设计原理+特点+存储原理】(部分图片来源于网络)【分布式计算框架MapReduce核心概念+编程模型+combiner&partitioner+词频统计案例解析与进阶+作业的生命周期】(图片来源于网络)
140 2
|
2天前
|
算法 Go 分布式数据库
构建高可用的分布式数据库集群:使用Go语言与Raft共识算法
随着数据量的爆炸式增长,单一数据库服务器已难以满足高可用性和可扩展性的需求。在本文中,我们将探讨如何使用Go语言结合Raft共识算法来构建一个高可用的分布式数据库集群。我们不仅会介绍Raft算法的基本原理,还会详细阐述如何利用Go语言的并发特性和网络编程能力来实现这一目标。此外,我们还将分析构建过程中可能遇到的挑战和解决方案,为读者提供一个完整的实践指南。
|
2天前
|
存储 Cloud Native 关系型数据库
PolarDB-X 是面向超高并发、海量存储和复杂查询场景设计的云原生分布式数据库系统
【5月更文挑战第14天】PolarDB-X 是面向超高并发、海量存储和复杂查询场景设计的云原生分布式数据库系统
30 2
|
2天前
|
存储 Java 分布式数据库
【分布式计算框架】HBase数据库编程实践
【分布式计算框架】HBase数据库编程实践
12 1
|
2天前
|
存储 NoSQL 大数据
分布式数据库有哪几种
数据库的发展从早期的单机数据库,到现在的分布式数据库。在单机数据库时代,所有的数据都存储在单机中,随着计算机技术的发展,开始出现了多台计算机联合处理数据的需求,从而诞生了分布式数据库。
|
2天前
|
存储 负载均衡 Go
【Go 语言专栏】使用 Go 语言实现分布式数据库操作
【4月更文挑战第30天】本文探讨了使用Go语言实现分布式数据库操作,强调其在并发性能、网络编程、语法简洁和跨平台性上的优势。关键技术和步骤包括数据分片、数据同步、负载均衡及故障转移。通过实例分析和挑战解决,展示了Go语言在大规模数据处理中的高效与可靠性,为开发者提供指导。
|
2天前
|
SQL 监控 关系型数据库
TiDB 分布式数据库快速入门详解
这些示例展示了TiDB的一些基本操作。实际使用时,你可能需要根据具体的业务需求和环境进行调整和优化。