分布式数据库系统(DDBS)概述

分布式数据库系统(DDBS)概述,第1张

  一 什么是分布式数据库

 分布式数据库系统是在集中式数据库系统的基础上发展来的 是数据库技术与网络技术结合的产物

 分布式数据库系统有两种 一种是物理上分布的 但逻辑上却是集中的 这种分布式数据库只适宜用途比较单一的 不大的单位或部门 另一种分布式数据库系统在物理上和逻辑上都是分布的 也就是所谓联邦式分布数据库系统 由于组成联邦的各个子数据库系统是相对 自治 的 这种系统可以容纳多种不同用途的 差异较大的数据库 比较适宜于大范围内数据库的集成

 分布式数据库系统(DDBS)包含分布式数据库管理系统(DDBMS)和分布式数据库(DDB)

 在分布式数据库系统中 一个应用程序可以对数据库进行透明操作 数据库中的数据分别在不同的局部数据库中存储 由不同的DBMS进行管理 在不同的机器上运行 由不同的操作系统支持 被不同的通信网络连接在一起

 一个分布式数据库在逻辑上是一个统一的整体 即在用户面前为单个逻辑数据库 在物理上则是分别存储在不同的物理节点上 一个应用程序通过网络的连接可以访问分布在不同地理位置的数据库 它的分布性表现在数据库中的数据不是存储在同一场地 更确切地讲 不存储在同一计算机的存储设备上 这就是与集中式数据库的区别 从用户的角度看 一个分布式数据库系统在逻辑上和集中式数据库系统一样 用户可以在任何一个场地执行全局应用 就好那些数据是存储在同一台计算机上 有单个数据库管理系统(DBMS)管理一样 用户并没有什么感觉不一样

 分布式数据库中每一个数据库服务器合作地维护全局数据库的一致性

 分布式数据库系统是一个客户/服务器体系结构

 在系统中的每一台计算机称为结点 如果一结点具有管理数据库软件 该结点称为数据库服务器 如果一个结点为请求服务器的信息的一应用 该结点称为客户 在ORACLE客户 执行数据库应用 可存取数据信息和与用户交互 在服务器 执行ORACLE软件 处理对ORACLE数据库并发 共享数据存取 ORACLE允许上述两部分在同一台计算机上 但当客户部分和服务器部分是由网连接的不同计算机上时 更有效

 分布处理是由多台处理机分担单个任务的处理 在ORACLE数据库系统中分布处理的例子如

 客户和服务器是位于网络连接的不同计算机上

 单台计算机上有多个处理器 不同处理器分别执行客户应用

 参与分布式数据库的每一服务器是分别地独立地管理数据库 好像每一数据库不是网络化的数据库 每一个数据库独立地被管理 称为场地自治性 场地自治性有下列好处

 ◆系统的结点可反映公司的逻辑组织

 ◆由局部数据库管理员控制局部数据 这样每一个数据库管理员责任域要小一些 可更好管理

 ◆只要一个数据库和网络是可用 那么全局数据库可部分可用 不会因一个数据库的故障而停止全部操作或引起性能瓶颈

 ◆故障恢复通常在单个结点上进行

 ◆每个局部数据库存在一个数据字典

 ◆结点可独立地升级软件

 可从分布式数据库的所有结点存取模式对象 因此正像非分布的局部的DBMS 必须提供一种机制 可在局部数据库中引用一个对象 分布式DBMS必须提供一种命名模式 以致分布式数据库中一个对象可在应用中唯一标识和引用 一般在层次结构的每一层实施唯一性 分布式DBMS简单地扩充层次命名模型 实施在网络上唯一数据库命名 因此一个对象的全局对象名保证在分布式数据库内是唯一

 ORACLE允许在SQL语句中使用全局对象名引用分布式数据库中的模式对象(表 视图和过程) 在ORACLE中 一个模式对象的全局名由三部分组成 包含对象的模式名 对象名 数据库名 其形式如

 SCOTT EMP@SALES DIVISION ACME

 一个远程查询为一查询 是从一个或多个远程表中选择信息 这些表驻留在同一个远程结点

 一个分布式查询可从两个或多个结点检索数据 一个分布式更新可修改两个或两个以上结点的数据

 一个远程事务为一个事务 包含一人或多个远程语句 它所引用的全部是在同一个远程结点上 一个分布式事务中一个事务 包含一个或多个语句修改分布式数据库的两个或多个不同结点的数据

 在分布式数据库中 事务控制必须在网络上直辖市 保证数据一致性 两阶段提交机制保证参与分布式事务的全部数据库服务器是全部提交或全部回滚事务中的语句

 ORACLE分布式数据库系统结构可由ORACLE数据库管理员为终端用户和应用提供位置透明性 利用视图 同义词 过程可提供ORACLE分布式数据库系统中的位置透明性

 ORACLE提供两种机制实现分布式数据库中表重复的透明性 表快照提供异步的表重复;触发器实现同步的表的重复 在两种情况下 都实现了对表重复的透明性

 在单场地或分布式数据库中 所有事务都是用MIT或ROLLBACK语句中止

  二 分布式数据库系统的分类

 ( ) 同构同质型DDBS 各个场地都采用同一类型的数据模型(譬如都是关系型) 并且是同一型号的DBMS

 ( )同构异质型DDBS 各个场地采用同一类型的数据模型 但是DBMS的型号不同 譬如DB ORACLE SYBASE SQL Server等

 ( )异构型DDBS 各个场地的数据模型的型号不同 甚至类型也不同 随着计算机网络技术的发展 异种机联网问题已经得到较好的解决 此时依靠异构型DDBS就能存取全网中各种异构局部库中的数据

  三 分布式数据库系统主要特点

 DDBS的基本特点

 ( )物理分布性 数据不是存储在一个场地上 而是存储在计算机网络的多个场地上

 逻辑整体性 数据物理分布在各个场地 但逻辑上是一个整体 它们被所有用户(全局用户)共享 并由一个DDBMS统一管理

 ( )场地自治性 各场地上的数据由本地的DBMS管理 具有自治处理能力 完成本场地的应用(局部应用)

 ( )场地之间协作性 各场地虽然具有高度的自治性 但是又相互协作构成一个整体

 DDBS的其他特点

 ( )数据独立性

 ( )集中与自治相结合的控制机制

 ( )适当增加数据冗余度

 ( )事务管理的分布性

  四 分布式数据库系统的优点

 ( )更适合分布式的管理与控制

 分布式数据库系统的结构更适合具有地理分布特性的组织或机构使用 允许分布在不同区域 不同级别的各个部门对其自身的数据实行局部控制 例如 实现全局数据在本地录入 查询 维护 这时由于计算机资源靠近用户 可以降低通信代价 提高响应速度 而涉及其他场地数据库中的数据只是少量的 从而可以大大减少网络上的信息传输量;同时 局部数据的安全性也可以做得更好

 ( )具有灵活的体系结构

 集中式数据库系统强调的是集中式控制 物理数据库是存放在一个场地上的 由一个DBMS集中管理 多个用户只可以通过近程或远程终端在多用户操作系统支持下运行该DBMS来共享集中是数据库中的数据 而分布式数据库系统的场地局部DBMS的自治性 使得大部分的局部事务管理和控制都能就地解决 只有在涉及其他场地的数据时才需要通过网络作为全局事务来管理 分布式DBMS可以设计成具有不同程度的自治性 从具有充分的场地自治到几乎是完全集中式的控制

 ( )系统经济 可靠性高 可用性好

 与一个大型计算机支持一个大型的集中式数据库在加一些进程和远程终端相比 由超级微型计算机或超级小型计算机支持的分布式数据库系统往往具有更高的性价比和实施灵活性 分布式系统比集中式系统具有更高的可靠性和更好的可用性 如由于数据分布在多个场地并有许多复制数据 在个别场地或个别通信链路发生故障时 不致于导致整个系统的崩溃 而且系统的局部故障不会引起全局失控

 ( )在一定条件下响应速度加快

 如果存取的数据在本地数据库中 那么就可以由用户所在的计算机来执行 速度就快

 ( )可扩展性好 易于集成现有系统 也易于扩充

 对于一个企业或组织 可以采用分布式数据库技术在以建立的若干数据库的基础上开发全局应用 对原有的局部数据库系统作某些改动 形成一个分布式系统 这比重建一个大型数据库系统要简单 既省时间 又省财力 物力 也可以通过增加场地数的办法 迅速扩充已有的分布式数据库系统

  五 分布式数据库系统的劣势

 ( )通信开销较大 故障率高

 例如 在网络通信传输速度不高时 系统的响应速度慢 与通信相关的因素往往导致系统故障 同时系统本身的复杂性也容易导致较高的故障率 当故障发生后系统恢复也比较复杂 可靠性有待提高

 ( )数据的存取结构复杂

 一般来说 在分布时数据库中存取数据 比在集中时数据库中存取数据更复杂 开销更大

 ( )数据的安全性和保密性较难控制

 在具有高度场地自治的分布时数据库中 不同场地的局部数据库管理员可以采用不同的安全措施 但是无法保证全局数据都是安全的 安全性问题式分布式系统固有的问题 因为分布式系统式通过通信网络来实现分布控制的 而通信网络本身却在保护数据的安全性和保密性方面存在弱点 数据很容易被窃取

 分布式数据库的设计 场地划分及数据在不同场地的分配比较复杂 数据的划分及分配对系统的性能 响应速度及可用性等具有极大的影响 不同场地的通信速度与局部数据库系统的存取部件的存取速度相比 是非常慢的 通信系统有较高的延迟 在CPU上处理通信信息的代价很高 分布式数据库系统中要注意解决分布式数据库的设计 查询处理和优化 事务管理及并发控制和目录管理等问题

  六 分布式数据库系统 数据分片

 类型

  水平分片

 按一定的条件把全局关系的所有元组划分成若干不相交的子集 每个子集为关系的一个片段

  垂直分片

 把一个全局关系的属性集分成若干子集 并在这些子集上作投影运算 每个投影称为垂直分片

  导出分片

 又称为导出水平分片 即水平分片的条件不是本关系属性的条件 而是其他关系属性的条件

  混合分片

 以上三种方法的混合 可以先水平分片再垂直分片 或先垂直分片再水平分片 或其他形式 但他们的结果是不相同的

 条件

 ( )完备性条件

 必须把全局关系的所有数据映射到片段中 决不允许有属于全局关系的数据却不属于它的任何一个片段

 ( )可重构条件

 必须保证能够由同一个全局关系的各个片段来重建该全局关系 对于水平分片可用并操作重构全局关系;对于垂直分片可用联接操作重构全局关系

 ( )不相交条件

 要求一个全局关系被分割后所得的各个数据片段互不重叠(对垂直分片的主键除外)

  七 分布式数据库系统 数据分配方式

 ( )集中式 所有数据片段都安排在同一个场地上

 ( )分割式

 所有数据只有一份 它被分割成若干逻辑片段 每个逻辑片段被指派在一个特定的场地上

 ( )全复制式 数据在每个场地重复存储 也就是每个场地上都有一个完整的数据副本

 ( )混合式 这是一种介乎于分割式和全复制式之间的分配方式

  八 分布式数据库系统 体系结构

 数据分片和数据分配概念的分离 形成了 数据分布独立型 概念

 数据冗余的显式控制 数据在各个场地的分配情况在分配模式中一目了然 便于系统管理

 局部DBMS的独立性 这个特征也称为 局部映射透明性 此特征允许我们在不考虑局部DBMS专用数据模型的情况下 研究DDB管理的有关问题

  九 分布式数据库管理系统

 接受用户请求 并判定把它送到哪里 或必须访问哪些计算机才能满足该要求

 访问网络数据字典 了解如何请求和使用其中的信息

 如果目标数据存储于系统的多个计算机上 就必须进行分布式处理

 通信接口功能 在用户 局部DBMS和其他计算机的DBMS之间进行协调

 在一个异构型分布式处理环境中 还需提供数据和进程移植的支持 这里的异构型是指各个场地的硬件 软件之间存在着差别

 

 分布式数据库管理系统

 

lishixinzhi/Article/program/Oracle/201311/16998

现在比较大型点的系统基本上是APDB的架构:AP指应用程序,DB指数据库端

AP放在一个服务器上,DB放在另一个服务器上

当一个系统比较大,访问的用户数量比较多的时候,比如QQ,上亿用户

这时一个服务器就吃不消了,这样就想到多个服务器跑同一个AP应用

DB端也一样

linux集群指的就是多个服务器跑同一个AP应用,系统管理员的工作

数据库集群指的就是多个服务器跑同一个DB数据库数据库管理员的工作

linux集群基础就要熟悉linux系统

数据库集群基础就要熟悉具体的数据库如oracle,db2,sysbasemysql等

0基础可以学,只是要花时间0基础想搞到集群估计得花3个月时间这还是要有环境的,有人指导才行

1DBA(数据库管理员)

DBA是数据库管理员认证,英文是Database。

DBA的一些职责:

安装和升级数据库服务器(如Oracle、MicrosoftSQLserver),以及应用程序工具。

数据库设计系统存储方案,并制定未来的存储需求计划。

一旦开发人员设计了一个应用,就需要DBA来创建数据库存储结构(tablespaces)。

一旦开发人员设计了一个应用,就需要DBA来创建数据库对象(tables,views,indexes)。

根据开发人员的反馈信息,必要的时候,修改数据库的结构。

登记数据库的用户,维护数据库的安全性。

保证数据库的使用符合知识产权相关法规。

控制和监控用户对数据库的存取访问。

监控和优化数据库的性能。

制定数据库备份计划,灾难出现时对数据库信息进行恢复

维护适当介质上的存档或者备份数据

备份和恢复数据库

联系数据库系统的生产厂商,跟踪技术信息

2DBA工商管理博士

管理学科的最高学位

首先,MBA(工商管理硕士)和EMBA(高级管理人员工商管理硕士)是硕士学位,而PhD(哲学博士:现涉及哲学、政治、经济等学科)和DBA(工商管理博士)是博士学位,在研究的层度和难度上是不同的。

在欧洲,有专家已经预言DBA教育的发展前景十分乐观,有朝一日可能打破传统博士教育PhD模式一统天下的局面。和PhD一样,DBA也是正宗的美国学位,比如哈佛商学院就同时开设了PhD和DBA课程。英国在欧洲联盟中总是最快跟随美国的,所以英国已有多所大学开设了DBA的课程。

法国哥诺贝尔商学院(GrenobleGraateSchoolofBusiness—GGSB)是法国最早,也是目前唯一开设DBA项目的高等商校。实际上,其DBA项目的合作伙伴之一亨瑞管理学院(HenleyManagementCollege)亦是英国最早开设DBA课程的著名大学之一。

理论与实践紧密结合

传统的PhD模式一般为4~5年制的全职博士学习,着重纯理论的研究,一般不针对工商业界,而更偏重于管理学、经济学等,从事教学研究。而DBA教育则更多地与商务实践联系,着重理论应用于实践的效果。虽然,DBA在欧洲的学制现在一般也为4~5年,但学员是以带职学习替代全日制。与PhD一样,DBA从一开始也要求学生选择一个研究课题,知识课题本身多是学生本人在自身工作中所面临的实际问题,更具现实意义。

与中国传统博士生培养相比,DBA的教学特色将理论与实践结合得更为紧密。如果我们把MBA通常的密集型授课方式比喻为“吃”的过程,那么DBA的课程就好比“消化”的过程。运用欧美博士研究生的培养方法,针对学员自身工作中面临的问题进行系统化研究,完善公司高层管理人员管理创新能力,新项目决策优化能力,以顺应入世后瞬息万变的商务环境,做出前瞻性的战略选择。

目前,我们国内的EMBA的课程大多学费高昂,相反在学员的招生上却放得较宽,有素质参差不齐的嫌疑。有些EMBA课程往往是近百名学员组成一个班上课,而课程设置上也是以讲座的形式为主,难怪有的媒体会尖锐地称之为“一张文凭加系列讲座”。

哪些人来读DBA?

DBA教学针对的对象,大多是拥有MBA、EMBA或同等硕士学位的人才,并且至少5~6年的扎实工作经历是一份必要的资本。因为学员的总体素质本身就比较高,加上采取小班授课的形式,严格地保证了教学上的高质量。

同济大学经济与管理学院副院长吴健伟教授告诉笔者,来读DBA的学生大致可以分为三类:第一类是大学教授和博士生,他们看重DBA项目与教学研究结合紧密;第二类是工商业人士,这也是读DBA的主力军,他们来自不同的领域,比如科技管理、金融分析、网络安全以及信息软件等等,他们的目的是来寻求企业具体的解决方案;第三类是咨询业人士,因为读DBA本身就是一个结识客户、寻找机会的好机会。另外在国外,政府官员、非盈利性组织人员、慈善机构人员也会来选择DBA。

相对来说,DBA的入学要求并不算高:学生必须具有MBA或相关领域的硕士学位以及至少6年以上的工作经验,但是由于每学期限招10~15名学生,申请的难度就大了许多。据了解,2002年首届DBA项目共有42名国内外著名企业老总正式报名,经过严格筛选,最终只招了10名学员。在这些学员中有国际企业总经理、上市公司总裁、国营企业老总以及民营企业家等,都是一些中国企业的高层管理人员,起点不可谓不高。一位在哥诺贝尔商校就读DBA课程的公司总经理的话非常有代表性“我在10年前读了MBA,现在我觉得很想重返校园继续深造,进一步提高自己的理论知识来指导工作。可我已经40岁了,博士课程过去只有PhD,偏重纯理论的研究,对我的实际工作帮助不大,并且还必须辞职。而DBA则更能满足我的需要,我学到了许多最新的金融及策略管理的实践商务技能,并同步地应用于工作中。”

三层架构可以说是一种设置模式,他的作用只是让我们更加有效的利用资源,有利于以后的修改和查看,依次分为视图层,逻辑层,数据层;

试图层顾名思义就是我们所看到的,他的原代码并没有关于处理和连库等代码,只是简单的跳转页面,我们没有办法看到真正的代码;

逻辑层就是我们从页面层发回的问题等请求,从字面意思来看,你可以将他视为一个过渡层,只是连接是图层和数据层;进行一些连库,删除数据等操作了;从试图层跳转过来的问题在这里进行处理,并提交给数据层,再返回页面层共读者查看;

数据层就不用说了吧!这里存放着所有的数据也就是一个工程的大本营一样;

三层架构已经不仅仅属于net了,他是一种设计形式,从某种意义上来说,所有的开发设计几乎都已经以三层架构为基础,三层架构及有效的处理问题,将数据和试图也有效的分开,这样防止耦合度过高,有利于处理和修改,(你不会是想将代码全部写在视图页面上,这样有一个小小的变动,我们就要翻看几十万句代码,从中找出,那我要替你的眼睛抱不平了)当你将程序做好后,从这台机子移动到另一台机子时,大大减少了出错的问题;

通俗一点就是,这样看上去很有层次感,我们查看时,可以减少时间的浪费,也不用在代码堆里翻来覆去找不到北

可以考虑在三个不同层次实现对数据库数据的加密,这三个层次分别是OS、DBMS内核层和DBMS外层。

在OS层,无法辨认数据库文件中的数据关系,从而无法产生合理的密钥,也无法进行合理的密钥管理和使用。所以,在OS层对数据库文件进行加密,对于大型数据库来说,目前还难以实现。

在DBMS内核层实现加密,是指数据在物理存取之前完成加/脱密工作。这种方式势必造成DBMS和加密器(硬件或软件)之间的接口需要DBMS 开发商的支持。这种加密方式的优点是加密功能强,并且加密功能几乎不会影响DBMS 的功能。其缺点是在服务器端进行加/脱密运算,加重了数据库服务器的负载。

比较实际的做法是将数据库加密系统做成DBMS的一个外层工具。采用这种加密方式时,加/脱密运算可以放在客户端进行,其优点是不会加重数据库服务器的负载并可实现网上传输加密,缺点是加密功能会受一些限制。“定义加密要求工具”模块的主要功能是定义如何对每个数据库表数据进行加密。在创建了一个数据库表后,通过这一工具对该表进行定义;“数据库应用系统”的功能是完成数据库定义和操作。数据库加密系统将根据加密要求自动完成对数据库数据的加/ 脱密。

如果pc3只是访问pc1的数据库服务,那么只需要路由1设置端口映射到pc1的数据库服务器端口上,假设pc1用的是mssql,mssql的端口默认是1433,那么路由器1把一个不常用的端口,假设为1234,映射到pc1上,那么pc3只需要访问 路由1的对外ip+端口1234即可访问pc1的数据库

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 分布式数据库系统(DDBS)概述

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情