I have a question with regards to ownership skew in an implementation with several millions of records. Having read all the recommendations and related posts in this forum and in other sites, I am still not sure what the limits of the platform are.
To get into more details, in our business model Leads/Opportunities, Accounts together with several custom objects are shared on a country level (and sometimes only for specific groups within each country). This obviously leads to Private sharing model, a system owner for all records and apex sharing based on public groups for each object .
However we have several hundreds of millions of records in our system, which will certainly create an ownership skew problem.
I am now considering the following options:
- having a System owner user per country
- Assign the records to an existing User, which will have ownership on a country-function combination. This will split the record ownership across many users.
The first option will consume SFDC licences and still end up with each of these users owning up to 5M records while the second will prevent me from using Roles and may create issues when Users leave the company (transfer of records)
My question is if anybody has faced similar situations, how did you approach it, and what are the limits of the platform. Shall I expect a performance issue if a User owns 5M of records when they don't belong in a Role hierarchy and records are not reassigned?
Which is the upper limit I should not cross with record ownership?