基于json的异构数据库整合研究_毕业论文(编辑修改稿)内容摘要:
系 型数据库在性能上似乎 达到 了瓶颈,特别是高并发性的 SNS纯 动态网站 和 超大规模的门户网站的时候更 显得力不从心。 这时 NoSQL 应运而生,它 抛 弃了关系型数据库 的许 多限制性能提升的 部分 , 因为 这些 部分 在处理 表单 的存储上是可 有 可 无 的东西。 同时 ,在互联网上的应用 更 让它声名 鹊起 , 许 多大公司 在 NoSQL 的概念 下 开发出了实际可用的数据库 产品 ,例如: Amazon 的 Dynamo、Google 的 BigTable、 Zvents 的 Hypertable、 Apache 的 Hbase,这些都是很有代表性的产品,并且在实际应用中得到检验。 本文所研究的数据库 在现代数据库产品中,网状数据库和层次数据库都已经成为历史了。 当今,关系型数据库仍然牢牢占据市场头把交椅,绝大多数系统都是以关系型数据库产品作为其数据中心。 NoSQL 目前虽然炙手可热,但应用比较局限,在高并发、海量数据、高度可扩展的环境中应用比较多,比如 SNS 网站、云计算等。 所以本文的研究对象是关系型数据库(在以下内容,“数据库”这个词在没有特别强调的情况下都指的是关系型数据库)。 异构数据库 异构数据库系统是多个相关的数据库系统的 一个 集合, 因为实际业务的需要,必须 实现 异构数据库系统之间 数据的透明访问和共享,异构数据库系统 中 每个数据库系统在加入异构数据库系统之 初 本身就已存在, 完全独立 拥有 属于 自己的 数据库管理系统 [5]。 异构数据库 系统 的各个 数据库系统 具有自治性, 它们共享 数据的同时,每个数据库系 统依然 保有自己的完整性控制 、 安全性控制 和 应用特性。 异构数据库系统是一个既与各个异构数据库有密切联系,又区别于各个数据库的新的概念,它的研究目标是对物理上分布的一个或多个异构数据库,在尽可能少的影响本地数据库的自治性的基础上,构造出具有开发者所需要的可以接口统一、透明访问的全局 数据库管理系统,以支持对内部各个数据库的全局应用和异构数据库之间的数据信息共享和交换 [6]。 异构数据库系统的形成原因主要有以下几方面: 1) 计算机 平台不同。 计算机系统指的是计算机基础环境,包括硬件平台、操作系统、访问控制、并发控制和通信方式。 具体细分如下: 第 2 章 异构数据库整合 7 A)计算机硬件异构。 根据计算机 CPU 的不同,也就是数据库系统可能分别存储在大型机、小型机、工作站、个人电脑或嵌入式系统等中。 B)操作系统的不同。 数据库所在计算机的操作系统可能是 Microsoft 的Windows、 WindowsNT、各种版本的 Unix、 Linux、 IBM05/ MacOS 等。 C)开发语言的不同。 比如 C、 C++、 Java、 Delphi 等。 D)网络平台的不同。 比如以太网结构、令牌环结构等。 2) 数据库 系统 不同。 A) 数据库 系统 类型不同。 即便计算机平台相同了,在该平台上采用的 数据库系统 也 可 以 是不同,如 网状、层次、 关系 、非关系型数据库等 [7]。 B) 数据库产品不同。 即数据库 可 能 是同为关系型 不同厂商的 数据库系统的 如 MySQL、 PostgreSQL、 Oracle、 MS SQL Server、 DB2 等。 也可能是相同厂商不同时期的数据库产品或不同品牌产品 [8]。 3) 逻辑结构不同。 逻辑结构不同体现在命名差异、值类型差异、模式不同和语义不同等。 比如语义的差异具体体现在相同的数据形式表示几种不同的语义,又或者同一语义由几种不同形式的数据表示 [9]。 异构数据库整合的背景和意义 当今时代,信息资源己成为政府企业的每个部门的重要资源和财富。 建立起一个满足各级部门以及跨部门信息处理要求的的信息系统成为一个组织或企业健康生存和持久发展的先决条件。 而作为信息系统基础和核心的数据库技术得到非常广泛的应用。 毫不夸张的讲,每个系统都有至少有一个或者多个数据库支持。 无论 是大型信息系统还是小型单项事务处理系统,无论是联机分析处理还是联机事务处理,无论是计算机辅助设计与制造 (CAD/CAM)[10]、计算机集成制造系统 (CIMS)、办公信息系统 (OA)、地理信息系统 (GIS)还是一般企业管理到等,几乎每个应用领域都采用数据库处理并存储它们的数据信息资源,达到了无数据库不系统的地步。 然而,随着信息化建设的持续不断深入和计算机科学技术的快速发展,数据库应用技术发展到现在,已经有很多的科研机构和企业积累了大量的数据,这些数据中又有很多是以电子数据的形式存在于数据库中,由于信息建设 规划不足、部门差异、系统差异,导致大量的异构数据的存在,这些数据中又有很多是重复冗余的,同时数据库使用者并为存储和管理这些数据进行不断投资。 而且企业内各部门或者政府不同部门需要从彼此不同的应用系统的数据库中获取并管理业务数据,以充分利用系统资源。 不仅如此,在同一行业内部的信息也迫切需要集成,比如,国内外各大航空公司都研发自己的航空信息系统,而综合各大航空公司的第 2 章 异构数据库整合 8 票务数据信息为广大用户提供统一的查询服务,对用户来讲将受益匪浅。 就信息数据源而言, 同一企业或组织存在 多种数据库系统是客观事实。 因历史遗留存在着层次、网 状以及关系数据库系统,对同一时期的同一大企业、及其各部门使用不同数据库系统更是屡见不鲜,并不是人们去刻意追求异构数据库系统,而是上述问题在现实中难以避免。 以一个大型企业或组织为例,它在国内外都有分公司或部门,存在不同的时期、不同的分公司可能安装了不同的数据库系统如 MS SQL Server、 Sybase、 DB Oracel 等。 即使是一个经过严密信息规划的企业或组织,随着时间的推移、行业技术的变革、认识的变迁、以及数据库技术和市场的变化,都极有可能形成异构数据库的局面。 因此,为了使异构数据库中系统中的数据 能够以最简便的方式的实现数据资源共享、减少数据冗余,使用户仅通过一个全局查询就能得到一个全面的结果,而不必去知晓各个物理数据库系统的组成和分布,我们迫切的需要集成多个异构的数据,建立一个异构的数据库系统。 这样开发者就可以仅通过一个透明和统一的接口来访问异构数据库系统中的所有数据了。 异构数据库整合的目标 异构数据库系统整和的最终目的是实现终极数据资源共享和降低开发者使用数据库的难度。 对于异构数据库系统整合以后在功能上需要实现的两大具体目标是: 1. 数据透明性 当开发者需要进行数据库读写操作时,仅 需要使用整合数据库中的表或者属性的逻辑名称即可。 但是,事实上这个整合数据库可能是分散在很多不同地理位置节点上的异构数据库组成的,这些物理上异构子库是分别由自己不同的局部数据库管理系统( LDBMS)管理。 异构数据库整合后的系统就是需要利用整合系统管理所有数据代替局部异构数据库独立完成某项读写,从而达到如下数据透明的效果: A) 数据库物理位置透明; B) 数据表、数据项透明; C) 数据库异构性透明; D) 局部映射透明; E) 异构数据库汇总结果透明。 2. 操作透明性 操作透明性具体指的是开发者在进行整合后的异构数据库系统读写时,操作 变得十分简单,开发者只需清楚怎么与整合的异构系统进行交互就行了,而不必去了解怎么与各个异构数据库系统的交互。 具体体现在: 第 2 章 异构数据库整合 9 A) 开发者不需要知道计算机网络组成及其的使用方法; B) 开发者不需要知道各节点上的计算机操作系统、数据库管理系统; C) 开发者不需要关注全局 SQL 语句的分解; D) 开发者不需要关注向局部异构数据库的读写操作; E) 开发者不需要关注局部查询结果如何返回给查询结点以及如何汇总等。 异构数据库整合的基本方法 异构数据库整合的方法比较多,总结起来都是将其在数据库管理系统( DBMS)一级上做一些工作,将数据 库系统的的异构统一起来,因为在这个层次上才能保证异构数据库系统自身的独立完整性。 异构数据库 整合基本方式 从物理本质上看异构数据整合方式可以分为两类,其一数据复制方法,其二模板 映射方式。 1) 数据复制方法是将原来的数据库中的数据转移到新的数据库系统中,同时抛弃以前的数据库系统,改而使用新的数据库系统。 图 21 形象的展示了这一过程,将原始数据取出来,经过数据转换,然后写到新的目标数据库里面。 由于异构数据库之间的数据类型一般都有差异,特别是数值类型的数据,为了把不兼容的数据类型写入,必须这些数据类型转 换成新的数据类型。 不少数据库供厂商都提供这种功能,但也就局限于该供应商自己的数据库产品之间。 这种方案的缺点是需要抛弃原有的系统,使用新开发的系统,成本比较高。 因此,这种方案只适用于那些确定需要抛弃原有系统的情况,在这种情况下,只需要把原来的数据导出来即可。 并且该方法很繁琐,特是表结构发生大的变化时,工作量将很大。 故该方案局限性很强,不具有通用性,因此本文后面也就不研究这种方法。 原 始 数 据 库目 标 数 据 库数 据 转 换 图 21 数据复制方法示意图 2) 模板映射方法是使用中间件、中间系统等技术来整合各种异构数据库系统,该方法的特点是不会改变原 来数据库系统的管理方式,也就是保证了异构数据库第 2 章 异构数据库整合 10 的独立性。 该方法工作于应用程序之间和异构数据库系统之间 [11],向下访问可各个异构数据库,向上为应用程序提供统一的数据表、数据项、数据类型以及通用数据访问的接口。 如图 22 所示,该图展示了采用模板映射的方法实现了异构数据库整合,特点是应用程序与数据库之间多了个模板映射中间件或中间系统,也就是说,应用程序不直接与数据库系统交互,而是通过直接访问中间件或中间系统来实现间接访问数据库系统。 若不考虑中间件的性能的话,显模板映射是最为理想的整合异构数据库的方法,因为它不仅 实现了 节提到的目标,而且具有通用性、可扩展性。 所以本文研究方法锁定在模板方法上。 图 22 模板方法示意图 异构数据库整合常用方式 现在,主流的数据整合方式有以下几种:数据仓库(即 Data Warehouse)、联邦数据库(即 Federated Database)、中间件(即 Middleware) [12]等。 1) 数据仓库。 建立一个数据库系统,将这个数据库作为数据仓库,通过 ETL(即 Extract Transformand Load)工具手动或自动的多个异构数据库系统读取数据并过滤 ,并将需要更新的数据写到数据仓库,如图 23 所示,它展示了一个整合了 2 个异构数据库的数据仓库。 与一般普通的数据库系统不同的是:数据仓库中存储的主要是汇总数据和历史数据。 它的定位是为企业高级管理人员提供数据分析和决策支持 [13]。 第 2 章 异构数据库整合 11 用 户数 据 仓 库E T L E T L数 据 库 A数 据 库 B 图 23 数据仓库示意图 2) 联邦数据库。 联邦数据库是异构数据库整合方法中的比较最简单方式。 它的实现方法是将所有组成异构数据库做一对一的相互连通,如图 24 所示。 这样就会出现如下的情况:如果需要整合 n 个异构数据库,那么 n 个数据库中的任何一个都需要访问其他的 (n 一 1)个数据库, 那么这意味开发者需要编写 n(n 一 1)段代码以实现两两之间的相互访问。 可看到这种方法弱点比较明显,即维护、升级代价太高。 数 据 库 A 数 据 库 B数 据 库 C 数 据 库 D 图 24 联邦数据库 3)中间件( Middleware)。 中间件是种独立的 应用 服务程序 和 系统软件,分布式应用 程序 借助这种软件在 异构 的技术之间 实现 资源共享。 中间件位于操作系统之上, 通过计算机网络通信,实现数据交流。 它 是连接两个独立系统 和 独立应用程序的软件。 与中间件相 连接的系统, 尽管 它们 可能 具有不同的接口,但 是他们通过中间件互 连 之 后就 能 进行数据 信息交换。 数据库中间件是中间件的特定一种 ,它分别连接这用户和数据库,数据库中间件负责完成所有的数据逻辑处理(比如第 2 章 异构数据库整合 12 数据统计,数据排行,数据转换等),为客户端提供了统一的访问接口,起着用户和服务器机器之间的桥梁作用,中间件在收到用户的请求后,它会根据请求的内容找到不同的数据库并对相应的数据去请求数据,中间件在使用 SQL 语句将数据库中的相应数据取出后,再在中间件层中进行各种逻辑操作,在处理完成后再返回给客户端。 如图 25 所示,数据库中间件的工作原理图。 数据库中间件具有以下特点:移植性好、集成方便、易于扩充、使用简单、安全级别高。 P C P C P C数 据 库 中 间 件数 据 库 A 数 据 库 B 数 据 库 C 图 25 数据 库中间件示意图 异构数据库 数据整合重难点 要实现异构数据库系统的整合需要做的以下几点: 1) 首先需要选取一种通用的数据交换格式; 2) 通用数据交换格式转化成关系型数据库的数据; 3) 关系型数据库的数据转换成通用数据格式; 4) 通用数据交换格式表达 ORM 模型的关系;。基于json的异构数据库整合研究_毕业论文(编辑修改稿)
相关推荐
的流行。 系统开发的目的与意义 预约系统是采用先预约先分配的方式,用户必须使用用户账号和密码登陆,进行时间预约与使用查看。 它减少实验室预约者的时间开支,提高实验室使用效率,能使实验室与使用者更和谐。 2 预约系统拥有后台管理人员,从广度上尽可能的使用互联网,最大限度的使用现有资源。 同时,方便实验室的 管理。 由上可知,实验室预约管理系统的实现是非常符合需求的。 开发工具以运行环境 开发工具:
品 请先登录,若未注册请注册成为会员 用户进入 以会员的身份进入 用户进入 以管理员的身份登录 会员注册 查看商品 河南理工大学毕业设计(论文)说明书 6 业务流程 分析 系统的基本业务流程如下:首先用户来到系统首页,根据自己需要和目录分类信息查看选择鲜花,选择完毕在进入订购鲜花环节之前,需要顾客进行注册登录才能进行 继续填写和生成订单的功能,登录成功后可以填写订单信息
进行详细的说明。 在下一阶段的详细设计中,程序设计员可参考此概要设计,在概要设计对供求 信息网站所做的模块结构设计的基础上,对网站进行详细设计。 在以后的软件测试以及软件维护阶段也可参考此阶段,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。 都市供求信息网 12 都市供求信息网模块结构图 图 系统模块结构图 都市供求信息网个模块功能设计 1
教师的工作负担及提高工作效率 ,与此同时也提高了考试的质量 ,从而使考试更趋于公证、客观、更加激发学生的学习兴趣。 例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。 为了适应新形势的发展 ,我们推出了这一系统 ,使其尽快在各类考试中发挥高效 ,便捷的作用 ,把老师从繁重的工作中解脱出来。 本文共分五个章节,系统地阐述了系统开发的全过程。 第一章,主要介绍了开发的背景
有准确的销售订单预测,并根据历史数据再加上经验制定需求计划。 原材料的计划也是在此基础上制定。 仓库的布局欠缺对物料的流动频次等的考虑。 生产线的正常生产是主要是在制品较 高库存和原材料较高库存的保证上完成的。 与客户的成品交付上更多的也是建立成品高库存的基础上。 下面集中探讨原材料和产成品库存,从仓库向生产线的配送以及相关的问题。 1)计划方法不科学 8 公司的库存是建立在
va 平台的任何系统中运行。 这种途径适合于异构的网络环境和软件的分发。 Java 语言是可移植的。 这种可移植性来源于体系结构中立性,另外, Java 还严格规定了各个基本 数据类型 的长度。 Java 系统本身也具有很强的可移植性, Java 编译器是用 Java 实现的, Java 的运行环境是用 ANSI C 实现的。 Java 语言是解释型的。 如前所述, Java 程序在 Java