第3章分布式文件及数据库系统

上传人:ni****g 文档编号:568543245 上传时间:2024-07-25 格式:PPT 页数:71 大小:1.45MB
返回 下载 相关 举报
第3章分布式文件及数据库系统_第1页
第1页 / 共71页
第3章分布式文件及数据库系统_第2页
第2页 / 共71页
第3章分布式文件及数据库系统_第3页
第3页 / 共71页
第3章分布式文件及数据库系统_第4页
第4页 / 共71页
第3章分布式文件及数据库系统_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《第3章分布式文件及数据库系统》由会员分享,可在线阅读,更多相关《第3章分布式文件及数据库系统(71页珍藏版)》请在金锄头文库上搜索。

1、分布式文件及数据库系统分布式文件及数据库系统第第3 3章章3.1.1 什么是分布式文件系统什么是分布式文件系统通过通过 DFS,可以使分布在多个服务器上的共享,可以使分布在多个服务器上的共享文件在用户面前显示时,就如同位于网络上的文件在用户面前显示时,就如同位于网络上的一个位置。用户在访问文件时不再需要知道和一个位置。用户在访问文件时不再需要知道和指定所有服务器的实际物理位置。指定所有服务器的实际物理位置。 分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。另外,对等特性允许一些系统扮演客户机和服务器的双重角色。3.1.2 三种基本类型三种基本类型1、

2、网络文件系统、网络文件系统(NFS) NFS最早由Sun微系统公司作为TCP/IP网上的文件共享系统开发。Sun公司估计现在大约有超过310万个系统在运行NFS,大到大型计算机、小至PC机,其中至少有80%的系统是非Sun平台。网络文件系统是个分布式的客户机/服务器文件系统。NFS的实质在于用户间计算机的共享。用户可以联结到共享计算机并象访问本地硬盘一样访问共享计算机上的文件。管理员可以建立远程系统上文件的访问,以至于用户感觉不到他们是在访问远程文件。NFS的客户机和服务器部分的功能的客户机和服务器部分的功能(1 1)服务器目录共享服务器目录共享服务器广播或通知正在共享的目录,一个共享目录通常

3、叫做出版或出口目录。有关共享目录和谁可访问它们的信息放在一个文件中,由操作系统启动时读取。(2 2)客户机访问客户机访问 在共享目录上建立一种链接和访问文件的过程叫做装联(mounting),用户将网络用作一条通信链路来访问远程文件系统。 NFS的一个重要组成是虚拟文件系统(VFS),它是应用程序与底层文件系统间的接口。 NFS是个到处可用和广泛实现的开放式系统。2、Andrew文件系统文件系统(AFS)AFS是Andrew File System的缩写,它是一种分散式的文件系统(Distributed File System)可以将分散在不同机器上磁盘空间组合成一个共有的磁盘空间,让使用者能

4、够在不同的机器上使用相同的文件系统来管理自己的文件。AFS结构与NFS相似,由卡内基梅隆大学信息技术中心(ITC)开发、现由前ITC职员组成的Transarc公司负责开发和销售。AFS较NFS有所增强。AFS的主要功能是用于管理分布在网络不同节点上的文件。与普通文件系统相比,AFS的主要特点在于三个方面:1、分布式2、跨平台3、高安全性。(1)AFS的特点的特点AFS是专门为在大型分布式环境中提供可靠的文件服务而设计的。它通过基于单元的结构生成一种可管理的分布式环境。一个单元是某个独立区域中文件服务器和客户机系统的集合,这个独立区域由特定的机构管理。通常代表一个组织的计算资源。用户可以和同一单

5、元中其他用户方便地共享信息,他们也可以和其他单元内的用户共享信息,这取决于那些单元中的机构所授予的访问权限。(2)AFS的运行模式的运行模式AFS采用C/S(Client/Server)的工作模式,Client发送请求到Server提取文件,ServerMachine提供文件给请求的Client。4良好的客户端缓存管理极大的提高了文件操作的速度。(3)AFS的优势的优势1历史悠久,技术成熟。2有较强的安全性(基于Kerberos)。3支持单一、共享的名字空间。3、分布式文件系统分布式文件系统(DFS)分布式文件系统是主要用于解决把分散的共享资源集中管理的问题。DFS是AFS的一个版本,作为开放

6、软件基金会(OSF)的分布式计算环境(DCE)中的文件系统部分。(1)分布式文件系统的并发控制)分布式文件系统的并发控制如果文件的访问仅限于一个用户,那么分布式文件系统就很容易实现。可惜的是,在许多网络环境中这种限制是不现实的,必须采取并发控制来实现文件的多用户访问,表现为如下三个形式:任何客户机只能访问文件,而不能修改它,这实现起来很简单。1、只读共享、只读共享2、受控写操作受控写操作 采用这种方法,可有多个用户打开一个文件,但只有一个用户进行写修改。而该用户所作的修改并不一定出现在其它已打开此文件的用户的屏幕上。3、并发写操作并发写操作 这种方法允许多个用户同时读写一个文件。但这需要操作系

7、统作大量的监控工作以防止文件重写,并保证用户能够看到最新信息。这种方法即使实现得很好,许多环境中的处理要求和网络通信量也可能使它变得不可接受。当一个客户机向服务器请求一个文件(或数据库记录),文件被放在客户工作站的高速缓存中,若另一个用户也请求同一文件,则它也会被放入那个客户工作站的高速缓存中。当两个客户都对文件进行修改时,从技术上而言就存在着该文件的三个版本(每个客户机一个,再加上服务器上的一个)。有两种方法可以在这些版本之间保持同步:(2)并发写操作的处理)并发写操作的处理NFS和AFS的区别在于对并发写操作的处理方法上。1、无状态系统在这个系统中,服务器并不保存其客户机正在缓存的文件的信

8、息。因此,客户机必须协同服务器定期检查是否有其他客户改变了自己正在缓存的文件。这种方法在大的环境中会产生额外的LAN通信开销,但对小型LAN来说,这是一种令人满意的方法。NFS就是个无状态系统。在这种方法中,服务器记录它的那些客户机的所作所为,并保留它们正在缓存的文件信息。服务器在一个客户机改变了一个文件时使用一种叫回叫应答(ca11backpromise)的技术通知其它客户机。2、回呼(Callback)系统这种方法减少了大量网络通信。AFS(及OSFDCE的DFS)就是回叫系统。客户机改变文件时,持有这些文件拷贝的其它客户机就被回叫并通知这些改变。无状态操作在运行性能上有其长处,但AFS通

9、过保证不会被回叫应答充斥也达到了这一点。方法是在一定时间后取消回叫。客户机检查回叫应答中的时间期限以保证回叫应答是当前有效的。回叫应答的另一个有趣的特征是向用户保证了文件的当前有效性。换句话说,若一个被缓存的文件有一个回叫应答,则客户机就认为文件是当前有效的,除非服务器呼叫指出服务器上的该文件已改变了。两种方法的优缺点(3)DFS系统结构系统结构RMICache文件服务器名字服务器客户端Google的云计算由分布式文件系统GoogleFileSystem(GFS)、大规模分布式数据库BigTable、程序设计模式MapReduce、分布式锁机制Chubby等几个相互独立又紧密结合的系统组成,如

10、图所示Google云计算架构。17/203.2.1 Google 的云计算基础设施的云计算基础设施3.23.2分布式文件系统的应用分布式文件系统的应用18/20Google 的云计算基础设施的云计算基础设施3.2.2Hadoop的发展的发展Hadopp是由Apache基金会开发的、分布式系统基础架构,基于Java技术实现了类似Google云计算的开源项目。专注于海量数据存储、处理的分布式系统。19/203.2.3 HDFS架构架构HDFS采用Master/Slave架构一个HDFS集群由一个Namenode和一定数目的Datanode组成Datanode在Namenode的指挥下进行Block

11、的创建、删除和复制典型的部署方式是一台机器运行单独的Namenode,而其他机器各运行一个Datanode20/2021/20HDFS架构模型架构模型3.2.4 Map/Reduce(分布式计算)(分布式计算)MapReduce模式的思想是通过自动分割将要执行的问题(程序)、拆解成Map(映射)和Reduce(化简)的方式。在自动分割后通过Map程序将数据映射成不相关的区块,分配(调度)给大量计算机处理达到分散运算的效果,再通过Reduce程序将结果汇整,输出开发者需要的结果。MapReduce 处理流程处理流程24/20用户管理创建用户删除用户用户登录用户注销3.33.3名字服务器名字服务器

12、25/20名字空间管理多名字空间每一个用户有一个独立的名字空间目录结构信息用XML文件管理文件目录属性信息用关系数据库存储通过XML文件管理共享目录结构信息响应客户端请求返回目录结构信息+文件目录属性信息+共享目录结构信息名字服务器名字服务器26/20文件管理用关系数据库管理文件信息文件的基本信息文件名、所有者、文件大小、创建时间、修改时间等文件逻辑地址用户名+名字空间中的逻辑路径+逻辑文件名文件物理地址文件服务器标识+全局唯一的物理文件名每一个文件具有唯一的逻辑地址,每一个文件副本对应一个物理地址名字服务器名字服务器27/20文件服务器管理动态管理文件服务器添加、删除文件服务器指导文件服务器

13、进行文件备份同一个文件在两台文件服务器中保存副本实时获取文件服务器信息剩余空间、负载文件服务器选择策略:剩余空间+负载在剩余空间满足的情况下,选择当前负载最轻的(可扩展)名字服务器名字服务器28/20名字服务器名字服务器共享目录的管理用户在客户端选择共享文件及共享者共享者具有只读权限共享目录信息采用XML文件,共享者由关系数据库记录一致性维护时间戳调用文件服务器进行副本更新比较时间戳,选择最新的文件通过回调机制通知Cache更新文件29/20文件的传输文件的传输文件服务器:监控管理程序监控文件服务器信息,提供当前的磁盘空间等资源信息响应删除文件命令,删除文件服务器上的文件响应备份命令,将本地文

14、件备份到另一文件服务器上客户端使用的工具包上传文件、下载文件、删除文件ftp协议NS使用的工具包提供资源信息查询通知备份文件到第三方文件服务器删除文件服务器上的备份文件功能30/20术语对照术语对照3.4 3.4 分布式数据库分布式数据库3.4.1 分布式数据库系统概述分布式数据库系统概述 集集中中式式数数据据库库管管理理系系统统的缺点:通信开销大;系统的坚固性差;性能差;可扩充性差;设计、管理困难。 分分散散式式系系统统:将数据库分成多个,建立在多台计算机上,数据库的管理、应用程序的研制都是分开并相互独立的,之间不存在数据通行联系。 分分布布式式数数据据库库系系统统的的特特点点:数据的分布性

15、;统一性;透明性。统一性(两个方面:数据在逻辑上的统一性和数据在管理上的统一性)分布式数据库与集中式数据库相比的优点:坚固性好;可扩充性好;可改善性能;自治性好。 3.3.1 分布式数据库系统概述分布式数据库系统概述与集中式数据库相比,分布式DB具有:数据分布式的特点。与分散式数据库相比,分布式DB具有:逻辑整体性的特点。背景 数据库系统+计算机网络DB1DB1DB1计算机计算机1计算机计算机2计算机3通讯网络通讯网络T1T2T3T1T2T3T1T2T33.3.1 分布式数据库系统概述分布式数据库系统概述 分布式数据库系统(DDBS)由通信网络联接起来的结点的集合。每个结点都是拥有集中式数据库

16、的计算机系统。 分布式数据库的特点:数据库中的数据不是存储在同一场地,而是分布存储在多个场地。3.3.2 分布式数据库系统的定义分布式数据库系统的定义 分布性:数据存储在不同场地上。与集中式数据库不同。 逻辑整体性:数据逻辑上是相互联系的一个整体。与分散在计算机网络不同站点上的一组没有相互联系的本地数据库区别开来。3.3.2 分布式数据库系统的定义分布式数据库系统的定义DB1DB1DB1计算机1计算机1计算机1通讯网络北京重庆上海银行系统访问本地银行数据:局部应用通兑业务、转账业务:全局应用3.3.2 分布式数据库系统的定义分布式数据库系统的定义 全局全局应用应用:指涉及到两个或两个以上场地中

17、数据库的应用。 网络的每个站点具有独立处理能力,可以执行局部应用,同时也能通过网络执行全局应用。 分布式数据库是由一组数据库组成,这些数据库分布在计算机网络的不同站点上,逻辑上是属于同一个系统的。3.3.2 分布式数据库系统的定义分布式数据库系统的定义分布式数据库包含两个重要组成部分:分布式数据库(DDB)和分布式数据库管理系统(DDBMS) 。 分布式数据库分布式数据库是计算机网络环境中各场地上数据库的逻辑集合。 分布式数据库管理系统分布式数据库管理系统是分布式数据库系统中的一组软件,它复杂管理分布环境下逻辑集成数据的存取、一致性、有效性和完备性。3.3.2 分布式数据库系统的定义分布式数据

18、库系统的定义3.3.3分布式数据库的基本特点分布式数据库的基本特点物理分布性:数据不是存储在一个场地上,而是存储在计算机网络的多个场地上。逻辑整体性:数据物理分布在各个场地,但逻辑上是一个整体,它们被所有用户(全局用户)共享,并由一个DDBMS统一管理。场地自治性:各场地上的数据由本地的DBMS管理,具有自治处理能力,完成本场地的应用(局部应用)。场地之间协作性:各场地虽然具有高度的自治性,但是又相互协作构成一个整体。数据独立性3.3.4分布式数据库的其它特点分布式数据库的其它特点分布透明性:是指用户或应用程序不必关心数据的逻辑分片,不必关心数据物理位置分配的细节,也不必关心各个场地上数据库的

19、数据模式是哪种类型,可以像集中式数据库一样来操作物理是分散的数据库。集中与自治相结合的控制机制适当增加数据冗余度事务管理的分布性分布透明性物理独立性逻辑独立性3.3.5分布式数据库的优点分布式数据库的优点 :具有灵活的体系结构适应分布式的管理和控制机构经济性能优越系统的可靠性高、可用性好局部应用的响应速度快可扩展性好,易于集成现有的系统既有数据库互连,历史继承;数据资源共享系统规模逐步扩展增加结点,不影响现有系统运行系统开销较大,主要花在通信部分。复杂的存取结构(如辅助索引、文件的链接技术),在集中式DBS中是有效存取数据的重要技术,但在分布式系统中不一定有效。数据的安全性和保密性较难处理。3

20、.3.6分布式数据库的缺点分布式数据库的缺点 3.3.7分布式数据库的分类分布式数据库的分类同构同质型DDBS:各个场地都采用同一类型的数据模型(譬如都是关系型),并且是同一型号的DBMS。同构异质型DDBS:各个场地采用同一类型的数据模型,但是DBMS的型号不同,譬如DB2、ORACLE、SYBASE、SQLServer等。异构型DDBS:各个场地的数据模型的型号不同,甚至类型也不同。随着计算机网络技术的发展,异种机联网问题已经得到较好的解决,此时依靠异构型DDBS就能存取全网中各种异构局部库中的数据。3.3.8分布式数据存储分布式数据存储(一)数据分片(一)数据分片水平分片:按一定的条件把

21、全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上作投影运算,每个投影称为垂直分片。导出分片:又称为导出水平分片,即水平分片的条件不是本关系属性的条件,而是其他关系属性的条件。混合分片:以上三种方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片,或其他形式,但他们的结果是不相同的。(二)数据分片(二)数据分片完备性条件:必须把全局关系的所有数据映射到片段中,决不允许有属于全局关系的数据却不属于它的任何一个片段。可重构条件:必须保证能够由同一个全局关系的各个片段来重建该全局关系。对于水平分片可用并操作重构全局

22、关系;对于垂直分片可用连接操作重构全局关系。不相交条件:要求一个全局关系被分割后所得的各个数据片段互不重叠(对垂直分片的主键除外)。定义各类分片时必须遵守的规则:定义各类分片时必须遵守的规则:3.3.9数据分配数据分配集中式:所有数据片段都安排在同一个场地上。分割式:所有数据只有一份,它被分割成若干逻辑片段,每个逻辑片段被指派在一个特定的场地上。全复制式:数据在每个场地重复存储。也就是每个场地上都有一个完整的数据副本。混合式:这是一种介乎于分割式和全复制式之间的分配方式。3.3.10分布式数据库的体系结构分布式数据库的体系结构1、全局外模式、全局外模式 全局外模式是全局应用的用户视图,是全局概

23、念模式的逻辑子集2、全局概念模式、全局概念模式全局概念模式中定义了DDB中全局数据的逻辑结构,可用传统的集中式数据库中采用的方法定义。3、分片模式、分片模式就是定义片段以及定义全局关系与片段之间的映象。这种映象是一对多的,即每一个片段来自一个全局关系,而一个全局关系可分成若干片段。3.3.10分布式数据库的体系结构分布式数据库的体系结构1、分配模式、分配模式就是根据选定的数据分配策略,定义各片段的物理存放场地。2、局部概念模式、局部概念模式一个场地上的局部概念模式是该场地上所有全局概念模式在该场地上的物理映象。3、局部内部式、局部内部式是DDB中关于物理数据库的描述,类似于集中式DB中的内模式

24、,但其描述的内容不仅包含本场地的数据的存储描述,还包括全局数据在本场地的存储描述。3.3.10分布式数据库的体系结构分布式数据库的体系结构 全局关系R的逻辑片段与物理映象3.3.10分布式数据库的体系结构分布式数据库的体系结构数据分片和数据分配概念的分离,形成了“数据分布独立型”概念。数据冗余的显式控制。数据在各个场地的分配情况在分配模式中一目了然,便于系统管理。局部DBMS的独立性。这个特征也称为“局部映射透明性”。此特征允许我们在不考虑局部DBMS专用数据模型的情况下,研究DDB管理的有关问题。3.3.10分布式数据库的体系结构分布式数据库的体系结构网络网络DDBMSDDBMS场地场地3

25、3DDBSDDBS示意图示意图DDBMSDDBMS场地场地2 2DDBMSDDBMS场地场地1 13.3.11分布式数据库系统分布式数据库系统3.3.12 分布式数据库的透明性分布式数据库的透明性 DDB中的映象和数据独立性局部数据模型透明性:分片透明性:位置透明性:分片透明性是分布透明性的最高层次。它是指用户或应用程序只对全局关系进行操作而不必考虑关系的分片位置透明性事分布透明的下一层次。它指用户或应用程序不必了解片段的存储场地,当存储场地改变了,由于分片模式到分布模式的映像(映像3),应用程序不必改变。指用户或用户程序不必了解局部场地上使用的是哪种数据模型,模型的转换以及数据库语言的转换均

26、由映像4完成。3.3.12 分布式数据库的透明性分布式数据库的透明性RR1R2R3R4R11R21R12R22R23R33R43S1S2S3例例:3.5 3.5 分布式数据库管理系统的功能及组成分布式数据库管理系统的功能及组成 1、DDBMS的主要功能: 接收用户请求; 访问网络数据字典; 如果目标数据存储于系统的多个计算机上,就必须进行分布式处理; 通信接口功能; 在一个异构型分布式处理环境中,还需要提供数据和进程移植的支持。 2、DDBMS的组成: 查询处理子系统、完整性子系统、调度子系统和可靠性子系统。3.6 3.6 分布式数据库系统中存在的问分布式数据库系统中存在的问题题 1、不同场地

27、的通信速度,与局部DBS的存储部件的存取速度相比,是非常慢的。 2、通信系统有较高的存取延迟时间。 3、在CPU上处理通信的代价很高。 4、不同通信系统有不同意义的字符,数据转换速度也不一样,可以相差1000倍,存取延迟时间可能相差106倍。3.73.7客户客户/ /服务器结构的分布式系统服务器结构的分布式系统3.7.1 3.7.1 客户客户/ /服务器式服务器式DBSDBS 在计算机中网络中,有一些计算机扮演客户,另一些扮演服务器,客户统通过计算机网络向服务器提出计算请求,服务器经过计算,将结果返回客户机。这样的计算机网络称为客户/服务器计算机网络。3.7.1 3.7.1 客户客户/ /服务

28、器式服务器式DBSDBSClientServer客户发出请求同意连接请求客户发出服务请求服务器给出响应连接建立连接建立Client客户发出请求同意连接请求客户发出服务请求服务器给出响应连接建立连接建立3.7.1 3.7.1 客户客户/ /服务器式服务器式DBSDBS 在客户/服务器式DBS中,数据库应用的功能分为两部分: 1、前端部分:由应用程序构成 2、后端部分:包括存取结果、查询优化、并发控制、恢复等系统程序。3.7.23.7.2客户客户/ /服务器结构的分布式服务器结构的分布式DBSDBS 1、分布式DBS的物理级客户/服务器结构 2、客户机和服务器的功能划分方法 3、分布式DBS的逻辑

29、级客户/服务器体系结构3.83.8分布式数据库系统分布式数据库系统类型类型分布式数据库系统的典型代表有HBase、Hypertable、Amoeba和Bigtable。Hypertable与HBase的工作原理一样,均采用了GoogleBigTable的稀疏的、面向列的数据库实现方式理论,只是Hypertable用C+写成,HBase用Java写成。Java项目在设计模式和文档上一般都比C+项目好,非常适合开源项目。C+的优势是在性能和内存使用上。Hbase和Hypertable提供了类似于BigTable的可伸缩数据库实现。3.83.8分布式数据库系统分布式数据库系统类型类型HBase和Hy

30、pertable是两个开源项目,Google的BigTable不开源。它们主要解决的都是数据的组织和存储策略问题。3.83.8分布式数据库系统分布式数据库系统类型类型3.8.1 Hbase3.8.1 Hbase(分布式数据库)(分布式数据库)Hbase是Hadoop的一个子项目,Hbase采用了GoogleBigTable的稀疏的,面向列的数据库实现方式的理论,建立在hadoop的hdfs上.是一个稀疏的,长期存储的存在硬盘上,多维度的,排序的映射表。3.8.1 Hbase3.8.1 Hbase(分布式数据库)(分布式数据库)3.8.2 BigTablebigtable是设计来分布存储大规模结

31、构化数据的,从设计上它可以扩展到上50字节,分布存储在几千个普通服务器上。oogle的很多项目使用来存储数据,包括网页查询,googleearth和google金融。这些应用程序对的要求各不相同:数据大小(从URL到网页到卫星图象)不同,反应速度不同(从后端的大批处理到实时数据服务)。对于不同的要求,都成功的提供了灵活高效的服务。是一个稀疏的,长期存储的存在硬盘上,多维度的,排序的映射表这张表的索引是行关键字,列关键字和时间戳每个值是一个不解释的字符数组。3.8.2 BigTable(1)DDB具有数据分布性和逻辑整体性的特点。(2)DDBS能够支持涉及多个场地的全局应用。DDB的数据存储有数

32、据分片和数据分配两种策略。(3)DDB的模式结构为理解DDBS提供了一种通用的概念结构。(4)分布透明性是DDBS追求的目标。(5)DDBMS是负责管理分布环境下,逻辑集成数据的存取、一致性、有效性和完备性的软件系统。总结:总结:DDBS中数据分布在各个场地,系统中压倒一切的性能目标是尽量减少网络中传送信息的次数和传送的数据量。分布式查询中基于半连接的优化策略是常用的技术。对于并发控制和恢复,DDBMS环境中会出现大量在集中式DBMS环境中碰不到的问题。分布式的并发控制有主场地方法和主拷贝方法,再辅之于备份场地技术。总结:总结:分布式DBMS集中式DBMS存取方式用户DDBMS分布式网络OS网络通信局部DBMS局部OSDB用户DBMSOSDB数据冗余性有控制的冗余最小的冗余数据表示级别(四级)用户试图,全局视图,分片视图,分配视图(三级)外部视图,概念视图,内部视图数据存放方式复制在多个场地,模式分散化,处理程序也分散化集中在一个地点DBA分布在各场地,进行局部控制集中在一起同步由全局DBMS和网络OS组成由OS完成封锁分散控制集中控制实际资源多个CPU,多个DBMS一个CPU,一个DBMS操作方式当前方式,响应方式两种一种方式(当前方式)数据一致性 所有主场地的逻辑结果是一致的,但各个场地的复制中数据可能不一致任何时候都需要保持数据的一致性总结:总结:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号