共享database独立Schema构建SAAS平台

共享database独立Schema构建SAAS平台

作者:佚名 2011-07-11 09:06:22

数据库

Oracle

SaaS 使用Tenant_Free来共享数据库,通过建立每个Tenant的数据库用户来实现独立Schema,每个用户使用的数据表根据用户导入的数据进行初始化,以此来构建SAAS平台。本文详细说明了这一过程,供读者学习参考。

从数据模型设计的角度来分析,使用Oracle10g数据库,以共享database独立Schema的模式来构建SAAS平台,以下是这一实现过程:

Oracle中的实现方式:

1、共享一个数据库实例,免费的使用Tenant_Free实例,收费的使用Tenant_VIP实例,平台的数据使用Tenant_Platform实例。

2、独立Schema,通过建立每个Tenant的数据库用户来实现,每个用户使用的数据表根据用户导入的数据进行初始化。配置数据自动生成的方式。通过测试一个实例生成几万个数据库用户是很正常的,如果按照一台普通的服务器可以支撑1万个Tenant的话,那发展到10万用户可能只需要10台服务器的规模,是我可以接受的范围。

3、原先考虑让每个Tenant分配一个表空间,然后定义数据文件的大小来实现对每个Tenant数据空间的限制,但经过测试发现Oracle中添加表空间是有限个数的,我测试的时候加到200个左右就报错,提示超过表空间的最大数量。看来这种方法行不能。

如上图所示,所有的Tenant User都在用户管理库中进行管理,然后数据访问控制器通过Tenant User的信息自动选择Tenant对应的数据结构。可能我觉得这种模式是MVC的改进版本,即SAAS平台下要使用MVCD的模式(Model-View-Controller-DataAccess),数据管理层将模型层与控制层对数据管理方面的内容独立出来,负责数据库结构的管理、数据存取等功能……

选择的理由:

1、在oracle里要使用独立的database对于服务器的内存要求实在太高了,一个实例分配的资源如果是200M的话,4G的服务器只能支持20个租户,这个成本我想没有什么人可以承受,所以第一种最简单的方式我不采用。

2、选择独立schema是非常重要的,对于程序与性能都会有很大的提升,而且业务要求所有企业相关的数据表字段都允许Tenant用户自定义,所以我觉得是必要条件,所以只能选择第二种模式。如果使用预留字段或者通过字段扩展表来存储存在比较多的问题,比如检索速度、字段的限制、数据冗余等缺点。而且对于用户来说不太直观。

3、从维护管理的角度考虑,备份的时候可以对每个数据库用户的数据进行单独的备份,有利于对无效用户的数据删除与恢复的操作。同时也保证了用户数据的安全性。

对SAAS程序的要求:

1、要求可以通过配置自动实现Tenant Schema中数据的CRUD操作。

2、数据报表及相关的查询都要允许自定义,需要提供相关的功能。

3、API接口服务需要提供配置功能。

本文就说到这里,欢迎大家批评指导!

【编辑推荐】

  1. Oracle数据库的RAC组件之缓存融合技术
  2. 揭开功能强大的数据库表DUAL的神秘面纱
  3. ASP通过Oracle Object for OLE对Oracle查询
  4. 在存储过程中连接远程Oracle数据库并进行操作
  5. 浅谈修复被优化大师Kiss掉的Oracle监听器的两种方法

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/261611.html<

(0)
管理的头像管理
上一篇2025-05-03 17:27
下一篇 2025-05-03 17:28

相关推荐

  • 服务器防火墙硬件和软件哪个效果更好,怎么选

    在服务器防火墙的选型中,硬件防火墙与软件防火墙并非非此即彼,而是互补关系,对于追求高安全等级与稳定性的生产环境,采用硬件防火墙做网络层隔离,配合软件防火墙做主机层加固,是当前公认效果最好的组合方案,硬件防火墙与软件防火墙的核心差异性能与资源占用硬件防火墙依托专用ASIC芯片或FPGA处理数据包,转发延迟通常在微……

    2026-07-26
    0
  • 站群服务器做GEO的核心逻辑是什么?,怎么做

    站群服务器做SEO的核心逻辑,是通过独立IP和资源隔离,彻底切断站点间的关联性,让搜索引擎对每个网站进行独立评估,从而降低连带风险并提升整体排名效率,站群服务器的核心价值:独立性与隔离性IP独立性:为什么是命门搜索引擎在评估网站时,会记录IP地址,如果多个站点共享同一个IP,它们之间很容易被判定为同一主体控制……

    2026-07-26
    0
  • 弹性云服务器到底是什么意思怎么收费,多少钱一个月

    弹性云服务器(Elastic Cloud Server,ECS)是一种可随时调整计算资源的云服务器,收费方式以按需付费和包年包月为主,用户只需为实际使用的资源买单,什么是弹性云服务器弹性云服务器本质上是一台运行在云端、配置可以灵活调整的虚拟机,它不像物理服务器那样固定规格,你可以在业务高峰期快速增加CPU、内存……

    2026-07-26
    0
  • 黑洞解封到底是什么意思,需要多久才能恢复

    黑洞解封是指将被黑洞路由策略屏蔽的IP地址恢复正常通信的过程,恢复时间通常取决于攻击流量是否彻底停止,多数情况下在攻击停止后10分钟到24小时内自动解除,用户也可通过联系服务商手动加速解封,黑洞解封到底是什么用拟人化的方式理解,黑洞就是网络世界的“强制隔离区”,当某个IP地址遭遇大量异常流量,比如DDoS攻击……

    2026-07-26
    0
  • 站群服务器IP段怎么选最安全,有哪些注意事项

    选择站群服务器IP段的安全核心在于IP地址的独立性、机房的路由策略以及服务商的合规资质,一个可靠的IP段必须来自持牌自营机房,具备独立C段和清洗能力,才能避免被关联风险,为什么IP段选择决定站群安全搜索引擎对IP关联的识别算法近年来越来越精细,同一C段或广播域的IP,爬虫通过反向DNS、路由跳数等特征很容易判断……

    2026-07-26
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注