zhangll00 2019-11-07
使用对象关系映射在混合云基础架构中创建分布式数据库
云服务的使用面临的挑战之一是数据管理系统的设计这对于数据位于公共和私有云中的混合系统尤其重要实现监控功能查询、调度和处理软件必须正确实现,是系统的组成部分为了提供这些功能,建议使用对象关系映射(ORM)本文致力于介绍为托管在混合云基础设施中的信息系统设计数据库的方法并给出了ORM库的开发实例。
关键词:云数据库;对象关系映射;数据管理;云服务;混合云
一、introduction
高级应用程序在不同存储区的大数据上运行快速发展的云计算和云存储数据,由于并行计算、使用虚拟化技术、扩展计算资源、通过web接口访问数据,在性能上具有优势因此,实际任务是将现有的系统和数据库(DB)迁移到云。
现在,许多人担心云服务的全部优势[8]将现有系统迁移到云,而只会产生问题。使用混合云可以解决数据访问和QoS(服务质量)的安全问题获取一个需要大量计算成本且不保密且放在一般(公共)环境中的数据
云服务,其余的在私有(私有)云或本地网络基础设施中然而,在这种情况下,并没有开发出专门的云系统设计原则这个任务在[2,6]中有理论上的表述有针对特定应用的解决方案[4,7,15]。
我们的研究旨在解决设计有效混合云系统的一般原则的创建问题建筑设计技术的复杂性在于,不可能估计云的参数和查询算法,在每种情况下,购买不同数量的云服务,以及未知的路线和特征的通信信道。目前,在缺乏成熟的一般原理和技术的情况下,进行实验是研究的唯一途径。
模拟混合云运行的实验室实验台(图1)一些实验结果在[9,10]中有描述使用VMWare vCloud云计算的软件允许您在所有级别进行组织为了使用VMware ESXi在两台服务器上的实验台上创建云,建立了管理系统VCenter,安装了VMware vCloud Director展台上有超过15台思科物理交换机和路由器29系列26和系列28,以及虚拟交换机Nexus系统允许你模拟数据的访问路径,收敛发散通道(包括动态的)[13]。
(图1 实验室工作台)
科学假设的关键输入之一是保证分布式系统的结构稳定性因此,在状态空间中引入了正反馈和动态模型[11,12]许多文献[3,5]对状态空间中受控动态模型的构造和辨识进行了研究,但在硬件层面的应用并不广泛。
要实现数据库设计的原则,必须选择一个技术体系设计,在实验过程中提供快速变化,实现分布式混合云数据处理的自动化[14]为了提供这些功能,建议使用对象关系映射(ORM)。
二、与数据库的技术交互
随着信息系统与数据库应用交互结构的发展,导致开放式数据库连接(ODBC)、数据访问对象(DAO)、Borland数据库引擎(BDE)等技术的出现,为处理各种数据库提供了通用的编程接口。
软件和硬件的进一步开发需要对数据进行处理,需要访问不存储数据的SQL,以及电子邮件和目录服务为了提供这些功能,出现了技术对象链接和嵌入、数据库(OLEDB)和ActiveX数据对象(ADO)随着.Net和Qt等强大框架的出现,数据处理技术被嵌入到数据库中,提供与它们的完全集成,以及与XML半结构化数据的集成,XML已成为在文件中存储数据的常见格式。
然而,随着与数据库交互的技术的发展,软件开发人员通常不得不操作SQL查询来执行数据操作,并且查询的技术设计复杂性的增加也随之增加。
在广泛采用面向对象开发方法和应用系统的同时,DBMS在市场上的一个主导地位吸引人的解决方案是使用中间件软件,为关系数据库控制下存储的数据提供必要的面向对象接口[1]实际上,开发人员处理对象要方便得多,因为代码主要是用面向对象的编程语言编写的。
为了与开发软件的关系数据对象通信,选择了技术对象关系映射(ORM)[1](图2)。
该技术的实质是根据编程实体关系数据库对象,即为表的每个字段赋予对象的类属性,如图3所示为反射“student”本质的一个例子。
在图3所示的示例中,表字段“student s”(id_student-唯一的学生id;姓氏-学生的姓名;姓名-学生的姓名;生日-学生的出生日期;agv戋sorce-GPA student)显示在相应的类属性“student”中在此之后,透镜中的反射合并了数据处理方法因此,程序员使用一个对象,就不需要构建复杂的结构SQL,包括寻址分布式数据,它实现了执行选择、插入、更改和删除对象的方法。
(图2 通过ORM与分布式数据库交互)
(图3 对象关系映射的一个例子)
三、分布式数据库ORM库的设计
使用中间件ORM有一个很大的应用程序,如实现QxORM、EntityFramework、Dapper等但所有这些技术都只能对一个数据库进行有效的存储和管理,因为它们的功能还不足以提供一个方便的编程接口,为不同数据库的存储提供所有必要的数据。
使用ORM技术可以使控制位置数据自动化在经典的设计中,设计者必须在每个请求位置数据和软件中指定连接和断开数据库,所有这些都会导致设计复杂度和代码中错误的出现。ORM使得在每个实体属性中包含负责分布式系统中数据的物理位置的属性成为可能例如,在图4中,该属性被标记为红色。
(图4 对象关系映射属性位置示例)
当采样数据操作在此属性中自动设置数据存储设施时,添加该属性的操作必须由程序员设置因此,开发混合云数据库的相关技术ORM,就是开发一个智能终端,确定能够提高系统性能的最佳数据存储方式适当的数据库存储位置应该根据许多标准自动确定,例如通道带宽、服务器负载、客户端数量和其他其中许多参数可以通过实验获得,因此智能控制模块根据试运行期间从系统收集到的数据来存储数据以进行自适应。
基于对象关系映射数据的特点和分布式数据库的特点,解决了分布式数据库的问题,下面的类实现了ORM库,如图5所示。
类“DbEntity”通过继承类“BasicDbEntity”提供一个实体对象的反射,如图6所示这个类包含处理数据所需的所有方法,即sample、add、change和delete。
类“DbEntityView”提供与通信“多对多”和“一对多”开销继承相关联的反射实体,如图8所示这些类监视所有通信的数据完整性。
类«DbProcess»提供到数据库的连接和查询通常,即使在设计中,使用ORM,也不需要SQL,不排除希望对数据库执行特定请求的情况相同的数据类使用类«DbEntity»、«DbEntityLink»、«DbEntityView»进行直接查询。
类“QueryOptions”以特殊结构提供存储请求,并使用示例过滤器和排序生成必要的查询这些类是用来生成查询的类«DbEntity»、«DbEntityLink»、DbEntityView»。
(图5 ORM库的结构)