1. A method for processing a data request, the method comprising: receiving the data request from a first tenant of a plurality of tenants; retrieving, by a server including a processor, a shared table based on the data request, the shared table including rows and columns of shared elements shared by the plurality of tenants, the shared table having appended thereto a shared designation that identifies the shared table as being shared by the plurality of tenants; retrieving, by the server, an extended table associated with the shared table and the first tenant, the extended table including rows and columns of tenant-specific elements specific to the first tenant, the rows and columns of the tenant-specific elements in the extended table being modifications of corresponding rows and columns of shared elements in the shared table, the extended table having appended thereto a tenant-specific designation that identifies the extended table as being specific to the first tenant; generating a combined table including the rows and columns of the shared elements in the shared table, wherein rows and columns of shared elements in the shared table having corresponding rows and columns of tenant-specific elements in the extended table are substituted with the corresponding rows and columns of tenant-specific elements in the extended table; and providing, in response to the data request, a query result to the first tenant based on the combined table.