论坛首页 Java企业应用论坛

多个客户共享同一个数据库的设计办法

浏览 14667 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-08-24  
现在公司要做一个SAAS模式的在线服务系统.就是多个客户的数据都存在同一个数据库中,那么将来每个客户的数据该怎么维护啊????怎么备份,还原其中某一个客户的数据呢????欢迎大家前来讨论,指教啊!!!

数据库设计方面 有兄台说用啥表空间,把每个客户的数据物理分开,呵呵.不是太懂,之前也就用ORACLE的时候用过表空间,并且都是只用一个表空间的,.项目可以肯定是不会用ORACLE做数据库的,花费高,数据库只会用SQL SERVER或者MYSQL中的之一.

还有一种办法就是每个客户对应一个标识ID,将来每个表中都加个该客户的标识ID,问题还是怎么维护数据啊???
   发表时间:2011-08-24  
都给点指导啊???
0 请登录后投票
   发表时间:2011-08-24  
刚查了下相关文档,发现这叫SAAS服务的多租户特性.SAAS服务通常基于一套标准软件系统为成百上千客户(又叫租户)提供服务.这要求SAAS服务能够支持不同客户之间配置和数据的隔离,从而保证每个租户数据的安全与隐私,以及用户对诸如界面,业务逻辑,数据结构等的个性化需求.由于SAAS同时支持多个租户,每个租户又有很多用户,这对支撑软件的基础设施平台的性能,稳定性,扩展性提出很大的挑战....
0 请登录后投票
   发表时间:2011-08-24  
看看guzz的VirtualDB,每个用户创建一个数据库,所有数据库的表结构完全一样。

公共的数据存到一个一起。

如果用户个性化数据不多,也可以用shadow在一个库中,把每个用户的数据放到单独的小表中。
0 请登录后投票
   发表时间:2011-08-24  
学习。觉得每个用户一个数据库合适吗?是不是有一套规则, 可以根据用户id来访问表啊。
0 请登录后投票
   发表时间:2011-08-25  
你们的数据库是如何部署的?多少数据库服务器?客户规模如何,估计每个数据库服务器要支持多少客户?
0 请登录后投票
   发表时间:2011-08-25  
个人感觉还是一个用户一个数据库比较容易实现吧。

包括用户数据的备份还原这些都容易操作。
0 请登录后投票
   发表时间:2011-08-25  
你这什么都不懂的人来做的东西谁敢用?
0 请登录后投票
   发表时间:2011-08-25  
简单做法,按用户平切schema,共用数据放默认的共用schema

0 请登录后投票
   发表时间:2011-08-25   最后修改:2011-08-25
ironsabre 写道
你这什么都不懂的人来做的东西谁敢用?

往往敢想敢做的人能做成 ^ ^

Mirima 写道
简单做法,按用户平切schema,共用数据放默认的共用schema

呵呵,这个是最简单最easy的做法了,每个用户一个schema,轻松搞定。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics