- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于关系型与 Key-Value 型数据库混合存储 的多租户数据存储架构 蔺皓,王柏** 5 10 15 20 25 30 35 40 (北京邮电大学计算机学院,通信软件中心,北京 100876) 摘要:针对 SaaS 多租户、可配置、易扩展的特点,在设计其数据存储架构时存在三种主流 方案:数据库分离法、表空间分离法以及共享表空间法。这三钟基于关系型数据库的方案都 存在其明显的弊端,无法全面满足 SaaS 数据分离、安全、高效的特性。新型 Key-Value 数 据库有表结构不固定、易扩展的特性,但却无法同时满足 CAP。本文将关系型数据库与新 型 Key-Value 数据库结合,取二者之长,建立一个多租户、数据分离、高安全、高可扩展的 数据存储架构。 关键词:SaaS;多租户;Key-Value;关系型数据库;数据存储 中图分类号:TP311 The Key-Value Relational Database Based Design of Multi-Tenant Data Architecture LIN Hao, WANG Bai (Telecommunications Software Engineer Group, Beijing University of Posts and Telecommunications, Beijing 100876) Abstract: To impliment a well-designed SaaS application(multi-tenant, configurable, and scalable), there are three well-known designs of data achitecture: Separate Databases, Shared Database with Separate Schemas, and Shared Database with Shared Schema. The three relational DB based signed have their obvious drawbacks that no one can fully meets the needs of a data-seperated, security and scalable SaaS application. Key-Value database supports elastic schema and linear scalability, but can not meets CAP at the same time. This paper combines the two kinds of databases, and investigates a multi-tenant, secure, high scalable data achitecture. Key words: SaaS; Multi Tenant; Key-Value; Relational Database; Data storage 0 引言 软件即服务(Software-as-a-Service,简称 SaaS)[1]作为一种新型软件运营模式,有低成 本、集中运维、快速实现等优势。针对 SaaS 多租户运营模式的特点,其数据存储层的设计 必须满足数据独立、高安全、可扩展、易扩容[2]的要求。在传统软件数据存储层的设计方案 中,开发者根据已知需求建模数据实体。该方案无法支持数据独立、无法扩展,因此需要一 种面向 SaaS 的数据存储架构。 Frederick Chong 等人在微软的一篇白皮书中[3]提出三种解决方案: 数据库分离法为每个租户创建独立的数据库,系统将不同租户的数据模型创建在各自的 数据库,并为其创建数据操作映射。该方法需消耗大量系统资源,且维护难度高。 表空间分离法将各租户映射到同一个数据库的不同表空间。该方法可减少系统资源消 耗,但数据独立性弱于前者且难以进行错误回复。 共享表空间法让所有租户将数据存储在同一表空间中,通过每张表的租户 ID 区分记录 作者简介:蔺皓,男,北京邮电大学研究生 通信联系人:王柏,女,教授,下一代电信运营支撑系统与智能信息处理. E-mail: wangbai@ -1- 属于哪个租户。该方案数据索引速度慢,且无法按租户要求进行数据结构扩展。 针对共享表空间法,杜佳提出了定制字段、预分配字段及 Key-Value 对三种方案[4]。定 制字段使表中出现许多 null 值降低存储效率;预分配字段扩展能力有限且存储效率不高; Key-Value 对的数据查询效率很低,完全违背了关系数据库设计的初衷。 45 50 5
文档评论(0)