`
cppmule
  • 浏览: 447255 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

SaaS模式实现架构实例分析=数据库层的设计

 
阅读更多

 

1、  数据库层:

数据库这一层的设计模式是很清晰的,无外乎只有3种方案:

(1)       所有客户的数据都存放在一个数据库的同一套表中, 在表中增加Company_id等标志字段,表明该记录是属于哪个客户的。

      优点:数据源和数据库的管理都比较简单。和原来的应用没有差别。

缺点:数据权限比较复杂,增加程序的复杂性。如果应用比较复杂,很多数据表都需

要加入客户标志字段,很多查询都需要包括该字段,会比较麻烦。如果有遗漏,、特别是查询条件中遗漏该字段,就会造成一个客户看到另一个客户的数据。

(2)       每个客户独立一个数据库:

在应用服务器中配制不同的数据源,或者使用不同的连接池。

优点:不同客户的数据物理分离,安全性比较好。

      缺点:数据库连接的利用效率不高。Performance 问题会很大

(3)       多Schema,单数据源

这个方案基本是方案2的变种。同一个数据库下可以有多个Schema

优点:除了方案2的优点以外,共享数据源或连接池,效率更高。

缺点:和方案一比较起来,数据库连接池开销会比较大

 

所有以上方案都是所有客户共享同一个应用(WAR或EAR)。

 

 

这里我选择方案三,并结合了方案一,对于登陆/验证/权限,所有的客户共享一个Schema,而对于业务数据,则每个客户一个Schema.

 

我做了200个不同的Schema,用户名和密码分别是demo1/demo1 到demo200/demo200,大家可以按照不同的用户名和密码登陆。

 

这台机器就是一台式机,不是专用服务器,网络也是放在我家里的小区宽带上,是通过无线路由器上的网,所以网速可能不太稳定。

 

后面几篇文章陆续写了实际的一些实现

分享到:
评论

相关推荐

    SaaS模式的进销存实战架构分析

    综上所述,SaaS模式的进销存实战架构分析涉及了SaaS模式的理解、成熟度模型的应用、技术架构设计目标的设定以及数据库层的三种设计方案。这些内容对于理解如何在SaaS环境中构建适应性强、能满足个性化需求的进销存...

    基于SaaS模式的进销存实战架构分析

    ### 基于SaaS模式的进销存实战架构分析 #### 1. SaaS成熟度模型 在探讨具体的架构之前,我们先回顾一下SaaS(Software as a Service,软件即服务)成熟度模型的基本概念。SaaS模式的核心在于通过互联网提供软件...

    SaaS模式分析

    ### SaaS模式分析 #### 一、SaaS概念与特性 **SaaS**(Software-as-a-Service,软件即服务)是一种新兴的软件交付模式,它利用云计算技术为用户提供便捷的软件服务。与传统的软件安装模式相比,SaaS模式最大的特点...

    SaaS架构设计

    在SaaS架构设计中,有几个关键知识点是必须要理解的: 1. **多租户架构**:SaaS的核心特征之一就是多租户,即多个客户(租户)共享同一软件实例。这要求设计时考虑数据隔离、定制化需求和资源分配,同时确保每个...

    SaaS 架构设计

    总的来说,SaaS架构设计涵盖了软件工程的多个方面,包括但不限于软件架构、数据库设计、安全性、性能优化和运维实践。理解这些知识点并合理应用,可以帮助构建出高质量的SaaS服务,满足用户的多样化需求。

    SaaS微软官方实例架构

    在大型企业应用中,SaaS架构的重要性不言而喻。它能够减少企业的IT成本,简化软件更新和维护,同时提供跨设备、跨平台的访问能力。对于开发者来说,理解微软的SaaS实例架构是构建高效、稳定和安全的云应用的关键。 ...

    visio信息化设计实例软件开发-saas监控产品架构.zip

    在这个名为"visio信息化设计实例软件开发-saas监控产品架构.zip"的压缩包里,我们主要关注的是如何利用Visio进行SAAS(Software as a Service)监控产品的架构设计。 1. **Visio信息化设计**:Visio提供了丰富的...

    基于SaaS模式的流程引擎和规则引擎服务模型研究

    基于SaaS模式的流程引擎和规则引擎服务模型研究的知识点涵盖了SaaS的概念、SOA架构、云计算、服务化软件交付模式、多租户设计、以及流程引擎和规则引擎在SaaS环境中的应用与优势。以下是对这些知识点的详细解读。 ...

    《SaaS云服务现状与应用实例分析》14000字.docx

    - **云计算的SaaS架构**:构建灵活高效的SaaS平台。 - **神州云APP系统功能**:提供丰富的应用程序和服务。 - **神州云APP模式的优势**:降低运营成本、提高用户体验。 ##### 5.2.4 神州云APP系统存在的问题及解决...

    微软SaaS架构和战略

    【微软SaaS架构和战略】 在信息技术领域,软件即服务(Software as a Service,简称SaaS)已经成为一种主流的交付模式,尤其对于企业级应用来说,它提供了许多优势,如成本效益、灵活性和可扩展性。微软作为全球...

    基于 AWS 的 SaaS 架构 2.0.pdf

    通过上述分析,我们可以看到基于 AWS 的 SaaS 架构 2.0 为企业提供了强大且灵活的工具和技术,以满足日益增长的市场需求。借助 AWS 的强大功能,企业不仅可以构建出高度可扩展、安全可靠的 SaaS 平台,还能充分利用...

    一个比较完整的SAAS 云平台 的架构设计文档

    1. 多租户架构:SaaS平台的核心是多租户设计,它允许多个独立的组织或用户共享同一应用实例,同时保持数据隔离。这种设计降低了运维成本,提高了资源利用率。 2. 弹性伸缩:云平台需要具备弹性伸缩能力,以应对不同...

    SaaS数据模型设计

    在SaaS(Software as a Service)模式下,数据模型设计是构建高效、可扩展和多租户应用程序的关键组成部分。一个良好的SaaS数据模型能够确保所有用户都能在一个共享的环境中安全地存储和访问数据,同时保持数据隔离...

    Spring Cloud & SaaS 实战经验分享

    在文档中提及的SaaS多租户数据库方案主要指的是数据库设计的一种模式,以支持多租户的架构设计。多租户架构中,不同租户的数据需要在同一个数据库实例中被有效隔离,以保证数据安全性和隐私性。在文档中提出了三种...

    SAAS企业级项目架构部署

    【标题】"SAAS企业级项目架构部署"指的是在企业环境中构建基于SaaS(Software as a Service)模式的应用,这种架构通常采用前后端分离的设计,旨在提供高效、灵活且易于扩展的服务。 【描述】中的“前后端分离”是...

    一种基于云的SaaS分布式多租户数据库研究.pdf

    根据提供的文件信息,我们可以提炼出以下...以上知识点涵盖了分布式系统、数据库设计、云计算技术、以及多租户架构等IT领域的关键技术点,为理解和设计基于云的SaaS分布式多租户数据库提供了丰富的理论基础和技术指导。

    BS模式程序设计实例.pdf

    【描述】:该文档详细介绍了基于BS(Browser/Server,浏览器/服务器)模式的程序设计实例,主要应用于在线餐饮服务平台,旨在为中小型餐饮企业提供SaaS(Software as a Service)解决方案。 【标签】:BS模式,SaaS...

    元数据驱动多租数据架构核心领域知识和案例详细说明

    例如,Salesforce 平台就是一个典型的多租户架构实例。Force.com 是其核心,它不仅管理底层基础设施,还为Sales Cloud、Service Cloud、Chatter等服务提供Platform-as-a-Service (PaaS)。Force.com 平台的元数据驱动...

Global site tag (gtag.js) - Google Analytics