saassaas

Force.com 多租户架构

2017-09-27  本文已影响0人  程程哥

本文参考自官方文档

多租户架构

作为云计算平台的先驱,Salesforce最大的特点是“软件即服务”(Software as a Service,Saas)。实现这种技术的基础便是“多租户架构”(Muntitenancy)。

定义引自维基百科:

多租户技术(英语:multi-tenancy technology)或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。

这种架构的优点在于:

多租户架构的核心——元数据驱动

Salesforce多租户架构的核心是元数据驱动。不同于传统的关系数据库结构,Force.com中的对象、字段等并没有存储在实际的、静态的数据表中。在Force.com中,这些对象、字段等由元数据定义,在运行时动态编译生成。

Force.com中定义了一个全局数据字典(Universal Data Dictionary,简称UDD)。在UDD中存储了各种逻辑数据,包括但不限于:

举个例子。当用户创建了一个对象,比如“地址”,Force.com并不会真正的创建一个名为“地址”的数据表,而是将“地址”对象的定义保存为元数据。在运行时,系统会读取“地址”的定义,然后将其动态编译成“地址”对象,供用户使用。

这样做的好处是当用户需要修改对象定义时,在Force.com的后台不需要修改某个数据表的结构,而只是修改数据表中的某一条记录,让整个过程变得高效、稳定。

与此同时,Force.com中也使用了许多复杂的缓存技术来缓存诸多元数据,从而提高系统的效率。

元数据存储的数据模型

Force.com中使用诸多数据表来存储元数据和其他数据及关系。在实际的系统中它们有着复杂的名字和定义。为了描述方便起见,在下文将它们的名称做简化,着重描述它们的功能。

上一篇 下一篇

猜你喜欢

热点阅读