您好,欢迎来到好走旅游网。
搜索
您的当前位置:首页基于原生数据库的SaaS存储模型

基于原生数据库的SaaS存储模型

来源:好走旅游网
计算机系统应用 http:// ̄,vw.c—S—a.o唱.ca 2013年第22卷第6期 基于原生数据库的SaaS存储模型① 张晓雯,杨健 (海军大连舰艇学院基础部,大连I16018) 摘 要:SaaS应用中的多租户数据存储是当前的热门研究点,现有解决方案大都基于关系数据库,采用模式映射 技术.从SaaS的存储灵活性和分布式特点分析了使用原生XML数据库的可行性,并给出了适合多租户数据的 XML存储结构,能够有效支持SaaS的上述特点. 关键词:软件即服务;多租约;原生) ̄VIL数据库 SaaS Data Storage Model Based on NXD ZHANG Xiao—Wlen.YANG Jian (Department ofBasic Science,Dalian Naval Academy,Dalian l 1601 8,China) Abstract:Multi—tenancy data storage is important in SaaS application.Most of solutions are based on RDB,which use schema mapping techniques.In this pape ̄Discuss the flexibility of data storage and the distribution to explain that we can use NXD in SaaS.Give the XML structure which is fit for multi-tenancy and eficientlfy suppo ̄SaaS features. Key words:SaaS;Multi-tenancy;NXD 随着随着云计算的普及,SaaS(Sott-ware as a Service) ̄务模式得到了越来越多的关注.所谓SaaS, 译为“软件即服务”,是指将软件在互联网上托管为服 务,并通过互联网存取.用户可以根据自己的需求, 通过互联网向服务的提供商订购所需要的应用软件服 务,并通过互联网获得这种的服务.SaaS的核心优势 就是多租约(multi-tenancy),即指一个应用可以被多个 租户租用,而每个租户都拥有自己的定制.在基于 在一个或多个数据库服务器中,这种方案的数据隔离 最高,安全性最好,但成本也最高. 1.2共享数据库、独立数据架构 各租户共享数据库,但拥有自己独立的架构.即 每个租户拥有自己专门的表、视图等,形成自己的独 立架构.这种方案相对容易实现,支持大量的租户, 但租户之间数据没有完全隔离. 1.3共享数据库及数据架构 SaaS的应用中,由于业务数据来自不同租户,这就要 求在数据共享和数据隔离之间把握平衡,还要满足租 户对的数据结构自定义等方面的要求.为了解决SaaS 所有租户共享一个数据库,同一架构,只用租户 编号等标识来区分,这种方法数据隔离度最低,共享 度最高,对数据安全控制的要求很高.这种方法不易 扩展,不能超过表中提供的字段个数,而且扩展字段 中大部分字段可能为空,会造成空间的浪费. 为了解决以上问题,将可扩展标记语言 XML(eXtensible Markup Language)与关系数据库结合, 可在满足租户对SaaS数据扩展需求的同时,不改变原 有关系结构.当前许多关系型数据库产品都增加了 应用中多租户数据存储问题,目前有几种主要的解决 思路. 1现状 根据数据隔离和数据共享程度不同,可以采取以 下三种不同的设计方案【11. 1.1独立数据库 XML数据类型,并允许SQL访问字段中的XML文档. 每一个租户拥有独立的数据库,多个数据库允许 ①收稿时f ̄:2012.11.21;收到修改稿时间:2012-12・26 但这种方式需要将文件转换为表,再存储到数据库中, 1 82研究开发Rese删I and Development 2013年第22卷第6期 http://www.c・S-a.org.Oil 计算机系统应用 降低了效率,将其恢复成原文档时,很多格式信息会 丢失,这种方式只适用于以数据为中心的文档,但对 于以文档为中心的数据,其结构不规则、数据粒度大, 很难映射为关系数据库中的表【2】. 以上这些方法都关注于SaaS的多租户特点,还 可以从SaaS的web特点来看.原生XML数据库 (NativeXmlDatabase)的提出是为了解决web上出现 的大量的非结构化和半结构化数据,在不破坏XML 图2等价于私有表的XML存储结构 数据的结构的同时,能快速地存储访问所需的数据【3】. SaaS应用也是web应用,也存在着同样问题,这就为 SaaS应用中使用NXD提供了可能. 总之,适合SaaS多租户特性的数据库并没有出现, NXD作为web上XML数据存储的理想解决方案,可 以在基于web的SaaS应用中发挥自己的功用. 2可能性分析 原生XML数据库是指放弃原有的关系型数据 库的结构,基于XML层次模型建立数据库结构. NXD是否能满足SaaS的特性呢,下面对其进行可 能性分析. 2.1 NXD可满足SaaS对数据存储灵活性的要求 在基于关系数据库的扩展模型中,依靠增加表或 在表中增加字段,而基于XML的扩展模型只对XML 字段进行扩展就可满足要求.XML数据类型在应用程 序和关系型数据模型间提供隔离层,允许数据以非关 系模型进行操作,不局限于CLOB或关系模型.基于 XML类型的数据对字段数量扩展没有限制,字段类型 也没有限制.因此,基于XML的数据类型,可以灵活 应对不同租户的数据扩展需求.以下是一个共享数据 库、独立数据架构的例子: Tenant345 FirstName Birthdate Subscibe Ted 1970-07-02 NO Kay 1956 -25 NO Tenant438 FirstName Birthdate S s Expi ̄ Mary l962.12-21 Gold 2010-7-29 Tenant784 图l一个私有表的例子 2.2 NXD可满足SaaS数据存储分布式特点 理想的SaaS数据库具有分布式、全局可访问的特 点,SaaS应用提供中心存在于云(cloud)中,而云是由大 量的雨滴(raindrops),也就是服务器共同组成,因此服 务器间的数据交互起着至关重要的作用.租户数据信 息被分布式的存储到大量的服务器中,这些服务器的 数据存储通常是异构的,这种情况下,XML作为web 上数据交换的流行标准,可以发挥重要的作用. SaaS应用提供中心如图3所示.云由众多的应用 提供服务器组成,服务器的数据存储往往是异构的. 服务器间使用XML进行数据交换.NXD作为XML的 理想存储解决方案,可以有效地支持分布式数据存取. 图3云中的SaaS应用提供中心 3基于NXD的SaaS多租户数据存储架构 根据以上分析,基于NXD的SaaS存储架构如图4 所示. 原生XML数据库是以XML数据模型为中心的数 据库管理系统,其存储方案、索引结构和查询引擎均 针对XML数据进行了优化设计.在涉及大量文档的 应用领域,原生XML数据库的性能要优于基于关系数 据库的XML管理方法.主流关系数据库厂商将原生 XML数据库的存储管理和查询处理技术无缝集成到 Research and Development研究开发1 83 计算机系统应用 http://v, ̄rw.c-S-a.org.cn 2013年第22卷第6期 传统RDBMS中已成为目前的一种趋势 钔.  f查询 上Xquery/Xpath 、芝 三三;一~—一三三三 L~ \~~一、\~一/ ~~一一一 :_~~、 一一— 图4基于 I的saas多租户数据存储架构 ’ 在 》(D中,每个)r3vIL文档用于存储一条记录, 数据库中允许这些记录异构(可采用不同的D'rD),这 样就把Ⅺ 几运用到了整个数据库层次.对应关系数 据库的三层结构:数据库、表和记录,M》(r)也可以设 计为三层:定义层、数据层和记录层. 3.1定义层 定义层主要是DTD或XML Schema文档,是用来 定义XML文档结构的.它们记录N=》(D顶层的逻辑信 息,规定了XML文档的格式和框架,这一层对整个 NXD进行管理,并没有包含实质的数据,是为下一层 数据层服务的.图5是一个DTD文档例子: <?xml ve ̄ion=7.07encoding= ̄B23127> <!ELEMENT employees(employee+)> <!ELEMENT meployee(name,salary,department>) <!ATTLIST meployee id ID#REQUIRED supervisor IDREF#IMPLIED> <!ELEMENT name(#PCDATA)> <!ELEMENT salary(#PCDhTh)> <!ATTLIST salary payperiod CDATA#IMPLIED> <!ELEMENT dapartment(dname+)> <!ELEMENT dnamc(#PCDATA)> 图5 employees文档的DTD定义 3.2数据层 数据层是能满足一定应用需要的多条记录的逻辑 集合.这一层真正存放XML文档,它利用已经定义的 标签向在定义层已经固定好的“模板”中填充数据,只 有符合定义层规范的才是合法的.针对上例,利用 DOM技术为XML文档建立一棵DOM树,如图6所 示,可以看出,XlVlL文档在逻辑上是树型结构,保留 1 84研究开发Research and Development 了原来结构清晰、层次分明的特点 图6 employees文档的部分DOM树 3.3记录层 记录层是由多个具有相同或相似特性的同类型记 录对象组成的实体集合.NXD将XML文档解析并存 储为与DOM模型类似的树状结构中,树状结构进行 查询时需要借助合适的索引结构来加速查询速度. 当前对XML这样半结构化数据的索引主要分为 三类:基本索引、路径查找索引、结构导航索引. 33.1基本索引 基本索引是最基本的索引结构,通常由简单的查 找表构成.基本索引不考虑文档的层次结构,只是按 照元素、属性、文本等对节点进行索引.基本索引只 执行单一查询步骤,对于复杂结构查询效率比较低. 基本索引对自顶向下和自底向上的查询都适用【 . 3.3.2路径查找索引 路径查找索引是对整个XML文档所有路径进行 索引.一般适用于自底向上的查询. 路径索引节点的数据结构如下: public class Plnode //路径索引节点类 { int elementTypeld; //节点中关键字数目 PINode child[childrenNo】 //子树节点对 象数组 Element element[elementNo】 //每个元素类 型对应的元素节点数组 ) 按照查询语句中的WHERE子旬的查询路径找到 元素节点列表.通过添加查询条件可进行元素节点的 筛选,还可利用节点的父指针向上遍历整个DOM树, 从而找到满足条件的节点.在上面的例子中,若要找 到路径employees/employee/name可到达的所有节点列 2013年第22卷第6期 http://www.c—S—a.org.ca 计算机系统应用 表,使用路径索引可以先对路径/employees/employee/ XML动态性和良好的扩展性,可以在SaaS应用中广 name对应的元素进行定位,然后沿着父指针找到满足 泛使用. 条件的/employees/employee路径对应的元素. 3-3-3结构导航索引 参考文献 结构导航索引使用树或有向图表示XML文档的 1 Grund M,Schapranow M,Krueger J’et a1.Shared Table 结构,并保存文档的所有路径.一般适用于自项向下 Access Pattern Analysis for Multi-Tenant Applications. 的查询. AMIGE,IEEE Symposium,2008. 为了进行有效的查询,在设计XML存储系统时 2陈静,蔡鸿明,徐博艺.网站内容管理及个性化网页系统的研 要建立相应的索引机制满足查询的要求. 究与实现.计算机应用于软件,2007,24(9):14-16. 3周爱武,李孙长,程博,夏松.XML数据库的研究与应用.计算 4结语 机技术与发展,2009,19(9):218-221. 传统的SaaS应用中,解决多租户数据存储问题, 4王鑫,袁晓洁,冯志勇,张坤龙,王树义.原生存储方案的数据 大都基于关系数据库,但这些解决方案各有优缺点, 更新机制.计算机应用,2010,30(3):821—824. XML正好弥补了关系数据库的不足,NXD保留了 5罗时辉.XML数据存储管理系统.南京:南京理工大学,2003. (上接第97页) 7周忠海,泮利,张奚宁,张涛.BP神经网络及其在图像压缩中 参考文献 的应用.中国水运(理论版),2006,(6). l李盼池,王海英,杨雨.基于T-S模型和PQGA的油田指标预 8 Martin HT,Demuth BH,Beale HM.戴葵,等译.神经网络设计. 测方法.计算机应用与软件,2012,(4). 北京:机械工业出版社,2002. 2朱红求,阳春华,桂卫华,李勇刚,钱坚.基于SVM和混沌PSO 9 Sollich P,K∞gh A.Learning with ensembles:How 的除钻过程工艺指标预测.中南大学学报(自然科学版), over-fiRing Can be usefu1.In:Touretaky D,Mozer M, 2010,(4). Hasselmo M,eds.Aduances in Neural infoumation 3冯云.一种基于神经网络和多元统计分析的动态预测建模 Processing Systems 8.Cambridge,MA"Mit Press,1996:190 方法【学位论文】.哈尔滨:哈尔滨工程大学,2005. -196. 4张国翊.胡铮.改进BP神经网络模型及其稳定性分析.中南 1O张丽平,俞欢军,陈德钊,胡上序.粒子群优化算法的分析与 大学学报(自然科学版),201 1,(1). 改进.信息与控制,2004,(5). 5王俊清.BP神经网络及其改进.重庆工学院学报(自然科学 11方伟,孙俊,谢振平,须文波.量子粒子群优化算法的收敛性 版),2007,(3). 分析及控制参数研究.物理学报,2010,(6). 6陈流豪.神经网络BP算法研究综述.电脑知识与技术,2010: 36. 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务