CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > CIO子站 > 企业外包

浅谈SaaS系统中 数据模型设计方法

作者: 唐君,  出处:SAP中国研究院, 责任编辑: 徐蕊, 
2008-04-09 18:07
  本文尝试通过对国内外对于基于SaaS模式的数据模型的几种常见思路及其适用场景的研究,对这方面的若干关键问题进行初步的探讨和分析。

  前言

  在如今的中小企业管理软件市场中,特别是在中国,应用企业管理软件来优化运营及提升企业生产效率的需求一直在持续上升,而其中基于软件即服务理念的SaaS模式也为很多企业所青睐,但由于目前市场上这一模式的解决方案所能覆盖的范围有限,而且有些开发实施运营中的关键问题迟迟得不到很好的解决,导致这一市场还没有能被真正被开发起来。

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

  一. SaaS系统常见数据模型

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

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

  SaaS 数据库

  1.1独立数据库

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

  SaaS 数据库

  在应用这种数据模型的SaaS系统中,大部分系统资源和应用代码还是由所有的客户所共享使用,但物理上每个客户有自己的一整套数据,而且单独存放。系统将借由元数据(Metadata)来记录哪一个数据库属于哪一个特定客户,与此同时也可以部署一定的数据库访问策略来确保即使系统处于异常状况下,客户数据也不会被其它客户意外访问到。

  显而易见的是,一旦每个客户拥有其独立数据库,那他将可以轻易的对其做个性化的修改来符合其实际业务需求,而且如果系统出现异常情况需要将历史备份数据重新恢复的话,也将是一项轻而易举的工作。但是,这种数据模型的最大问题是对应的部署和维护成本非常高,硬件资源的消耗将明显高于其它两种方案,一台服务器将只能支持有限数量的客户。作为一种对应的解决技巧,系统可以定期使用例如SQL Server 2003中提供的Auto-close功能将暂时没有活动连接使用的数据库实例从服务器的内存中移除,因此每台服务器可以更灵活的支持相对较多的客户访问,但这也只能在一定程度上缓解服务器的压力。

共4页。 1 2 3 4 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i