SlideShare a Scribd company logo
1 of 34
Download to read offline
Moving Sharing To a Parallel
Architecture
How We Made Sharing Operations Really Fast
Seth White, Salesforce.com, Platform R&D
@sethjwhite
Safe harbor
Safe harbor statement under the Private Securities Litigation Reform Act of 1995:
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties
materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results
expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be
deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other
financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any
statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new
functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our
operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any
litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our
relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our
service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to
larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is
included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent
fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor
Information section of our Web site.
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently
available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions
based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these
forward-looking statements.
Kapil Easwar
Platform R&D
@keaswar_sfdc
Agenda
Overview of record-level access
The “big data” challenge
Parallel sharing
Performance results
Demo
Sharing Tables
Sharing tables control record-level access

Acct ID

Account Table
Owner Acct Name

Account Sharing Table
Acct ID
User/Group Row Cause

A1
A2

Carol
Hailey

A1
A1
A1
A2

Acme
General Inc.

Carol
Bob
East
Hailey

Owner
Manual
Rule
Owner
Sharing Operations
Actions that update sharing tables
▪ Changing record owner
▪ Changing user’s role
▪ Adding/deleting/updating a sharing rule
▪ Changing organization-wide defaults
Sharing Features
Things that make sharing operations complex
▪ Role hierarchy
▪ Implicit sharing
• Access to account implies access to opportunity
• Access to opportunity implies access to account

▪ Portal sharing

Sharing operations are complex

joins
The Sharing Challenge
Data size doubles every year
▪ Shared records
• Jan 2012 – 6.2 billion
• Apr 2013 – 13.5 billion

▪ Sharing records
• Apr 2013
– Total – 43 billion
– Largest org – 728 million
Customers Are Getting Bigger
100 million accounts
2 million portal users
100,000 users
5000 roles
1,000,000,000+ records
What to do?
What to Do?
Make operations asynchronous
▪ MQ framework
▪ Great for reliability

Make use of parallelism
▪ …lots of parallelism
▪ Individual objects are largely independent
Account Parallelism Example
Accounts are
independent…

Acct ID

Account Table
Owner Acct Name

Account Sharing Table
Acct ID
User/Group Row Cause

A1
A2

Carol
Hailey

A1
A1
A1
A2

Acme
General Inc.

Carol
Bob
East
Hailey

…so we can process
them in parallel.

Owner
Manual
Rule
Owner
Message Queue
Many features becoming asynchronous
▪ Reaching 160,000,000 messages per day
▪ 450 different types of messages
▪ Volume doubled between releases

Messages stored in Oracle
▪ HA/DR

Message processing is adaptive
The Way We Were
Reques
t
Is
Receive
d

POD

ap
p7

ap
p8
Que
ue

ap
p1
Ora
cle
RA
C

ap
p6

ap
p2

ap
p3
ap
p5

ap
p4
The Way We Were
POD

ap
p7

ap
p8
Que
ue

ap
p1
Ora
cle
RA
C

ap
p6

ap
p2

ap
p3
ap
p5

ap
p4

Reques
t
Is
Receive
Do
d
Processin
g
The Way We Were
POD

ap
p7

ap
p8
Que
ue

ap
p1
Ora
cle
RA
C

ap
p6

ap
p2

ap
p3
ap
p5

ap
p4

Reques
t
Is
Receive
Do
d
Processin
g Respo
nse
Is sent
The Way We Were
Not Using the Cluster

POD

ap
p7

ap
p8
Que
ue

ap
p1
Ora
cle
RA
C

ap
p6

ap
p2

ap
p3
ap
p5

ap
p4

Reques
t
Is
Receive
Do
d
Processin
g Respo
nse
Is sent
Parallel Sharing Lifecycle
POD

Reques
t
Is
Receive
d

ap
p7

ap
p8
Que
ue

ap
p1
Ora
cle
RA
C

ap
p6

ap
p2

ap
p3
ap
p5

ap
p4
Parallel Sharing Lifecycle
POD

Enque
ue
seed
messa
ge

ap
p7

ap
p8
Que
ue

ap
p1
Ora
cle
RA
C

ap
p6

ap
p2

ap
p3
ap
p5

ap
p4
Parallel Sharing Lifecycle
POD

Respo
nse
Is Sent

ap
p7

ap
p8
Que
ue

ap
p1
Ora
cle
RA
C

ap
p6

ap
p2

ap
p3
ap
p5

ap
p4
Parallel Sharing Lifecycle
POD

Dequeue
seed
message

ap
p7

ap
p8
Que
ue

ap
p1
Ora
cle
RA
C

ap
p6

ap
p2

ap
p3
ap
p5

ap
p4
Parallel Sharing Lifecycle
POD

Enqueue
Parallel
Jobs

ap
p7

ap
p8
Que
ue

ap
p1
Ora
cle
RA
C

ap
p6

ap
p2

ap
p3
ap
p5

ap
p4
Parallel Sharing Lifecycle
POD

Process
Batch 1

ap
p7

ap
p8
Que
ue

ap
p1
Ora
cle
RA
C

ap
p6

ap
p2

ap
p3
ap
p5

ap
p4
Parallel Sharing Lifecycle
POD

Process
Batch 2

ap
p7

ap
p8
Que
ue

ap
p1
Ora
cle
RA
C

ap
p6

ap
p2

ap
p3
ap
p5

ap
p4
Parallel Sharing Lifecycle
POD

Process
Batch 3

ap
p7

ap
p8
Que
ue

ap
p1
Ora
cle
RA
C

ap
p6

ap
p2

ap
p3
ap
p5

ap
p4
Performance Results
Create Sharing Rule
Sequential
Account
389
Opportunity
343
Custom Object 100

Parallel
85
71
24

Gain
4.5x
4.8x
4.1x
all times are in
seconds

Production Settings
Overall Performance

4-5x faster
(in production
environments)
Performance Results
Create Sharing Rule
Sequential
Account
389
Opportunity
343
Custom Object 100

Parallel
31
23
10

Gain
12.5x
14.9x
10x
all times are in
seconds

Laboratory Settings
Overall Performance

10-15x faster
(in laboratory
environments)
Release Schedule
Summer ’13
▪ Pilot
▪ GA

Winter ’14
▪ Pilot
▪ GA
Demo
Monitoring Parallel Sharing
Conclusions
Continuing platform investment
Moving to a parallel/asynchronous architecture
More sharing optimizations coming
Path forward for scalability
Seth White

Kapil Easwar

Platform R&D, Salesforce.
com

Platform R&D,
Salesforce.com
Moving Sharing to a Parallel Architecture

More Related Content

What's hot

JDF18 - Connecting the customer success platform
JDF18 - Connecting the customer success platformJDF18 - Connecting the customer success platform
JDF18 - Connecting the customer success platformDeepu Chacko
 
Aan003 Spreiter 091707
Aan003 Spreiter 091707Aan003 Spreiter 091707
Aan003 Spreiter 091707Dreamforce07
 
Shadow DOM, CSS and Styling Hooks in LWC what you need to know
Shadow DOM, CSS and Styling Hooks in LWC  what you need to knowShadow DOM, CSS and Styling Hooks in LWC  what you need to know
Shadow DOM, CSS and Styling Hooks in LWC what you need to knowSudipta Deb ☁
 
Real Time Integration with Salesforce Platform Events
Real Time Integration with Salesforce Platform EventsReal Time Integration with Salesforce Platform Events
Real Time Integration with Salesforce Platform EventsSalesforce Developers
 
Modeling and Querying Data and Relationships in Salesforce
Modeling and Querying Data and Relationships in SalesforceModeling and Querying Data and Relationships in Salesforce
Modeling and Querying Data and Relationships in SalesforceSalesforce Developers
 
How Morgan Stanley is Using Apps to Transform the Workplace
How Morgan Stanley is Using Apps to Transform the WorkplaceHow Morgan Stanley is Using Apps to Transform the Workplace
How Morgan Stanley is Using Apps to Transform the WorkplaceDreamforce
 
Technical App Innovators Webinar (January 18, 2017)
Technical App Innovators Webinar (January 18, 2017)Technical App Innovators Webinar (January 18, 2017)
Technical App Innovators Webinar (January 18, 2017)Salesforce Partners
 
Heroku CIを触ってみる
Heroku CIを触ってみるHeroku CIを触ってみる
Heroku CIを触ってみるMitch Okamoto
 
Knock! Knock! Who's There? Lightning Components!
Knock! Knock! Who's There? Lightning Components!Knock! Knock! Who's There? Lightning Components!
Knock! Knock! Who's There? Lightning Components!Salesforce Admins
 
WT19: Lightning Layout Tricks
WT19: Lightning Layout TricksWT19: Lightning Layout Tricks
WT19: Lightning Layout TricksSalesforce Admins
 
Advanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social AuthenticationAdvanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social AuthenticationSalesforce Developers
 
Automate All The Things with Flow
Automate All The Things with FlowAutomate All The Things with Flow
Automate All The Things with FlowSalesforce Admins
 
The Mystery Is Solved Demystifying Integrations
The Mystery Is Solved Demystifying IntegrationsThe Mystery Is Solved Demystifying Integrations
The Mystery Is Solved Demystifying Integrationsdreamforce2006
 
Essential Habits for New Admins - Dec 2019
Essential Habits for New Admins - Dec 2019Essential Habits for New Admins - Dec 2019
Essential Habits for New Admins - Dec 2019Salesforce Admins
 
WT19: 5 Game-Changing Flow Solutions to Level Up Your Org
WT19: 5 Game-Changing Flow Solutions to Level Up Your OrgWT19: 5 Game-Changing Flow Solutions to Level Up Your Org
WT19: 5 Game-Changing Flow Solutions to Level Up Your OrgSalesforce Admins
 

What's hot (20)

JDF18 - Connecting the customer success platform
JDF18 - Connecting the customer success platformJDF18 - Connecting the customer success platform
JDF18 - Connecting the customer success platform
 
Aan003 Spreiter 091707
Aan003 Spreiter 091707Aan003 Spreiter 091707
Aan003 Spreiter 091707
 
Building BOTS on App Cloud
Building BOTS on App CloudBuilding BOTS on App Cloud
Building BOTS on App Cloud
 
Shadow DOM, CSS and Styling Hooks in LWC what you need to know
Shadow DOM, CSS and Styling Hooks in LWC  what you need to knowShadow DOM, CSS and Styling Hooks in LWC  what you need to know
Shadow DOM, CSS and Styling Hooks in LWC what you need to know
 
Real Time Integration with Salesforce Platform Events
Real Time Integration with Salesforce Platform EventsReal Time Integration with Salesforce Platform Events
Real Time Integration with Salesforce Platform Events
 
Modeling and Querying Data and Relationships in Salesforce
Modeling and Querying Data and Relationships in SalesforceModeling and Querying Data and Relationships in Salesforce
Modeling and Querying Data and Relationships in Salesforce
 
How Morgan Stanley is Using Apps to Transform the Workplace
How Morgan Stanley is Using Apps to Transform the WorkplaceHow Morgan Stanley is Using Apps to Transform the Workplace
How Morgan Stanley is Using Apps to Transform the Workplace
 
Technical App Innovators Webinar (January 18, 2017)
Technical App Innovators Webinar (January 18, 2017)Technical App Innovators Webinar (January 18, 2017)
Technical App Innovators Webinar (January 18, 2017)
 
Heroku CIを触ってみる
Heroku CIを触ってみるHeroku CIを触ってみる
Heroku CIを触ってみる
 
Knock! Knock! Who's There? Lightning Components!
Knock! Knock! Who's There? Lightning Components!Knock! Knock! Who's There? Lightning Components!
Knock! Knock! Who's There? Lightning Components!
 
Web Log Files
Web Log FilesWeb Log Files
Web Log Files
 
WT19: Lightning Layout Tricks
WT19: Lightning Layout TricksWT19: Lightning Layout Tricks
WT19: Lightning Layout Tricks
 
Advanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social AuthenticationAdvanced Platform Series - OAuth and Social Authentication
Advanced Platform Series - OAuth and Social Authentication
 
Automate All The Things with Flow
Automate All The Things with FlowAutomate All The Things with Flow
Automate All The Things with Flow
 
The Mystery Is Solved Demystifying Integrations
The Mystery Is Solved Demystifying IntegrationsThe Mystery Is Solved Demystifying Integrations
The Mystery Is Solved Demystifying Integrations
 
Introduksjon til salesforce
Introduksjon til salesforceIntroduksjon til salesforce
Introduksjon til salesforce
 
Learn about the latest innovations straight from dreamforce'18
Learn about the latest innovations straight from dreamforce'18Learn about the latest innovations straight from dreamforce'18
Learn about the latest innovations straight from dreamforce'18
 
Summer '20 Release Overview
Summer '20 Release OverviewSummer '20 Release Overview
Summer '20 Release Overview
 
Essential Habits for New Admins - Dec 2019
Essential Habits for New Admins - Dec 2019Essential Habits for New Admins - Dec 2019
Essential Habits for New Admins - Dec 2019
 
WT19: 5 Game-Changing Flow Solutions to Level Up Your Org
WT19: 5 Game-Changing Flow Solutions to Level Up Your OrgWT19: 5 Game-Changing Flow Solutions to Level Up Your Org
WT19: 5 Game-Changing Flow Solutions to Level Up Your Org
 

Similar to Moving Sharing to a Parallel Architecture

Salesforce Partner Forum: The Internet of Things Opportunity
Salesforce Partner Forum: The Internet of Things OpportunitySalesforce Partner Forum: The Internet of Things Opportunity
Salesforce Partner Forum: The Internet of Things OpportunityReidCarlberg
 
Enterprise Analytics - Salesforce.com Toronto User Group Presentation
Enterprise Analytics - Salesforce.com Toronto User Group PresentationEnterprise Analytics - Salesforce.com Toronto User Group Presentation
Enterprise Analytics - Salesforce.com Toronto User Group PresentationTorontoSFDC
 
Integrating Back Office Applications and Data With Salesforce.com
Integrating Back Office Applications and Data With Salesforce.comIntegrating Back Office Applications and Data With Salesforce.com
Integrating Back Office Applications and Data With Salesforce.comSalesforce Developers
 
Adding Chatter to On-Premise Applications
Adding Chatter to On-Premise ApplicationsAdding Chatter to On-Premise Applications
Adding Chatter to On-Premise ApplicationsSalesforce Developers
 
Successfully Scaling an Agile Innovation Culture with Perforce - 2011 Perforc...
Successfully Scaling an Agile Innovation Culture with Perforce - 2011 Perforc...Successfully Scaling an Agile Innovation Culture with Perforce - 2011 Perforc...
Successfully Scaling an Agile Innovation Culture with Perforce - 2011 Perforc...Steve Greene
 
CCT London 2013 Theatre Intro to Apex
CCT London 2013 Theatre Intro to ApexCCT London 2013 Theatre Intro to Apex
CCT London 2013 Theatre Intro to ApexPeter Chittum
 
AWS re:Invent 2016: Salesforce: Helping Developers Deliver Innovations Faster...
AWS re:Invent 2016: Salesforce: Helping Developers Deliver Innovations Faster...AWS re:Invent 2016: Salesforce: Helping Developers Deliver Innovations Faster...
AWS re:Invent 2016: Salesforce: Helping Developers Deliver Innovations Faster...Amazon Web Services
 
Adam Gross - The Second Decade of PaaS: What’s Next for Cloud Development
Adam Gross - The Second Decade of PaaS: What’s Next for Cloud DevelopmentAdam Gross - The Second Decade of PaaS: What’s Next for Cloud Development
Adam Gross - The Second Decade of PaaS: What’s Next for Cloud DevelopmentTuring Fest
 
Force.com Friday - An Intro to Force.com
Force.com Friday - An Intro to Force.comForce.com Friday - An Intro to Force.com
Force.com Friday - An Intro to Force.comDazeworks
 
TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018Keir Bowden
 
Coding for Declarative Customizations: How We Do It in Salesforce.com IT
Coding for Declarative Customizations: How We Do It in Salesforce.com ITCoding for Declarative Customizations: How We Do It in Salesforce.com IT
Coding for Declarative Customizations: How We Do It in Salesforce.com ITSalesforce Developers
 
Get Started with Lightning Web Components Open Source
Get Started with Lightning Web Components Open SourceGet Started with Lightning Web Components Open Source
Get Started with Lightning Web Components Open SourceDeveloper Force
 
Salesforce Overview For Beginners/Students
Salesforce Overview For Beginners/StudentsSalesforce Overview For Beginners/Students
Salesforce Overview For Beginners/StudentsSujesh Ramachandran
 
Gaing New Business Intelligence with Salesforce IQ (Salesforce World Tour NYC)
Gaing New Business Intelligence with Salesforce IQ (Salesforce World Tour NYC)Gaing New Business Intelligence with Salesforce IQ (Salesforce World Tour NYC)
Gaing New Business Intelligence with Salesforce IQ (Salesforce World Tour NYC)carlos_frias
 
One Stop Shop: Using Service Cloud for IT Management, Projects and More
One  Stop Shop: Using Service Cloud for IT Management, Projects and MoreOne  Stop Shop: Using Service Cloud for IT Management, Projects and More
One Stop Shop: Using Service Cloud for IT Management, Projects and MoreSalesforce.org
 
Data import options- Salesforce Dreamforce presentation
Data import options- Salesforce Dreamforce presentationData import options- Salesforce Dreamforce presentation
Data import options- Salesforce Dreamforce presentationRich Spitz
 
Marketing That Saves Lives
Marketing That Saves LivesMarketing That Saves Lives
Marketing That Saves LivesJeremy Waite
 

Similar to Moving Sharing to a Parallel Architecture (20)

Salesforce Partner Forum: The Internet of Things Opportunity
Salesforce Partner Forum: The Internet of Things OpportunitySalesforce Partner Forum: The Internet of Things Opportunity
Salesforce Partner Forum: The Internet of Things Opportunity
 
Introduction to Force.com
Introduction to Force.comIntroduction to Force.com
Introduction to Force.com
 
Enterprise Analytics - Salesforce.com Toronto User Group Presentation
Enterprise Analytics - Salesforce.com Toronto User Group PresentationEnterprise Analytics - Salesforce.com Toronto User Group Presentation
Enterprise Analytics - Salesforce.com Toronto User Group Presentation
 
Integrating Back Office Applications and Data With Salesforce.com
Integrating Back Office Applications and Data With Salesforce.comIntegrating Back Office Applications and Data With Salesforce.com
Integrating Back Office Applications and Data With Salesforce.com
 
Adding Chatter to On-Premise Applications
Adding Chatter to On-Premise ApplicationsAdding Chatter to On-Premise Applications
Adding Chatter to On-Premise Applications
 
Successfully Scaling an Agile Innovation Culture with Perforce - 2011 Perforc...
Successfully Scaling an Agile Innovation Culture with Perforce - 2011 Perforc...Successfully Scaling an Agile Innovation Culture with Perforce - 2011 Perforc...
Successfully Scaling an Agile Innovation Culture with Perforce - 2011 Perforc...
 
CCT London 2013 Theatre Intro to Apex
CCT London 2013 Theatre Intro to ApexCCT London 2013 Theatre Intro to Apex
CCT London 2013 Theatre Intro to Apex
 
AWS re:Invent 2016: Salesforce: Helping Developers Deliver Innovations Faster...
AWS re:Invent 2016: Salesforce: Helping Developers Deliver Innovations Faster...AWS re:Invent 2016: Salesforce: Helping Developers Deliver Innovations Faster...
AWS re:Invent 2016: Salesforce: Helping Developers Deliver Innovations Faster...
 
Adam Gross - The Second Decade of PaaS: What’s Next for Cloud Development
Adam Gross - The Second Decade of PaaS: What’s Next for Cloud DevelopmentAdam Gross - The Second Decade of PaaS: What’s Next for Cloud Development
Adam Gross - The Second Decade of PaaS: What’s Next for Cloud Development
 
Force.com Friday - An Intro to Force.com
Force.com Friday - An Intro to Force.comForce.com Friday - An Intro to Force.com
Force.com Friday - An Intro to Force.com
 
Force.com Friday - Intro to Force.com
Force.com Friday -  Intro to Force.comForce.com Friday -  Intro to Force.com
Force.com Friday - Intro to Force.com
 
Deliver Innovations Faster
Deliver Innovations FasterDeliver Innovations Faster
Deliver Innovations Faster
 
TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018
 
Coding for Declarative Customizations: How We Do It in Salesforce.com IT
Coding for Declarative Customizations: How We Do It in Salesforce.com ITCoding for Declarative Customizations: How We Do It in Salesforce.com IT
Coding for Declarative Customizations: How We Do It in Salesforce.com IT
 
Get Started with Lightning Web Components Open Source
Get Started with Lightning Web Components Open SourceGet Started with Lightning Web Components Open Source
Get Started with Lightning Web Components Open Source
 
Salesforce Overview For Beginners/Students
Salesforce Overview For Beginners/StudentsSalesforce Overview For Beginners/Students
Salesforce Overview For Beginners/Students
 
Gaing New Business Intelligence with Salesforce IQ (Salesforce World Tour NYC)
Gaing New Business Intelligence with Salesforce IQ (Salesforce World Tour NYC)Gaing New Business Intelligence with Salesforce IQ (Salesforce World Tour NYC)
Gaing New Business Intelligence with Salesforce IQ (Salesforce World Tour NYC)
 
One Stop Shop: Using Service Cloud for IT Management, Projects and More
One  Stop Shop: Using Service Cloud for IT Management, Projects and MoreOne  Stop Shop: Using Service Cloud for IT Management, Projects and More
One Stop Shop: Using Service Cloud for IT Management, Projects and More
 
Data import options- Salesforce Dreamforce presentation
Data import options- Salesforce Dreamforce presentationData import options- Salesforce Dreamforce presentation
Data import options- Salesforce Dreamforce presentation
 
Marketing That Saves Lives
Marketing That Saves LivesMarketing That Saves Lives
Marketing That Saves Lives
 

More from Salesforce Developers

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSalesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceSalesforce Developers
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base ComponentsSalesforce Developers
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsSalesforce Developers
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaSalesforce Developers
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentSalesforce Developers
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsSalesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsSalesforce Developers
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsSalesforce Developers
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and TestingSalesforce Developers
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilitySalesforce Developers
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce dataSalesforce Developers
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionSalesforce Developers
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPSalesforce Developers
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceSalesforce Developers
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureSalesforce Developers
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DXSalesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectSalesforce Developers
 

More from Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 

Recently uploaded

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 

Recently uploaded (20)

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 

Moving Sharing to a Parallel Architecture

  • 1. Moving Sharing To a Parallel Architecture How We Made Sharing Operations Really Fast Seth White, Salesforce.com, Platform R&D @sethjwhite
  • 2. Safe harbor Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
  • 4. Agenda Overview of record-level access The “big data” challenge Parallel sharing Performance results Demo
  • 5. Sharing Tables Sharing tables control record-level access Acct ID Account Table Owner Acct Name Account Sharing Table Acct ID User/Group Row Cause A1 A2 Carol Hailey A1 A1 A1 A2 Acme General Inc. Carol Bob East Hailey Owner Manual Rule Owner
  • 6. Sharing Operations Actions that update sharing tables ▪ Changing record owner ▪ Changing user’s role ▪ Adding/deleting/updating a sharing rule ▪ Changing organization-wide defaults
  • 7. Sharing Features Things that make sharing operations complex ▪ Role hierarchy ▪ Implicit sharing • Access to account implies access to opportunity • Access to opportunity implies access to account ▪ Portal sharing Sharing operations are complex joins
  • 8. The Sharing Challenge Data size doubles every year ▪ Shared records • Jan 2012 – 6.2 billion • Apr 2013 – 13.5 billion ▪ Sharing records • Apr 2013 – Total – 43 billion – Largest org – 728 million
  • 9. Customers Are Getting Bigger 100 million accounts 2 million portal users 100,000 users 5000 roles 1,000,000,000+ records
  • 11. What to Do? Make operations asynchronous ▪ MQ framework ▪ Great for reliability Make use of parallelism ▪ …lots of parallelism ▪ Individual objects are largely independent
  • 12. Account Parallelism Example Accounts are independent… Acct ID Account Table Owner Acct Name Account Sharing Table Acct ID User/Group Row Cause A1 A2 Carol Hailey A1 A1 A1 A2 Acme General Inc. Carol Bob East Hailey …so we can process them in parallel. Owner Manual Rule Owner
  • 13. Message Queue Many features becoming asynchronous ▪ Reaching 160,000,000 messages per day ▪ 450 different types of messages ▪ Volume doubled between releases Messages stored in Oracle ▪ HA/DR Message processing is adaptive
  • 14. The Way We Were Reques t Is Receive d POD ap p7 ap p8 Que ue ap p1 Ora cle RA C ap p6 ap p2 ap p3 ap p5 ap p4
  • 15. The Way We Were POD ap p7 ap p8 Que ue ap p1 Ora cle RA C ap p6 ap p2 ap p3 ap p5 ap p4 Reques t Is Receive Do d Processin g
  • 16. The Way We Were POD ap p7 ap p8 Que ue ap p1 Ora cle RA C ap p6 ap p2 ap p3 ap p5 ap p4 Reques t Is Receive Do d Processin g Respo nse Is sent
  • 17. The Way We Were Not Using the Cluster POD ap p7 ap p8 Que ue ap p1 Ora cle RA C ap p6 ap p2 ap p3 ap p5 ap p4 Reques t Is Receive Do d Processin g Respo nse Is sent
  • 20. Parallel Sharing Lifecycle POD Respo nse Is Sent ap p7 ap p8 Que ue ap p1 Ora cle RA C ap p6 ap p2 ap p3 ap p5 ap p4
  • 23. Parallel Sharing Lifecycle POD Process Batch 1 ap p7 ap p8 Que ue ap p1 Ora cle RA C ap p6 ap p2 ap p3 ap p5 ap p4
  • 24. Parallel Sharing Lifecycle POD Process Batch 2 ap p7 ap p8 Que ue ap p1 Ora cle RA C ap p6 ap p2 ap p3 ap p5 ap p4
  • 25. Parallel Sharing Lifecycle POD Process Batch 3 ap p7 ap p8 Que ue ap p1 Ora cle RA C ap p6 ap p2 ap p3 ap p5 ap p4
  • 26. Performance Results Create Sharing Rule Sequential Account 389 Opportunity 343 Custom Object 100 Parallel 85 71 24 Gain 4.5x 4.8x 4.1x all times are in seconds Production Settings
  • 27. Overall Performance 4-5x faster (in production environments)
  • 28. Performance Results Create Sharing Rule Sequential Account 389 Opportunity 343 Custom Object 100 Parallel 31 23 10 Gain 12.5x 14.9x 10x all times are in seconds Laboratory Settings
  • 29. Overall Performance 10-15x faster (in laboratory environments)
  • 30. Release Schedule Summer ’13 ▪ Pilot ▪ GA Winter ’14 ▪ Pilot ▪ GA
  • 32. Conclusions Continuing platform investment Moving to a parallel/asynchronous architecture More sharing optimizations coming Path forward for scalability
  • 33. Seth White Kapil Easwar Platform R&D, Salesforce. com Platform R&D, Salesforce.com