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.
What three types of lookups are supported with External Objects?
Standard Look up (18-char record ID)
External Lookup
Indirect Lookup
Describe an external lookup
An external lookup is used when the parent is an external object
Describe an indirect lookup
An indirect lookup links a child external object to a parent standard or custom object.
In a standard lookup relationship, what types of objects can be the parent?
Standard objects
Custom objects
In a standard lookup relationship, what types of objects can be the child?
Standard objects
Custom objects
In an external lookup, what types of objects can be the parent?
Standard objects
Custom objects
External Objects
In an external lookup, what types of objects can be the child?
External
In an indirect lookup, what types of objects can be the parent?
Standard Object
Custom Object
In an indirect lookup, what types of objects can be the child?
Standard objects
Custom objects
What are four strategies for mitigating locking issues related to lookup skew?
RDUR
Reducing record saving time
Distributing the skew
Using a picklist field
Reducing the load
How can record saving time be reduced?
increase the performance of apex code
remove unnecessary workflow
Only process what’s required
How can Apex be tuned to reduce lock time?
Consolidate code to a single trigger per object
What is the alternative to a workflow to improve record saving time?
consolidate workflow logic into the object trigger.
How should logic that isn’t immediately required on save be executed to reduce lock time?
Process additional logic asynchronously.
How is skew mitigated when a small number of possible values exist?
using a picklist field.
How can skew be distributed?
by adding additional lookup values
What is a foreign key?
A FOREIGN KEY is a field (or collection of fields) in one table that refers to the PRIMARY KEY in another table.
What is a system of record?
Established packaged applications or legacy homegrown systems that support core transaction processing and manage the organization’s critical master data.
What is a system of differentiation?
Applications that enable unique company processes or industryspecic capabilities.
What is a system of innovation?
New applications that are built on an ad hoc basis to address new
business requirements or opportunities.
What are the two categories of storage in Salesforce?
File storage and data storage
What should be considered for file storage?
attachments Files home Salesforce CRM Content Chatter files (incl. photos) Documents Tab Custom File field on Knowledge articles Site.com assets
Name 10 standard objects that count against data storage
Accounts Campaigns Campaign Members Cases Case Teams Contacts Contracts Custom Objects Email Messages Events Forecast Items Google docs Ideas Leads List email Notes Opportunities Opportunity Splits Orders Quotes Quite Template Rich text data Solutions Tags: Unique tags Tasks All FSL Objects
T/F - orgs are allocated additional file storage based on the number of standard user licenses
true