云计算环境下异构数据库整合技术研究与实现.docVIP

云计算环境下异构数据库整合技术研究与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
云计算环境下异构数据库整合技术研究与实现

云计算环境下异构数据库整合技术研究与实现   摘要:该文提出一种通过利用云资源、分布式部署实体数据库代理服务端Agent、异构数据库服务端Server和服务网站等模块,构建一个异构数据库整合的多线程原型系统的方法。系统中Agent实现对实体数据库进行第一层虚拟和执行SQL请求;Server解析自定义查询语言和整合Agent返回结果;服务网站则提供基本的注册、申请和下载服务;原型系统各模块间通过套接字进行网络通信,通信内容为XML格式,外部可以通过自定义的查询语言访问原型系统。通过实现这套分布式的原型系统,达到高效整合异构数据库的目的。   关键词:异构数据库;数据整合;云计算   中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2013)14-3232-04   云计算[1]是近些年新兴的一种重要的信息技术。它是构建在互联网上的一组新兴技术,可以将高速互联网、高性能计算机、大型数据库、传感器、远程设备等融为一体,实现计算资源、信息资源、知识资源等的全面共享。云计算的这些诸多特性为异构数据库的访问和整合等提供了一种新的平台访问方式。通过对云计算的应用对异构数据库进行整合,可以很好的利用分布在不同数据库中的相关数据。   随着计算机应用的发展和普及,存储器容量的扩大,数据需求的明细化,地域分布的不平衡化等,在这样的背景下,数据量也呈现出了高增长性。现而今怎样高效利用这些分布在异构数据库中的数据或者方便的对分布在不同地域、不同数据库管理软件中的数据进行统一访问并对数据进行整合成为了一个具有意义的挑战[2-4]。   本文针对在云计算环境下如何设计与实现异构数据库整合这个问题展开讨论,提出一套可行的方案及其实现方法。   1 不同数据库的差异性   数据库系统发展至今,出现过层次模型、网状模型、关系模型等数据库模型[5]。当前使用最广泛的数据库大多都是关系型数据库,其中Oracle、SQLServer和MySQL占有了很大的比例[6]。这三种数据库各有各的特性和用户群体,以及许多各自的细节问题。   1.1 整体框架上的差异性   Oracle是一种分布式数据库,是目前最流行的B/S体系结构的数据库之一,其可???展性、可维护性都较强,但是由于其模块较多,组织形式也叫复杂;SQLServer只能运行在Windows上,一个SQLServer服务就是一个实例,另外还要运行SQLServer Agent执行作业、监视 SQL Server、激发警报及允许自动执行某些管理任务和SQLServer Browser实现远程服务。MySQL可以在多种操作系统上运行,虽然其跟Oracle等大型数据库相比在大数据量上性能不是很好,但是其小巧灵活,所以仍有许多市场。   1.2 不同数据库不同的连接方式   首先这三种数据库都能够实现远程连接、远程控制,说明其都实现了底层的套接字通信,而在默认的监听端口上Oracle是1521,SQLServer是1433,MySQL是3306。除此之外,监听的端口信息还可以自由配置,虽增加了灵活性,但也因此使连接到数据库变得更加复杂。而且要连接到这些数据库,数据驱动也不相同,需要根据是哪种数据库而加载不同的数据驱动。   1.3 SQL底层执行时的略微不同   三种数据库虽然都以SQL作为结构化查询语言,但是各自都对SQL做了相应的修改,因此在许多细节方面都存在差异。比如将主键定义为自动增长标识符类型,MySQL的方法是把表的主键设为auto_increment类型,SQLServer则为identity类型,而Oracle则为设置customer_id_seq序列的方法设置自增序列。三种数据库在数据类型方面也有些不同。   2 异构数据库方案的设计   4)insert,与SQL相同,语法和用法省略。   除了这些与SQL有关联的之外,还有其他一些操作:   5)dblist:查询已连接的数据库信息,从虚库中查询。   6)vdb:查询虚拟数据库的信息;   7)add:添加一个与Agent交互的连接添加内容,并修改虚拟数据库和服务实体数据库,参数是Agent端的IP和端口号,需要admin权限;   8)help:显示帮助信息。   2.2 简单的词法、语法解析及执行自定义SQL过程   为了保证简单的自定义查询语言在使用过程中的正确性,需要进行词法和语法的分析,其中词法分析器的作用是扫描有无非法字符,并将单词抠出,方便下一步语法分析;语法分析器的作用是判断关键词是否正确,语法格式是否正确,标识符是否使用正确等等。   在底层查询过程中,通过扫描虚库获取数据库名和字段名,再将其与自定义的查询语言设计部分相整合,便可构成一条完整的SQL查询语句

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档