
分布式数据库系统是由若干个站集合而成。这些站又称为节点,它们在通讯网络中联接在一起,每个节点都是一个独立的数据库系统,它们都拥有各自的数据库、中央处理机、终端,以及各自的局部数据库管理系统。因此分布式数据库系统可以看作是一系列集中式数据库系统的联合。它们在逻辑上属于同一系统,但在物理结构上是分布式的。
分布式数据库系统已经成为信息处理学科的重要领域,正在迅速发展之中,原因基于以下几点:
1、它可以解决组织机构分散而数据需要相互联系的问题。比如银行系统,总行与各分行处于不同的城市或城市中的各个地区,在业务上它们需要处理各自的数据,也需要彼此之间的交换和处理,这就需要分布式的系统。
2、如果一个组织机构需要增加新的相对自主的组织单位来扩充机构,则分布式数据库系统可以在对当前机构影响最小的情况下进行扩充。
3、均衡负载的需要。数据的分解采用使局部应用达到最大,这使得各处理机之间的相互干扰降到最低。负载在各处理机之间分担,可以避免临界瓶颈。
4、当现有机构中已存在几个数据库系统,而且实现全局应用的必要性增加时,就可以由这些数据库自下而上构成分布式数据库系统。
5、相等规模的分布式数据库系统在出现故障的几率上不会比集中式数据库系统低,但由于其故障的影响仅限于局部数据应用,因此就整个系统来讲它的可靠性是比较高的。
特点
1、在分布式数据库系统里不强调集中控制概念,它具有一个以全局数据库管理员为基础的分层控制结构,但是每个局部数据库管理员都具有高度的自主权。
2、在分布式数据库系统中数据独立性概念也同样重要,然而增加了一个新的概念,就是分布式透明性。所谓分布式透明性就是在编写程序时好象数据没有被分布一样,因此把数据进行转移不会影响程序的正确性。但程序的执行速度会有所降低。
3、集中式数据库系统不同,数据冗余在分布式系统中被看作是所需要的特性,其原因在于:首先,如果在需要的节点复制数据,则可以提高局部的应用性。其次,当某节点发生故障时,可以 *** 作其它节点上的复制数据,因此这可以增加系统的有效性。当然,在分布式系统中对最佳冗余度的评价是很复杂的。
分布式系统的类型,大致可以归为三类:
1、分布式数据,但只有一个总 据库,没有局部数据库。
2、分层式处理,每一层都有自己的数据库。
3、充分分散的分布式网络,没有中央控制部分,各节点之间的联接方式又可以有多种,如松散的联接,紧密的联接,动态的联接,广播通知式联接等。
开始动手之前 你需要了解 NET Remoting 技术的基本理论 熟悉分布式数据库原理 熟练掌握ADO NET 并熟悉VS NET的开发环境 下面仅就这几个方面做些简单的介绍 Remoting 一种分布式处理方式 也可将它看作是D的一种升级 它改善了很多功能 并极好的融合到 Net平台下 NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架 在Remoting中是通过通道(channel)来实现两个应用程序域之间对象的通信的 首先 客户端通过Remoting 访问通道以获得服务端对象 再通过代理解析为客户端对象 这就提供一种可能性 即以服务的方式来发布服务器对象 远程对象代码可以运行在服务器上(如服务器激活的对象和客户端激活的对象) 然后客户端再通过Remoting连接服务器 获得该服务对象并通过序列化在客户端运行 在Remoting中 对于要传递的对象 设计者除了需要了解通道的类型和端口号之外 无需再了解数据包的格式 但必须注意的是 客户端在获取服务器端对象时 并不是获得实际的服务端对象 而是获得它的引用 这既保证了客户端和服务器端有关对象的松散耦合 同时也优化了通信的性能 分布式数据库系统 就其本质而言 分布式数据库系统的数据在逻辑上是统一的 而在物理上却是分散的 与集中式数据库相比它有如下主要优点 · 解决组织机构分散而数据需要相互联系的问题 · 均衡负载 负载在各处理机间分担 可避免临界瓶颈 · 可靠性高 数据分布在不同场地 且存有多个副本 即使个别场地发生故障 不致引起整个系统的瘫痪 · 可扩充性好 当需要增加新的相对自主的组织单位时 可在对当前机构影响最小的情况下进行扩充 ADO NET 分布式数据库系统虽然有诸多优点 但它同时也带来了许多新问题 如 数据一致性问题 数据远程传递的实现 通信开销的降低等 这使得分布式数据库系统的开发变得较为复杂 幸运的是 微软的 NET开发环境为我们提供了C#开发语言和ADO NET数据访问模型 结合两者来开发分布式数据库系统能够大大简化开发工作 ADO NET以XML为核心 是 Net数据库应用程序的解决方案 它使用离线数据结构 数据源中的数据被缓存到数据集(DataSet)对象中 用户无须锁定数据源 数据以XML格式保存 在分布式数据库系统中 很可能出现多个用户同时访问和修改数据的情况 因此 对于分布式数据库系统 数据一致性是不可或缺的 ADO NET通过使用乐观一致性方案来控制数据一致性(实际上DataSet对象被设计成支持使用乐观一致性控制机制) 即数据行只有在数据库中真正被更新时才会被锁定 而在悲观一致性方案中 数据行在从被提取出来到在数据库中更新这段时间内一直被锁定 因此 使用ADO NET能够在更少的时间内响应数量巨大的用户 另外 在分布式数据库系统中 还会经常遇到当用户修改自从提取出来以来已经被修改的行时 违反一致性原则 对此问题ADO NET也作了很好地解决 即使用DataSet对象为每一条修改过的记录维护两个版本 原始版本和更新版本 在更新的记录被写回数据库之前 先要把数据集中记录的原始版本与数据库中的当前版本进行比较 如果两个版本匹配 就在数据库中更新记录 否则 就会出现违反一致性原则的错误 下面开始程序实现 第 章 系统总体结构 总体结构图系统实现需要部署服务器端的远程对象(即一个DbServerLibrary dll) 服务器端要注册通道和该远程对象 客户端要实现一个本地查询的服务器 同时根据SQL解析的结果向各个服务器发送命令 并将结果显示在客户端界面 服务器端可以接受并显示相应的命令 关键组件结构图系统结构中关键的组件有远程对象 和本地服务器 实现的功能基本一致 下面以远程对象为例 说明组件的实现 远程对象在服务器端解决方案下的库文件中声明 通过服务器端进行注册 客户端通过TCP通道与服务器端远程对象通信 实现数据集的查询和传输 主要的数据成员有 SqlConnection(SQL Server数据库的连接对象) SqlCommand (SQL命令对象) SqlDataAdapter(数据适配器 填充数据集)组件——DbServerLibrary: 第 章 数据字典结构 因时间仓促 未实现数据字典 所有实验要求的SQL经过解析后 直接通过代码判断 向相应场地发送命令 第 章 代码结构 代码分为三部分 远程对象 服务器端代码和客户端代码 其中 远程对象部署在各个服务器端 客户端除了实现查询命令的解析和传送外外 还有一个本地服务器 进行相应的本地查询 远程对象代码 using System;using System Runtime Serialization;using System Data;using System Data SqlClient;using System Windows Forms;namespace DbServerLibrary{[SerializableAttribute]//It is very important for Remoting Datapublic class DbServer : MarshalByRefObject{private string connStr;private string clientSql;public SqlConnection sqlConn;public SqlCommand sqlComm;public SqlDataAdapter sqlAdapter;public void GetClientSql(string sql){if(clientSql != null){clientSql = null;}clientSql = sql;MessageBox Show(clientSql);}public DbServer(){//LocalData InitializeconnStr = Data Source = localhost;Initial Catalog=DDB;User ID=sa;Password=; ;sqlConn = new SqlConnection(connStr);}public DataSet GetDataSet() // 执行select{DataSet ds = new DataSet();if (sqlComm != null){sqlComm = null;}if(sqlConn State == ConnectionState Closed){sqlConn Open();}try{sqlComm = new SqlCommand();sqlComm Connection = sqlConn;sqlComm CommandText = clientSql;sqlComm CommandType = CommandType Text;sqlAdapter = new SqlDataAdapter();sqlAdapter SelectCommand = sqlComm;sqlAdapter Fill(ds);}catch(SqlException ex){MessageBox Show(ex Message);}return ds;}public int ExecuteSql() //执行insert和delete{int affectedNumber;if (sqlComm != null){sqlComm = null;}if(sqlConn State == ConnectionState Closed){sqlConn Open();}try{sqlComm = new SqlCommand();sqlComm Connection = sqlConn;sqlComm CommandType = CommandType Text;sqlComm CommandText = clientSql;affectedNumber = sqlComm ExecuteNonQuery();return affectedNumber;}catch(SqlException ex){MessageBox Show(ex Message);return ;}}}}服务器端代码 private void frmSupplierServer_Load(object sender System EventArgs e){TcpChannel chan = new TcpChannel( );ChannelServices RegisterChannel(chan);//注册提供服务的远程对象 RemotingConfiguration RegisterWellKnownServiceType(typeof(DbServerLibrary DbServer) DbServer WellKnownObjectMode Singleton);}客户端代码 解析SQL SqlParse csnamespace SupplierClient{public class SqlParse{//得到sql语句的类型public string GetSqlType(string sqlText) //type of SQL statements{}//得到select语句要查询的表名public string GetSelectTableName(string sqlText){}//得到select语句中的where子句public string GetWhereClause(string sqlText){ lishixinzhi/Article/program/ASP/201311/21754
分布式软件系统(Distributed Software Systems)是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括分布式 *** 作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等。
分布式 *** 作系统负责管理分布式处理系统资源和控制分布式程序运行。它和集中式 *** 作系统的区别在于资源管理、进程通信和系统结构等方面。
分布式程序设计语言用于编写运行于分布式计算机系统上的分布式程序。一个分布式程序由若干个可以独立执行的程序模块组成,它们分布于一个分布式处理系统的多台计算机上被同时执行。它与集中式的程序设计语言相比有三个特点:分布性、通信性和稳健性。
分布式文件系统具有执行远程文件存取的能力,并以透明方式对分布在网络上的文件进行管理和存取。
分布式数据库系统由分布于多个计算机结点上的若干个数据库系统组成,它提供有效的存取手段来 *** 纵这些结点上的子数据库。分布式数据库在使用上可视为一个完整的数据库,而实际上它是分布在地理分散的各个结点上。当然,分布在各个结点上的子数据库在逻辑上是相关的。
---------------
分布式数据库系统是由若干个站集合而成。这些站又称为节点,它们在通讯网络中联接在一起,每个节点都是一个独立的数据库系统,它们都拥有各自的数据库、中央处理机、终端,以及各自的局部数据库管理系统。因此分布式数据库系统可以看作是一系列集中式数据库系统的联合。它们在逻辑上属于同一系统,但在物理结构上是分布式的。
分布式数据库系统已经成为信息处理学科的重要领域,正在迅速发展之中,原因基于以下几点:
1、它可以解决组织机构分散而数据需要相互联系的问题。比如银行系统,总行与各分行处于不同的城市或城市中的各个地区,在业务上它们需要处理各自的数据,也需要彼此之间的交换和处理,这就需要分布式的系统。
2、如果一个组织机构需要增加新的相对自主的组织单位来扩充机构,则分布式数据库系统可以在对当前机构影响最小的情况下进行扩充。
3、均衡负载的需要。数据的分解采用使局部应用达到最大,这使得各处理机之间的相互干扰降到最低。负载在各处理机之间分担,可以避免临界瓶颈。
4、当现有机构中已存在几个数据库系统,而且实现全局应用的必要性增加时,就可以由这些数据库自下而上构成分布式数据库系统。
5、相等规模的分布式数据库系统在出现故障的几率上不会比集中式数据库系统低,但由于其故障的影响仅限于局部数据应用,因此就整个系统来讲它的可靠性是比较高的。
特点
1、在分布式数据库系统里不强调集中控制概念,它具有一个以全局数据库管理员为基础的分层控制结构,但是每个局部数据库管理员都具有高度的自主权。
2、在分布式数据库系统中数据独立性概念也同样重要,然而增加了一个新的概念,就是分布式透明性。所谓分布式透明性就是在编写程序时好象数据没有被分布一样,因此把数据进行转移不会影响程序的正确性。但程序的执行速度会有所降低。
3、集中式数据库系统不同,数据冗余在分布式系统中被看作是所需要的特性,其原因在于:首先,如果在需要的节点复制数据,则可以提高局部的应用性。其次,当某节点发生故障时,可以 *** 作其它节点上的复制数据,因此这可以增加系统的有效性。当然,在分布式系统中对最佳冗余度的评价是很复杂的。
分布式系统的类型,大致可以归为三类:
1、分布式数据,但只有一个总 据库,没有局部数据库。
2、分层式处理,每一层都有自己的数据库。
3、充分分散的分布式网络,没有中央控制部分,各节点之间的联接方式又可以有多种,如松散的联接,紧密的联接,动态的联接,广播通知式联接等。
---------------------
什么是分布式智能
NI LabVIEW 8的分布式智能结合了相关的技术和工具,解决了分布式系统开发会碰到的一些挑战。更重要的是,NI LabVIEW 8的分布式智能提供的解决方案不仅令这些挑战迎刃而解,且易于实施。LabVIEW 8的分布式智能具体包括:
可对分布式系统中的所有结点编程——包括主机和终端。尤为可贵的是,您可以利用LabVIEW图形化编程方式,对大量不同类型的对象进行编程,如桌面处理器、实时系统、FPGA、PDA、嵌入式微处理器和DSP。
导航所有系统结点的查看系统——LabVIEW Project Explorer。您可使用Project Explorer查看、编辑、运行和调试运行于任何对象上的结点。
经简化的数据共享编程界面——共享变量。使用共享变量,您可轻松地在系统间(甚至实时系统间)传输数据且不影响性能。无通信循环,无RT FIFO,无需低层次TCP函数。您可以利用简单的对话完成共享变量的配置,从而将数据在各系统间传输或将数据连接到不同的数据源。您还可添加记录、警报、事件等数据服务――一切仅需简单的对话即可完成。
实现了远程设备及系统内部或设备及系统之间的同步 *** 作——定时和同步始终是定义高性能测量和控制系统的关键问题。利用基于NI技术的系统,探索设备内部并编写其内部运行机制,从而取得比传统仪器或PLC方式下更为灵活的解决方案。
--------------------
在分布式计算机 *** 作系统支持下,互连的计算机可以互相协调工作,共同完成一项任务。
也可以这么解释:
一种计算机硬件的配置方式和相应的功能配置方式。它是一种多处理器的计算机系统,各处理器通过互连网络构成统一的系统。系统采用分布式计算结构,即把原来系统内中央处理器处理的任务分散给相应的处理器,实现不同功能的各个处理器相互协调,共享系统的外设与软件。这样就加快了系统的处理速度,简化了主机的逻辑结构
基于hadoop的分布式数据库有hbase。安装hbase除了要安装hadoop外,还要安装Zookeeper。 分布式hbase安装和分布式hadoop安装方法差不多,hbase要有master和regionserver,regionserver相当于slave,你可以在maser上面安装好hbase,然后把它拷贝到其它slave服务器,再修改一些配置
以上就是关于何为分布式数据库系统其主要目标是全部的内容,包括:何为分布式数据库系统其主要目标是、.NET Remoting 实现分布式数据库查询、SQL 数据库分布式,现需要把各个分点的数据自动传到总服务器等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)