快捷搜索:

使用C#完成分布式数据库查询

天极IT资讯短信效能 电脑小技巧
  介绍:细处着手,巧处用功。高手和菜鸟之间的不同 就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最别致 招高着儿 ,让你轻松踏上高手之路。  
 


  跟着 传统的数据库、核算 机网络和数字通讯 技能 的飞速开展 ,以数据分布 存储和分布 处理为主要特征的分布 式数据库体系 的研讨 和开发越来越遭到 人们的注重 。但因为 其开发较为凌乱,在一定程度上制约了它的开展 。基于此,本文提出了在.Net环境下使用一种新的开发言语 C#结合ADO.Net数据拜访 模型来开发分布 式数据库体系 ,大大简化了开发过程。

  1 分布 式数据库体系

  就其本质而言,分布 式数据库体系 的数据在逻辑上是统一的,而在物理上却是懈怠 的。与集中式数据库相比它有如下主要利益 :

  · 解决组织机构懈怠 而数据需要彼此 联络 的问题。

  · 均衡负载。负载在遍地 理机间分担,可防止 临界瓶颈。

  · 可靠性高。数据分布 在不同场地,且存有多个副本,即便 单个 场地发生故障,不致引起整个别 系 的瘫痪。

  · 可扩充性好。当需要添加 新的相对自主的组织单位时,可在对当时 机构影响最小的状况 下进行扩充。

  分布 式数据库体系 虽然有诸多利益 ,但它同时也带来了许多新问题。如:数据一致性问题、数据长途 传递的完成 、通讯 开支 的下降 一级 ,这使得分布 式数据库体系 的开发变得较为凌乱。幸运的是,微软的.Net开发环境为我们提供了C#开发言语 和ADO.Net数据拜访 模型,结合两者来开发分布 式数据库体系 可以 大大简化开发工作。

  2 长途 处理框架和ADO.Net

  开发分布 式数据库体系 需要解决的两个重要问题是:各场地间的数据通讯 以及对数据库的操作及管理。使用C#结合ADO.Net可以 高效、可靠地解决这两方面的问题。详细 体现 为,在C#中通过使用.Net长途 处理框架可以 便利 地解决数据、命令长途 传递问题;C#通过ADO.Net对数据库进行操作,使分布 式数据库体系 中对数据库的各种操作变得高效、可靠,同时易于解决数据一致性问题。

  2.1 .Net长途 处理框架

  完成 数据和命令的长途 传递有三种方式。第一种是使用报文或音讯 的方式,把要传送的数据转化为流格局 ,再通过套接字编程用报文的形式发送到长途 主机。此种方法麻烦,不容易 完成 。第二种是使用Web Service,即各长途 主机提供一个数据库查询效能 的Web Service。这种方式只能对单个场地进行查询,无法完成 多场地的联合查询。第三种是使用.Net长途 处理框架(.Net Remoting Framework)技能 ,它将长途 调用的技能 细节隐藏起来,效能 程序只需通过简略 的设置就能够 把本地对象变成为长途 提供效能 的长途 对象,客户端可以像拜访 本地对象一样通明 地拜访 长途 对象,所有的音讯 、报文等都交给.Net Remoting对象处理,大大简化了开发。长途 处理的一般过程如图1所示:


图1 长途 处理过程

  首要 ,效能 器端创建一个效能 器类的实例,长途 处理体系 创建一个表明 该类的代理对象,并向客户端对象返回一个对该代理的引用。当客户端调用方法时,长途 处理基础结构连接查看 类型信息,并通过信道将该调用发送到效能 器进程。侦听信道取得 该请求并将其转发给效能 器长途 处理体系 ,效能 器长途 处理体系 查找(或在必要时创建)并调用被请求的对象。然后,此过程将反向进行,效能 器长途 处理体系 将呼应 绑缚 成音讯 并由效能 器信道发送到客户端信道。终究 ,客户端长途 处理体系 通过代理将调用的成绩返回给客户端对象。

  2.2 ADO.Net

  ADO.Net以XML为核心,是.Net数据库应用程序的解决方案。它使用离线数据结构,数据源中的数据被缓存到数据集(DataSet)对象中,用户无须锁定数据源,数据以XML格局 保存。

  2.2.1 ADO.Net管理数据一致性

  在分布 式数据库体系 中,很可能呈现 多个用户同时拜访 和修正 数据的状况 ,因此,关于 分布 式数据库体系 ,数据一致性是不可或缺的。ADO.Net通过使用乐观一致性方案来控制数据一致性(实践 上DataSet对象被设计成撑持使用乐观一致性控制机制),即数据行只有在数据库中真正被更新时才会被锁定,而在绝望 一致性方案中,数据行在从被提取出来到在数据库中更新这段时间内一直被锁定。因此,使用ADO.Net可以 在更少的时间内呼应 数量巨大的用户。

  另外,在分布 式数据库体系 中,还会常常 遇到当用户修正 自从提取出来以来现已 被修正 的行时,违背 一致性原则。对此问题ADO.Net也作了很好地解决,即便 用DataSet对象为每一条修正 正 的记载 维护两个版本:原始版本和更新版本,在更新的记载 被写回数据库之前,先要把数据集中记载 的原始版本与数据库中的当时 版本进行比较,假如 两个版本匹配,就在数据库中更新记载 ;不然 ,就会呈现 违背 一致性原则的过错 。

1

作者:SONYFAN职责 修正 :方舟)

天极新媒体 最酷科技资讯

扫码赢大奖

评论

* 网友说话 均非本站情绪 ,本站不在评论栏引荐 任何网店、经销商,谨防上当上当 !

您可能还会对下面的文章感兴趣: