Data Modeling Flashcards
Why is planning the data model in advance critical?
You have to plan to accommodate LDV up front with the goal of designing for scale.
What are the three types of data skew?
Account data skew
Ownership skew
Lookup skew
What is Data Skew?
Data skew happens when more than 10k child records are associated with the same parent record within an org.
Describe Account Data Skew
more than 10K child records assigned to a single parent under a private sharing model.
Describe Ownership Skew
When a large number of records with the same object type are owned by a single user.
Describe Lookup Skew
Lookup skew happens when a very large number of records are associated with a single record in the look up object.
What are the two major concerns with Account Data Skew?
Record Locking
Sharing
Why are ownership changes considered to be one of the most costly Salesforce transactions?
Because deleting or updating the owner must remove sharing from the old owner and all parent users within the role hierarchy, and from all users given access by sharing rules.
If ownership skew can’t be avoided, how can the performance hit from sharing calculations be mitigated?
By not assigning the owner a role, or by putting the owner at the top of the hierarchy and not moving him down.
True/False:
Data Skew negatively impacts performance?
True
Describe the record locking scenario associated with Account Data Skew
Having a large number of child records “parked” under a single Account.
An update will lock both the parent and the child records during update, which creates the possibility that the parent will be locked for a different child update.
What is the major concern regarding lookup skew?
Lookup fields can be placed on any object, thus any object can be problematic.
True/False:
Every time a record is inserted or updated, Salesforce must lock the target records that are selected for each lookup field?
True
How can a LDV be leveraged without bringing data into Salesforce?
Using an external object
What is an advantage to using an external object?
You don’t have to manage a copy of the data in Salesforce (reduced storage & resources to maintain the data)
When should you consider using an external object?
When you have a large amount of data that you can’t or don’t want to store in SFDC and you only need a small amount of the data at anyone time.