基于SAAS模式的共享模型的数据扩展技术研究基于SAAS模式的共享模型的数据扩展技术研究.docx

基于SAAS模式的共享模型的数据扩展技术研究基于SAAS模式的共享模型的数据扩展技术研究.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于SAAS模式的共享模型的数据扩展技术研究基于SAAS模式的共享模型的数据扩展技术研究

基于SAAS模式的共享模型数据扩展技术研究0 引言??随着Internet技术的迅猛发展,将软件作为一种新的服务形式提供给客户的需求量逐年增加,而SAAS(Software as Service,软件即服务)作为一种新型软件服务形式的出现正是顺应了这个需求。它是一种颠覆传统的软件服务形式,将使软件供应商与客户之间的关系发生彻底转变,从简单的售卖关系转变为服务关系。??SAAS服务面向互联网上的所有租户,每个租户根据自身的实际情况,所要求的数据结构各不相同,SAAS软件开发商们在搭建基于共享模型的SAAS架构时就不得不考虑各租户之间数据结构的差异性问题。针对各租户所要求的数据结构的不同,在进行系统数据库设计时就要对各租户不同的数据结构实施相应的数据扩展策略。1 SAAS数据模型在设计基于SAAS模式的系统数据模型时,出于降低开发成本和接受服务的客户量等考虑,在数据的隔离、共享之间取得一定的平衡是一个必须考虑的重要因素。就一般而言,SAAS系统的数据模型有如下三种形式:??(1)独立数据库??将每个客户的数据单独存放在一个独立数据库中,使各客户间的数据完全隔离,最大限度地保证了客户数据的安全。??(2)共享数据库、单独模式??所有客户共享数据库,但各自有一套独有的数据表来存放各个客户的数据。这在各客户数据的隔离和共享之间取得了一定的平衡。??(3)共享数据库、共享模式??所有客户共享一个数据库和同一套数据表。该模式下的一个数据表里可以包含多个客户的数据,由客户ID来区分数据归属于哪个客户。该模型具有投入成本低等特点,而且每台数据库服务器可以支持最大的客户量;但是由于所有客户的数据库存放在同一个数据表中,因此可能需要花费更多额外的成本来保证客户之间的数据安全。2 共享模型的多租户数据扩展方案??在这种模式下,所有的客户共享数据库、共享表结构,所有客户的数据存放在同一个数据表中,通过客户ID来区分不同客户的数据。该模式的数据库服务器硬件和数据备份成本最低,它允许每个数据库服务器所支持的客户量达到最多。但是由于所有客户共同使用一个表,在可扩展性、可配置性上产生了瓶颈。??为了解决这个问题,通常有以下三种方法。??2.1 定制列??即使用固定扩展集,指在表中除了各租户共有的一些字段外,还包括各租户各自独有的一些字段。如:可设计Table(TenantID,FixedColl,ExtendColu1,ExtendColu2...ExtendColun),其中TenantID,FixedColl是固定字段;ExtendColu1,ExtendColu2...ExtendColun是扩展字段。??这种方法不需要处理复杂的数据扩展跟踪,单随着租户的增加,每个租户要求添加的列就很多,但特定租户扩展的数据列对于其他租户是没有任何意义的,严重地破坏了表的结构,并且提供的扩展有限,有时扩展字段中的字段可能为空,给表空间带来了巨大浪费。??2.2 预分配字段??该方法在表格中提供一定预设数量的预设字段,当客户需要扩展数据时,从表中选取适量的预设字段来扩展数据,但每个客户选取的预设字段的涵义可能不同。如表1中F1、F2、F3就是预分配的字段。??在表1中,TenantID字段将每条记录与租户相关联。除了一组标准字段外,还提供一些预设字段,预设字段的使用由租户决定,预设字段的数据类型可以不同,一般采用字符串数据类型,并使用元数据来跟踪其真实数据类型,如表2所示。表1 预分配字段?表2 元数据跟踪表??该方案虽然满足客户数据的可扩展、可配置型,但在给定的数据表中,预设字段的数量具有不确定性,有的客户需求多,有的客户需求少。如果预设字段的数量设得过大,就会浪费空间;设得过小,又不得满足所有客户的需求。??2.3 名称值对??名称值对讲所有用户异构的数据(扩展的数据)放在一个扩展表中,并在主数据表中有一个字段与扩展表相关联,并且用元数据表中的元数据来跟踪相应扩展字段的标记和数据类型。该方法使客户自己能够对数据模型进行延伸。元数据表存储各个客户定制字段的信息,包括字段名称和数据类型。数据表、扩展表和元数据表间接关系如图1所示。?图1 数据表、扩展表、元数据表间关系??该方法能最大限度地满足所有客户的无限扩展需求,客户能够自行决定数据的可扩展、可配置性,又保持了在该数据模型下的成本优势。虽然这种结构可以方便地扩展无数个字段,但增加诸如索引、查询以及更新记录等数据功能的复杂程度。3 基于XML的共享模型的多租户数据扩展方案??在共享模型的SAAS系统中,所有客户共享表结构,但租户间的数据结构是不同的,将异构的数据存入到固定的表,需要对异构的部分数据进行处理。而XML数据中数据结构是不尽相同的、是异构的,但可以通过XML技术灵活地管理XML数据中的节点。因此,可利用XML数

您可能关注的文档

文档评论(0)

cduutang + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档