SaaS模式下多租户数据库的研究
2012-08-20何海棠朱晓辉陈苏蓉
郑州铁路职业技术学院学报 2012年3期
何海棠,朱晓辉,陈苏蓉
(南通大学,江苏 南通 226007)
0 前言
SaaS(Software-as-a-Service)类软件应用具有基于网络完成交付和使用、允许用户按需付费并在一定环境下对操作界面、数据结构等个性化定制的特点。SaaS应用所对应的数据库为多租户数据库,是多租户数据存储和个性化定义的保障。在设计时,需结合SaaS模式的特点,合理地平衡数据共享和数据隔离[1-2],既使不同租户的数据达到某种形式上的统一,促进数据的高效访问,又保证各租户数据的个性化和存取的独立性。
本文基于.NET环境,以SQL Server 2008为数据库管理软件,以面向中小型企业信息化管理的SaaS软件为例,在考虑数据共享和数据隔离的基础上,围绕多租户数据的存储、子用户与租户的对应、子用户权限的管理、租户数据的扩展等几个方面对SaaS模式下的多租户数据库进行研究。
1 多租户数据的存储
SaaS模式下的多租户数据库按数据的存储形式可分为独立数据库和共享数据库。独立数据库和租户间为1∶1关系,每个租户在自己的独立数据库中进行数据存取。共享数据库和租户间为1∶n关系,所有的租户共用一个数据库,不同租户在同一个数据库中进行数据存取;根据共享数据库中的租户是否使用相同的表集,还可分为共享SCHEMA和独立SCHEMA 两种架构[2-4]。
无论采用哪种数据库存储方案,均需解决数据库和租户间的对应问题。该问题的解决可通过构建存储租户基本信息的注册租户表解决,在该表中设置companyID字段和connectionString字段以体现租户和数据库间的对应。……
登录APP查看全文
