Try OpenEdge Now
skip to main content
Multi-tenancy Overview
Multi-tenancy documentation map : Additional multi-tenant information : Group/multi-tenant group
 

Group/multi-tenant group

A multi-tenant group, or simply a group, is a mechanism for allowing multiple tenants to access the same data in a multi-tenant table. Each group is defined for one specific table. There can be multiple groups defined for the same table, but a group cannot be defined for more than one table.
The data for a multi-tenant group is stored in the same way as it is for any multi-tenant table instance. A group has a partition for each object of the multi-tenant table instance that is for the table data and each index and LOB associated with that table.
When data is added to a tenant group, that data is stored in the group's partitions, and shared by all tenants who are members of the group. This is different than the way tenant data is handled when there isn't a group, since the data is shared among the tenants of the group rather than being private to an individual tenant. The stored data is 'owned' by the group, and not by any individual tenant or tenants. This is an important distinction, because even if there are no tenants associated with the group, any data that had been stored in the tenant group's partition continues to exist in the database until the group itself is removed.
While a tenant can only belong to one group for any given table, a table can have multiple groups defined simultaneously. A tenant can belong to zero or one group for each table.
A tenant can be added to a group with the Database Administration Console provided that the tenant does not have data currently allocated for the table where it is trying to become a member of a group. If tenant partitions have been allocated for the table, then the partitions must be deleted before the tenant can join a group.
Removing a tenant from a group causes the tenant to have its own partitions for that table. Tenant partitions are created based on the defaults that are set in the tenant record and allocation setting.