Force.com Data Modeling: The Advantages of Denormalization

99
Force.com Data Modeling The Advantages of Denormalization Michael Topalovich, Delivered Innovation, CTO @topalovich

description

Your data model choices impact analytics, performance, security, user experience, and coding requirements. While it might seem counterintuitive, the key to successful Force.com data model design is a pattern of denormalization, with tightly coupled attributes that describe core entities, rather than the traditional pattern of normalization. Join us as we explore the pros and cons of these design patterns.

Transcript of Force.com Data Modeling: The Advantages of Denormalization

Page 1: Force.com Data Modeling: The Advantages of Denormalization

Force.com Data ModelingThe Advantages of Denormalization

Michael Topalovich, Delivered Innovation, CTO@topalovich

Page 2: Force.com Data Modeling: The Advantages of Denormalization

All about Delivered Innovation

Delivered Innovation helps growing companies run their businesses in the cloud with Salesforce.

Business process design for creating great customer experiences

100% focus on Salesforce and the Salesforce Platform

Founded in 2006 in Chicago by Michael Topalovich

Page 3: Force.com Data Modeling: The Advantages of Denormalization
Page 4: Force.com Data Modeling: The Advantages of Denormalization

Goals

Page 5: Force.com Data Modeling: The Advantages of Denormalization
Page 6: Force.com Data Modeling: The Advantages of Denormalization

GAME PLAN

Page 7: Force.com Data Modeling: The Advantages of Denormalization
Page 8: Force.com Data Modeling: The Advantages of Denormalization
Page 9: Force.com Data Modeling: The Advantages of Denormalization
Page 10: Force.com Data Modeling: The Advantages of Denormalization
Page 11: Force.com Data Modeling: The Advantages of Denormalization

Why Normalize?

Page 12: Force.com Data Modeling: The Advantages of Denormalization

Update Anomaly

Page 13: Force.com Data Modeling: The Advantages of Denormalization

Insertion Anomaly

Page 14: Force.com Data Modeling: The Advantages of Denormalization

Deletion Anomaly

Page 15: Force.com Data Modeling: The Advantages of Denormalization
Page 16: Force.com Data Modeling: The Advantages of Denormalization

Denormalize for the cloud.

Page 17: Force.com Data Modeling: The Advantages of Denormalization
Page 18: Force.com Data Modeling: The Advantages of Denormalization
Page 19: Force.com Data Modeling: The Advantages of Denormalization

Multitenant Architecture

Page 20: Force.com Data Modeling: The Advantages of Denormalization
Page 21: Force.com Data Modeling: The Advantages of Denormalization

How many custom objects can you have in

Force.com?

Page 22: Force.com Data Modeling: The Advantages of Denormalization

How many custom objects can you have in

Force.com?

200 (Enterprise Edition)2,000 (Unlimited

Edition)

Page 23: Force.com Data Modeling: The Advantages of Denormalization

How many custom fields can you have on an

object?

Page 24: Force.com Data Modeling: The Advantages of Denormalization

How many custom fields can you have on an

object?

500 (Enterprise Edition)800 (Unlimited Edition)

Page 25: Force.com Data Modeling: The Advantages of Denormalization
Page 26: Force.com Data Modeling: The Advantages of Denormalization
Page 27: Force.com Data Modeling: The Advantages of Denormalization

Metadata-driven architecture =

No direct database access.

Page 28: Force.com Data Modeling: The Advantages of Denormalization

Metadata-driven architecture =

Describe for context.

Page 29: Force.com Data Modeling: The Advantages of Denormalization

Metadata-driven architecture =

Custom query language.

Page 30: Force.com Data Modeling: The Advantages of Denormalization
Page 31: Force.com Data Modeling: The Advantages of Denormalization

SQL vs. SOQL

Page 32: Force.com Data Modeling: The Advantages of Denormalization

SOQL = Join limitations

Page 33: Force.com Data Modeling: The Advantages of Denormalization

SOQL = Explicit relationships

Page 34: Force.com Data Modeling: The Advantages of Denormalization
Page 35: Force.com Data Modeling: The Advantages of Denormalization

Entities describe somethingthat should exist only once.

Page 36: Force.com Data Modeling: The Advantages of Denormalization
Page 37: Force.com Data Modeling: The Advantages of Denormalization

Attributes providecontext that describeentities as a whole.

Page 38: Force.com Data Modeling: The Advantages of Denormalization
Page 39: Force.com Data Modeling: The Advantages of Denormalization

Relationships describehow entities are connected.

Page 40: Force.com Data Modeling: The Advantages of Denormalization
Page 41: Force.com Data Modeling: The Advantages of Denormalization

What are the two primary types of

relationship fields?

Page 42: Force.com Data Modeling: The Advantages of Denormalization

What are the two primary types of

relationship fields?

LookupMaster-Detail

Page 43: Force.com Data Modeling: The Advantages of Denormalization

How many levels can you go up in a child-to-

parent relationship query?

Page 44: Force.com Data Modeling: The Advantages of Denormalization

How many levels can you go up in a child-to-

parent relationship query?

5 Levels

Page 45: Force.com Data Modeling: The Advantages of Denormalization

How many levels can you go down in a parent-to-child

relationship query?

Page 46: Force.com Data Modeling: The Advantages of Denormalization

How many levels can you go down in a parent-to-child

relationship query?Only one level.

Page 47: Force.com Data Modeling: The Advantages of Denormalization

Analytics

Page 48: Force.com Data Modeling: The Advantages of Denormalization

User Experience

Page 49: Force.com Data Modeling: The Advantages of Denormalization

Clicks vs. Code

Page 50: Force.com Data Modeling: The Advantages of Denormalization

Security

Page 51: Force.com Data Modeling: The Advantages of Denormalization

Scalability

Page 52: Force.com Data Modeling: The Advantages of Denormalization
Page 53: Force.com Data Modeling: The Advantages of Denormalization

Embracehierarchy.

Page 54: Force.com Data Modeling: The Advantages of Denormalization

Relationship queries!= SQL joins

Page 55: Force.com Data Modeling: The Advantages of Denormalization

SOQL requiresrelationships

between objects

Page 56: Force.com Data Modeling: The Advantages of Denormalization

We can go up 5 levelsin a child-to-parentrelationship query

Page 57: Force.com Data Modeling: The Advantages of Denormalization

We can go down onelevel in a parent-to-child

relationship query

Page 58: Force.com Data Modeling: The Advantages of Denormalization

Reference data fromparent objectswith formulas

Page 59: Force.com Data Modeling: The Advantages of Denormalization

Aggregate child data withRollup Summary fields

Page 60: Force.com Data Modeling: The Advantages of Denormalization

Use Master-Detailrelationships to enablecross-object workflows

Page 61: Force.com Data Modeling: The Advantages of Denormalization

Get better reportand dashboard data

Page 62: Force.com Data Modeling: The Advantages of Denormalization

Know your siblings.

Page 63: Force.com Data Modeling: The Advantages of Denormalization

Children of the same parentdon’t see each other unless…

Page 64: Force.com Data Modeling: The Advantages of Denormalization

If you need siblings to see eachother, define a relationship.

Page 65: Force.com Data Modeling: The Advantages of Denormalization

If an explicit relationship isnot an option, be prepared

to write Apex Map<> functions.

Page 66: Force.com Data Modeling: The Advantages of Denormalization

IRT

Page 67: Force.com Data Modeling: The Advantages of Denormalization
Page 68: Force.com Data Modeling: The Advantages of Denormalization

Don’t be afraid to useyour custom fields.

Page 69: Force.com Data Modeling: The Advantages of Denormalization

Flatten your data modelto improve performance.

Page 70: Force.com Data Modeling: The Advantages of Denormalization

Be smart about it.Don’t let your data modelbecome a mess.

Page 71: Force.com Data Modeling: The Advantages of Denormalization
Page 72: Force.com Data Modeling: The Advantages of Denormalization
Page 73: Force.com Data Modeling: The Advantages of Denormalization

Junction objects enable M:Mrelationships between objects.

Page 74: Force.com Data Modeling: The Advantages of Denormalization

Reference data and use it inmultiple places without duplication.

Page 75: Force.com Data Modeling: The Advantages of Denormalization

All you need is a custom objectwith two relationship fields.

Page 76: Force.com Data Modeling: The Advantages of Denormalization
Page 77: Force.com Data Modeling: The Advantages of Denormalization

Avoid data duplication.

Page 78: Force.com Data Modeling: The Advantages of Denormalization

Reference before copying.

Page 79: Force.com Data Modeling: The Advantages of Denormalization

Beware of picklist sprawl.

Page 80: Force.com Data Modeling: The Advantages of Denormalization
Page 81: Force.com Data Modeling: The Advantages of Denormalization
Page 82: Force.com Data Modeling: The Advantages of Denormalization

Which standard object does not support RT’s as

of Winter ’14?

Page 83: Force.com Data Modeling: The Advantages of Denormalization

SolutionsAssets

Price Books

Which standard object does not support RT’s as

of Winter ’14?

Page 84: Force.com Data Modeling: The Advantages of Denormalization

SolutionsAssets

Price Books

Which standard object does not support RT’s as

of Winter ’14?

Page 85: Force.com Data Modeling: The Advantages of Denormalization
Page 86: Force.com Data Modeling: The Advantages of Denormalization

Did we meet our goals today?

Page 87: Force.com Data Modeling: The Advantages of Denormalization

Do we understand why Force.com data model design is so important?

Page 88: Force.com Data Modeling: The Advantages of Denormalization

Do we understand how Force.com is different from relational databases?

Page 89: Force.com Data Modeling: The Advantages of Denormalization

Did we learn something new that we can apply to our own instances?

Page 90: Force.com Data Modeling: The Advantages of Denormalization
Page 91: Force.com Data Modeling: The Advantages of Denormalization

Calls to Action

Page 92: Force.com Data Modeling: The Advantages of Denormalization

Take a look at your current data model.

Page 93: Force.com Data Modeling: The Advantages of Denormalization

Experiment.

Page 94: Force.com Data Modeling: The Advantages of Denormalization

Apply these principles.

Page 95: Force.com Data Modeling: The Advantages of Denormalization

Read more about Force.com data modeling.

Page 96: Force.com Data Modeling: The Advantages of Denormalization

Get involved in the Force.com community.

Page 97: Force.com Data Modeling: The Advantages of Denormalization

@DIChicago

Page 98: Force.com Data Modeling: The Advantages of Denormalization

Michael Topalovich

CTO, Delivered Innovation@topalovich

Page 99: Force.com Data Modeling: The Advantages of Denormalization