浅谈:SaaS系统中的数据模型设计思路(1)
出处:CIOAge 文: 唐君 评论 ( 0 ) 条 ( 0 ) 砖 ( 0 ) 好 论坛 博客
阅读提示:在如今的中小企业管理软件市场中,特别是在中国,应用企业管理软件来优化运营及提升企业生产效率的需求一直在持续上升,而其中基于软件即服务理念的SaaS模式也为很多企业所青睐,但由于目前市场上这一模.....

本文尝试通过对国内外对于基于SaaS模式的数据模型的几种常见思路及其适用场景的研究,对这方面的若干关键问题进行初步的探讨和分析。

SaaS系统常见数据模型
在设计SaaS系统的数据模型时出于服务客户及减低开发成本等考虑,在数据的共享和隔离之间求得一定的平衡是必须考虑的一个重要因素。

因此一般在设计对应数据模型时不仅要考虑到技术因素,例如怎样构建一个弹性架构以支持数目不定的客户、怎样消除大容量并发访问数据库对系统性能造成的压力以及怎样允许用户按需扩展自定义数据等;同时也必须将商业因素纳入考虑范围之中,例如架构在该SaaS系统上的业务应用主要面向哪些行业的客户、目标客户对于数据存储方式是否有基于一定法律法规的要求等等。一般而言,SaaS系统的数据模型有如下三种形式:


图1. SaaS的三种数据模型


独立数据库
将每个客户的数据单独存放在一个独立数据库是实现数据隔离的一种最为简便的解决方案。


图2. 独立数据库模式


在应用这种数据模型的SaaS系统中,大部分系统资源和应用代码还是由所有的客户所共享使用,但物理上每个客户有自己的一整套数据,而且单独存放。系统将借由元数据(Metadata)来记录哪一个数据库属于哪一个特定客户,与此同时也可以部署一定的数据库访问策略来确保即使系统处于异常状况下,客户数据也不会被其它客户意外访问到。
显而易见的是,一旦每个客户拥有其独立数据库,那他将可以轻易的对其做个性化的修改来符合其实际业务需求,而且如果系统出现异常情况需要将历史备份数据重新恢复的话,也将是一项轻而易举的工作。但是,这种数据模型的最大问题是对应的部署和维护成本非常高,硬件资源的消耗将明显高于其它两种方案,一台服务器将只能支持有限数量的客户。作为一种对应的解决技巧,系统可以定期使用例如SQL Server 2003中提供的Auto-close功能将暂时没有活动连接使用的数据库实例从服务器的内存中移除,因此每台服务器可以更灵活的支持相对较多的客户访问,但这也只能在一定程度上缓解服务器的压力。
当客户由于所处行业因素或其它商业因素的限制,愿意支付额外的费用来做到数据隔离,确保数据安全,这种独立数据库的数据模型将是最为适合的解决方案。举例来说,处于银行业或医疗行业的客户们经常会有非常强的隔离数据的需求,这些客户甚至可能根本不会考虑去使用任何不提供客户独立数据库支持的SaaS系统。

共4页: 1 [2] [3] [4] 下一页
【内容导航】
 第 1 页:SaaS系统常见数据模型  第 2 页:共享数据库 单独模式
 第 3 页:共享数据库 共享模式  第 4 页:成本因素
已有0人发表看法
我来说两句
验证码: (如果看不清请点击图片进行更换.)   匿名
最新评论更多..
服 务 CIO 推 进 信 息 化
主编推荐
最近更新
热门文章
中国CIO周刊
CIO深陷困境 实施SOA是否是建“乌托邦” CIO深陷困境 实施SOA是否是建“乌托邦”
去年,史高所在的方信市信息中心的老处长退休了,当了5年副处长的史高被扶了正。刚刚上任,就赶上了实施“金市”工程,方信市将要建立统一..
何经理的困惑:如何解决网站外包存在的风险 何经理的困惑:如何解决网站外包存在的风险
何经理所在的公司是一家制造行业的民营企业,主要生产管件、轴承等产品,由于地处东南沿海,何经理的老板对于信息化很重视,眼看着一个个..
洞察
SaaS概念要落地 软件提供商不能任意定价 SaaS概念要落地 软件提供商不能任意定价
软件领域任何字母都可能组合成新的名词,进而上升到概念的高度,SaaS也不例外。2003年SaaS提出,顷刻间概念飞遍了各个角落,然而,概念不..
VSAT卫星通信系统在交通应急通信中的应用 VSAT卫星通信系统在交通应急通信中的应用
本文针对交通应急行业的特点论述了VSAT卫星通信技术在交通应急系统上应用的必要性和未来发展前景,并制定最佳的实施方案,使之具有科技含..