CIOAge.com IT推动创新
浅谈:SaaS系统中的数据模型设计思路(2)
出处:CIOAge 文: 唐君 评论 ( 0 ) 条 ( 0 ) 砖 ( 0 ) 好 论坛 博客
阅读提示:在如今的中小企业管理软件市场中,特别是在中国,应用企业管理软件来优化运营及提升企业生产效率的需求一直在持续上升,而其中基于软件即服务理念的SaaS模式也为很多企业所青睐,但由于目前市场上这一模.....
共享数据库 单独模式(Schema)
第二种方式则是所有客户使用同一数据库,但各自拥有一套不同的数据表组合存在于其单独的模式之内。


图3. 独立模式(Schema)


在这种数据模型下,当客户尝试第一次使用该SaaS系统时,系统在创建用户环境时会创建一整套默认的表结构,同时将其关联到该客户的独立模式。此时一般使用SQL CREATE命令来创建模式,同时授权一个用户帐号来访问该模式。举例来说,在SQL Server 2005 中可以使用如下命令:
CREATE SCHEMA ContosoSchema AUTHORIZATION Contoso
接下来,系统可以使用SchemaName.TableName来访问该客户的模式:
CREATE TABLE ContosoSchema.Resumes (EmployeeID int identity primary key, Resume nvarchar(MAX))
一旦模式创建完毕,它将成为该客户所属用户帐号访问的的默认模式
ALTER USER Contoso WITH DEFAULT_SCHEMA = ContosoSchema
一旦默认模式设置完毕,在使用该客户的用户帐号进行SQL语句操作时就不要再使用SchemaName.TableName 来指定特定的数据表,而是只需要指明表名即可。因此在系统代码内一句简单的SQL语句就可以应用于所有客户,而且每个客户仅访问到自己的模式内的数据:
SELECT * FROM Resumes
这种客户独立模式的方式相对比较容易被实现,而且从数据扩展性而言,这种解决方案和独立数据库一样,客户可以相对自由的对其中的数据结构进行新增和修改。一般在最初创建该客户的模式时,系统会预先创建一整套默认的数据结构,但在那之后,客户可以对其做个性化的修改来符合其实际业务需求
这种客户独立模式的方式在数据共享和隔离之间获得了一定的平衡,它既借由数据库共享使得一台服务器就可以支持更多的客户,又在物理上实现了一定程度的数据隔离以确保数据安全
但这种解决方案的一个不利之处就是当系统出现异常情况需要将历史备份数据重新恢复的话,流程将变得相对复杂。因为如果每个客户拥有独立数据库的话,那么只需恢复该客户最近的数据库备份即可。但在独立模式的模式下,如果简单的恢复数据库备份,那就意味着数据库内所有客户的数据将一同被恢复,无论该客户是否数据受损或需要做数据恢复与否。因此,在独立模式下,如果系统管理员希望恢复某个特定客户的数据,需要将数据库的备份解压到某临时服务器空间内,然后选定特定客户的表数据将其覆盖到系统主数据库内,一般来说,这将是一项非常复杂且耗时的工作。
这种客户独立模式的方式比较适合应用在每个客户拥有比较少的表数量的情况下,比如每个客户只有100张表或更少。这种方式毫无疑问可以在每台服务器上支持比独立数据库方式更多的客户数量,减低了服务供应商的运营成本。因此一旦SaaS系统的潜在客户们不介意其数据与其它客户的数据物理上存放在同一数据库内,这将是SaaS系统开发商一种理想的选择。

共4页: 上一页 [1] 2 [3] [4] 下一页
【内容导航】
 第 1 页:SaaS系统常见数据模型  第 2 页:共享数据库 单独模式
 第 3 页:共享数据库 共享模式  第 4 页:成本因素
已有0人发表看法
我来说两句
验证码: (如果看不清请点击图片进行更换.)   匿名
最新评论更多..
服 务 CIO 推 进 信 息 化
主编推荐
最近更新
热门文章
中国CIO周刊
浪潮通软助力建峰化工信息化展现CIMS之舞 浪潮通软助力建峰化工信息化展现CIMS之舞
建峰化工CIMS工程的立项,获得了重庆市经委和科委的支持,两个机构分别向该工程拨款10万元和6万元人民币。虽然这部分资金与建峰化工CIMS工..
做好教育信息化需先行 浙大网络的S+S体验 做好教育信息化需先行 浙大网络的S+S体验
浙江大学网络信息系统有限公司是国内最大的教育软件专业开发商、教育电子商务提供商之一,占据国内校校通、城域网软件平台50%以上市场份额..
洞察
揭秘:中小化工企业拒绝ERP的四个理由 揭秘:中小化工企业拒绝ERP的四个理由
拥有43个行业、3000多家大企业、2~3万家中小企业的化工行业,其信息化水平究竟如何呢?前不久记者采访了中国化工信息中心副主任李中。李..
SaaS概念要落地 软件提供商不能任意定价 SaaS概念要落地 软件提供商不能任意定价
软件领域任何字母都可能组合成新的名词,进而上升到概念的高度,SaaS也不例外。2003年SaaS提出,顷刻间概念飞遍了各个角落,然而,概念不..