一 什么是分布式数据库
分布式数据库系统是在集中式数据库系统的基础上发展来的 是数据库技术与网络技术结合的产物
分布式数据库系统有两种 一种是物理上分布的 但逻辑上却是集中的 这种分布式数据库只适宜用途比较单一的 不大的单位或部门 另一种分布式数据库系统在物理上和逻辑上都是分布的 也就是所谓联邦式分布数据库系统 由于组成联邦的各个子数据库系统是相对 自治 的 这种系统可以容纳多种不同用途的 差异较大的数据库 比较适宜于大范围内数据库的集成
分布式数据库系统(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
原因如下。
1、网络出现故障,可以使用断网急救箱检测,进行修复;2、电脑设置了连接限制,可以手动设置DNS,进行修复。2、电脑设置了连接限制,使用断网急救箱检测。
服务器(server)指在网络环境中或在具有客户-服务器结构(参见客户-服务器计算)的分布式管理环境中,为客户的请求提供服务的节点计算机,或指在该计算机上运行的,用于管理资源并为用户提供服务的计算机软件,服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。
分布式系统的定义是建立在网络之上的软件系统。处理各项协助的任务,然后整合出结果。在我看来,学习分布式系统需要以下几点知识。
我理解的分布式系统一直对分布式系统中的问题在思考,在业务对象原封不动地部署客户端和服务器的情况下,可以根据配置文件中选择要连接到的服务器或连接本地数据库,我一直认为的客户端和服务器的通信模式是最低端插座。
了解分布式系统的部署分布式系统部署透视图的分层现实是三层:接口层、业务层(包括数据访问层的业务层)和数据存储层。分布式系统的部署——分布式的Web系统
分布式系统的部署——分布式的C/S系统
关于数据库的分布为了从数据库服务器解决负载,我们不妨分布存储在多个服务器上的数据,数据库分配方案,我想的是,数据库服务器上,就像在结构中的两个豌豆,并存储在不同的服务器上的数据,所以数据访问层数据时,检查所有数据库服务器相同的SQL命令,然后数据访问层的数据集成,从而缓解各服务器的负载。或者基于表单中具有代表性的字段(如省份)将数据分发到不同服务器。
总结我们通常说的是三层架构,我认为它是一个广义的模型,设计更多的层可以与相邻层相结合,最终回归到三层的广义概念,我的意思是:这些只是概念,忘记这些概念,对实际设计和分析这些概念将留下一些较新的概念。
步骤如下:
我们确定一下
A卡地址是1921681105
B卡地址是1921685280
我们确定一下需求,既然A卡可以上外网,B不可以,那么我们规定A卡为主卡,B卡为副卡。假设我们要访问局域网的地址都是19216852 的网段 。
我们打开命令提示符。
输入命令 route -p add 192168520 mask 255255255254 1921685265 点击回车。这时我们就添加了静态路由,功能是在本机访问19216852/255255255254网络时,全部通过1921685265的网关来访问,这个网关在本机就是B网卡。
根据依次类推,把想访问的局域网网段全部添加一遍即可,之后输入route print命令查看是否成功。
命令的参数解释是这样的:
route -p add [目的网段] mask [目的网段的子网掩码] [本机访问目的网段用的网卡的网关]
route 命令主体
-p 表示是永久命令,不会因为重启消失
add 表示是增加一条路由
mask 是一个固定的格式命令,用来分隔字符串
静态路由是一种需要管理员手工配置的特殊路由。静态路由在不同网络环境中有不同的目的。当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。
在复杂网络环境中,配置静态路由可以改进网络的性能,并可为重要的应用保证带宽。静态路由可在***实例中使用,主要用于***路由的管理。
网络配置
在使用网络功能之前,要了解组态王需要做哪些配置和工作。组态王支持使用TCP/IP通信协议的网络。同一网络上每台计算机都要设置相同的通信协议。首先认识一下网络配置对话框。
在组态王工程浏览器中,选择菜单“配置\网络设置”,或者在目录显示区中,选择大纲项系统配置下的成员网络配置,双击网络配置图标,双击此图标,d出“网络配置”对话框,如下图所示。
imagepng
网络配置有三个属性页:网络参数、节点类型和客户配置,下面分别说明其使用方法:
(1)“网络参数”配置:
“组态王”运行分单机和连网两种模式,所有进入网络的计算机都要选择“连网”运行模式。如上图所示。
网络参数配置页中各项的含义:
本机节点名:就是本地计算机名称。进入网络的每一台计算机必须具有唯一的节点名,在本例中输入节点名“数据采集站”。同样,可以分别设置报警服务器、历史数据记录服务器、登录服务器和客户端的本机节点名为:“报警数据站”、“历史数据站”、“登录站”和“调度室”。本地节点名也可以使用本地主网卡的IP地址。
备份网卡:当网络中使用双网络结构时,需要对每台连网的机器安装两个网卡——主网卡和从网卡,此处表示从网卡(亦称备份网卡)。在该编辑框中输入从网卡的IP地址。
网络参数:“组态王”在“服务器”和“客户”之间为每一个需要传送的变量建立了对应关系。网络参数应该根据具体的网络情况来设置。
包大小:用于控制在两个节点之间发送的数据包的长短。增大“包大小”可以增加数据吞吐量。但低速网络应该谨慎设置此项。
注意:为保证网络传输的正常运做,同一网络系统中的包大小数值必须是一致的。
心跳检测时间:此参数在本节点做“服务器”或“客户端”时都有效,以此时间间隔检测数据链路是否畅通。单位为秒。
心跳检测次数:此参数在本节点做“服务器”或“客户端”时都有效,例:心跳检测次数为5,那么当累积心跳检测失败达到5次后,表明数据链路中断。
失效尝试恢复时间:此参数在本节点做“客户端”时有效,当“客户端”网络精灵检测数据链路中断后,尝试与“服务器”进行连接的时间间隔。单位为秒。
以上四个参数在使用基于TCP/IP协议的网络时都需要设置。注意:一般情况下,可以直接使用“网络参数”对话框的默认值,若需要更改,请首先咨询北京亚控科技发展有限公司的技术热线。
双机热备:组态王提供双机热备功能(见第二十二章),分为“使用双机热备”,“本站为主站”和 “本站为从站”三种选项。若使用双机热备功能,则选择“使用双机热备”;若使用,根据当前计算机工作状态设置为主机或从机。
主站(从站)名称:当选择使用双机热备功能,并且选择“本站为从站”时,此选项有效,需要在此处键入主站名称。当选择“本站为主站”时,主站名称变为从站名称,需要在此处键入从站名称。
备份网卡:当网络中存在双网络冗余时,从站点也需要安装两个网卡,在该编辑框中输入从站点备份网卡的IP地址。
主站(从站)历史库路径:选择使用双机热备功能后,当选择“本站为主站”时,在此处键入从站历史库记录全路径(按UNC格式),若选择“本站为从站”, 在此处键入主站历史库记录全路径(按UNC格式)。
冗余机心跳检测时间:本节点做主机或从机时都有效,主从机双方以此时间间隔检测数据链路是否畅通。单位为秒。
主机等待从机连接时间:本节点做主机时有效,此参数影响主机激活的时间。主机启动后,如果在此时间间隔后发现没有从机连接,就认为从机不存在,自动激活。如果这个时间设置的短则主机激活快。但是在不同网络状态下(如双网),从机的连接 *** 作可能会耗费较长时间(有时候10秒以上),因此为保证主、从机之间正常连接。此参数设置不要低于10秒。单位为秒。
(2) “节点类型”配置
该属性页主要是定义本地计算机在网络中充当的服务器功能,本地计算机可以充当一种或多种服务器的角色,同时,在网络中所有的站点充当服务器或客户都是相对而言的,即如果一台站点是服务器,也可以指定其作为别的站点的客户,反之作为客户站点,也可以指定其作为别的站点的服务器。对于报警服务器和历史数据服务器,允许指定其作为哪几台I/O服务器的报警或历史数据记录服务器。
imagepng
节点类型配置页中各项的含义:
本机是登录服务器:对于网络工程,需要网络中有唯一的用户列表,其列表存储在登录服务器上,当访问网络中任何站点上有权限设置的信息时,都必须经过该用户列表进行验证。选中该项时,本地计算机在网络中充当登录服务器。当登录服务器没有启动时,用户的验证只能通过本机的用户列表进行,并且在 *** 作网络变量时将以无用户状态进行。当不选“本机是登录服务器”时,必须从登录服务器列表中选择登录服务器机器名称。关于名称如何进行选择,在以后的章节中详细介绍。
本机是IO服务器:选中时,表示本地计算机连接外部设备,进行数据采集,并向网络上的其他站点提供数据。
进行历史数据备份:为历史数据库备份的选项,选中该项,表明本机只作为IO服务器,而不作为历史数据服务器时,要暂时保存要向历史数据服务器备份的本机历史数据,将历史数据记录在本机指定的历史记录路径下。
本机是校时服务器:组态王运行中,尽量保持各台机器的时钟一致,选中“本机为校时服务器”时,本地计算机充当校时服务器,采取广播的方式以指定的时间间隔向网络上的各台机器发送校时桢,保持网络的始终统一。在“校时间隔”编辑框中输入校时间隔,单位为秒。
本机是报警服务器:在分布式报警系统中,指定一台服务器作为报警服务器,在该服务器上产生所有的报警(可以指定需要生成报警的IO服务器),客户机可直接浏览报警服务器中的报警信息。在报警服务器的列表框中系统会自动列出已建立连接的所有充当IO服务器的远程站点的站点名。当选中“本机是报警服务器”时,可以对列表框中的IO服务器进行选择,即定义本机是哪个IO服务器的报警服务器。使用方法为,在“本机是报警服务器”下的站点名前的选择框中单击,选择框中出现选中标记即可。
本机是历史记录服务器:在分布式历史数据库系统中,指定一台服务器作为历史记录服务器,在该服务器上存储所有的历史数据(可以指定需要存储历史数据的IO服务器),客户机可直接浏览历史记录服务器中的历史数据。在历史记录服务器的列表框中系统会自动列出已建立连接的所有充当IO服务器的远程站点的站点名。即定义本机是哪个IO服务器的历史记录服务器。
(3)客户配置
该属性页主要是定义本地计算机在网络中充当的客户功能,本地计算机可以充当多台服务器的客户。如下图所示,为客户配置属性。
imagepng
客户:当选中时,表明本地计算机在网络当中充当客户的角色,同时在I/O服务器、报警服务器、历史记录服务器中会自动列出网络中的所有I/O服务器、报警服务器和历史记录服务器,注意,只有配置好了网络站点后才会列出这些已定义好的服务器。
I/O服务器:在网络当中可以存在多台I/O服务器,负责从外部采集数据。在该列表框中会自动列出网络上的所有充当I/O服务器的站点,而本地计算机可以充当一台或多台I/O服务器的客户端,从这些服务器端取得采集的数据。
报警服务器:在网络当中可以存在多台报警服务器,在其上负责验证和存储指定站点的所有数据的报警信息。在该列表框中会自动列出网络上的所有充当报警服务器的站点,而本地计算机可以充当一台或多台报警服务器的客户端,从这些报警服务器端引用报警。
历史记录服务器:在网络当中可以存在多台历史记录服务器,在其上存储指定站点的所有的历史数据。在该列表框中会自动列出网络上的所有充当历史记录服务器的站点,而本地计算机可以充当一台或多台历史记录服务器的客户端,从这些历史记录服务器端查询历史数据。
(4) 建立远程站点
要建立客户——服务器模式的网络连接,就要求个站点共享信息,互相建立连接。组态王在工程浏览器中的左边设置了一个TAB按钮——“站点”,单击该按钮,进入站点管理界面。界面共分为两个部分,左边为站点名称列表区,右边为站点信息区。如图216所示。
imagepng
在站点列表区中单击鼠标右键,d出快捷菜单,在菜单中选择“新建远程站点”选项,d出“远程节点”对话框,如图217所示。在对话框的“远程工程UNC路径”编辑框中输入网络上要连接的远程工程的路径(UNC格式),或直接单击“读取节点配置”按钮,在d出的文件选择对话框中选择远程工程路径。选择完成后,该远程站点的信息就会被全部读出来,自动添加到对话框中对应的剩下的各项中。如主机节点名、节点类型等,都会自动读取并添加的。也可以按照远程站点实际的网络配置,手动添加或选择对话框中的选项。定义完成后,单击“确定”按钮关闭对话框。
节点建立后,在工程浏览器——站点的站点列表区和站点信息区会显示出该站点的所有信息。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)