A multi-tenant OpenEdge database is a shared database with a shared schema and logically and physically isolated data storage on a per tenant or group basis. Each object (table, index, LOB) is stored in a partition. Partitions keep data physically separate for each tenant. Partitions can exist in the same storage area or different storage areas. All multi-tenant objects are required to reside in a Type II area. If an object has an allocation state that indicates not to allocate data, then the partition is not created. Access to a partition can be disabled without deleting the data.
OpenEdge defines a tenant as a separate organizational entity within a multi-tenant database. For example, a tenant can equate to one company, or a division within one company. Access to a tenant's data is restricted to users that are authenticated to the tenant via a security domain. For information on security domains, see OpenEdge Getting Started: Identity Management.
For tables that are defined to be multi-tenant, each tenant has its own instance of the multi-tenant table (unless a partition for that table has not been allocated for that tenant). Tenants have access only to the data in the instances designated for that specific tenant as well as to tables that are shared. Two special cases are as follows:
In a non-multi-tenant database, tables cannot span an area. In a multi-tenant database, each table partition can be stored in a separate area. Therefore, the maximum table size, limited by maximum area size, is controlled on a per-tenant basis. For more information on size limits, see
OpenEdge RDBMSLimits.