SlideShare a Scribd company logo
Salesforce’s Multitenant
Architecture
​ Doug Merrett
​ Principal Enterprise Architect – Asia Pacific
​ dmerrett@salesforce.com
How we do the magic we do…
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.
Safe Harbor
Shared services across applications
The Customer Success Platform
APIs
2,700+ Partner Apps
Open Ecosystem
Workflow
Data &
Objects Identity
Fast App Dev & Customization
AnalyticsCollaborationMobile UI
Scalable Metadata Platform
Complete CRM
Trusted Multitenant Cloud
AnalyticsCommunityMarketingServiceSales Apps
Multitenancy
One Cloud with Many Customers
Shared Elastic Services
One Primary Data Store per Production Instance
8K+ Customers per Instance
50+ Production Instances
All data segregated by customer
All operations include Org ID
Disaster Recovery
Per Org encryption keys
What is in an Instance
Pivot
tables
Data tables
Metadata
tables
Shared Database Metadata Cache
Bulk data
processing
Multitenant aware
Query optimizer
Runtime App
Generator
Full text search
engine
Virtual Application Components
Common
Application
Screens
Tenant
Specific
Screens
Objects
(Tables)
What Multitenancy means for Salesforce R&D
No Legacy Teams
Bugs fixed for everyone
One Version
What Multitenancy means for Salesforce R&D
No Legacy Teams
Bugs fixed for everyone
One Version
260K+ of our Tests
Run your tests as well
Automation
What Multitenancy means for Salesforce R&D
No Legacy Teams
Bugs fixed for everyone
One Version
Instance Architecture
260K+ of our Tests
Run your tests as well
Automation
Staggered Releases
Scalability across all sizes
What Multitenancy means for Salesforce R&D
Three major releases per year
Bug fixes every week
Predictability
No Legacy Teams
Bugs fixed for everyone
One Version
Instance Architecture
260K+ of our Tests
Run your tests as well
Automation
Staggered Releases
Scalability across all sizes
What Multitenancy means for Salesforce R&D
Three major releases per year
Bug fixes every week
Predictability
No Legacy Teams
Bugs fixed for everyone
One Version
Instance Architecture
260K+ of our Tests
Run your tests as well
Automation
Staggered Releases
Scalability across all sizes
​ Stateless Appservers
​ Database system of record
​ No Database Definition Language (DDL) at Runtime
​ All tables partitioned by OrgId
​ Smart Primary Keys, Polymorphic Foreign Keys
​ Creative de-normalization and pivoting
​ Use every RDBMS feature & optimization
Key Architectural Principles
Metadata, data, and pivot table structures store data
corresponding to virtual data structures
The Objects table stores metadata about custom objects
(tables)‫‏‬
The Fields table stores metadata about custom fields
(columns)‫‏‬
The Data heap table stores all structured data corresponding
to custom objects
A single slot can store various types of data that originate
from different objects
The Indexes pivot table manages tenant-specific selective
indexes
The UniqueFields pivot table facilitates uniqueness for
custom fields
The Relationships pivot table facilitates referential integrity
and optimizes joins
​ Tables hash partitioned by OrgId
​ Separate connection pools point to physical hosts
​ App tier is also dynamically partitioned by OrgId
​ Distributed metadata cache with transactional invalidation
All data & metadata structures are partitioned to improve
performance and manageability
§  Native Declarative features
§  Bulk Processing
§  The Recycle Bin
§  Full Text Search
§  Smart Bulk Data Manipulation Language (DML)
§  Web Services APIs
Application Framework: a whole lot for free
Force.com’s native Application Framework provides
declarative development, no coding
Validation rules and simple formulas:
Business analysts can “code” these
Not so simple: Rollup-summary fields provide for easy cross-
object summaries
Force.com’s bulk processing optimizations reduce overhead
for data loads
​ Examples:
§  Sort all records by primary key before attempting DML
§  Operate on tables in deterministic order
§  Slot reallocation for field datatype change
§  Deferred calculation for new rollup-summary field
§  Background processing of mass changes
Data definition processing is optimized to avoid performance
hits or concurrency limits
The Recycle Bin: Smart Undeletes
Restore
§  Individual object instances
(records)
§  Related object instances (parent/
child records)
§  Entire fields and objects
(dropped columns and tables)
Secondary Instance
Multitenant Search, anything but simple
Index Backup
Replication
Primary Instance
Multitenancy delivers Blazing Performance
Transactions Per Quarter
234B Transactions in Q2FY16
79% YoY Growth
Average Page Time
208ms Latency in Q2FY16
4% YoY Improvement
API
Web
​ Consistent SQL generation across the application
​ Deep awareness of pivot table structure
•  Flex schema does impose a cost
​ Tenant, user, object, fields statistics are crucial
​ No runaway queries allowed
​ Deep integration with the sharing model
Multitenant Query Optimization Principles
Multitenant Query Optimizer
Check user
visibility
Check filer
selectivity
Dynamically
write query
based on pre-
queries
Run Pre-Queries
Execute
optimized
query
user visibility = number of rows user can access
filter selectivity = index corresponding to filter column
Search originates
from API or global
search
return results
The optimizer considers pre-query selectivity measurements
when writing a query
Pre-Query
Selectivity
Measurements
… use of index related to filter.HighHigh
… ordered hash join; drive using Data table.LowHigh
… use of index related to filter.HighLow
… nested loops join; drive using view of rows that the user can see.LowLow
Write final database access query, forcing …
FilterUser
Highly Scalable Multitenant
Architecture
Service isolation and redundant design ensures availability
Highly Scalable Multitenant Architecture
•  Instances
–  Consistent deployment size
–  Easy to scale
–  Repeatable
•  Instance Groups
–  Shared service isolation
within a Data Center
•  Data Centers
–  Consistent for Production
and Disaster Recovery
–  Shared services across data
centers
Data Centre
Shared Services
Instance Group
Shared
Services
Sandbox DR
Instances
Sandbox
Instances
Core DR
Instances
Core
Instances
Instance Group
Shared
Services
Sandbox DR
Instances
Sandbox
Instances
Core DR
Instances
Core
Instances
Data Centre
Shared Services
Instance Group
Shared
Services
Sandbox DR
Instances
Sandbox
Instances
Core DR
Instances
Core
Instances
Instance Group
Shared
Services
Sandbox DR
Instances
Sandbox
Instances
Core DR
Instances
Core
Instances
​ Production cluster capacity
•  7+1 (active + spare) nodes
•  Active Data Guard to local standby
(2 node cluster) for fast data
recovery
​ Data replication to secondary
instance
•  Encrypted block-level replication
•  Enables site switching for disaster
recovery
Redundant Site Design with 4 Online Copies of Data
Today: Reliable Core by Design
Encrypted
Async
ReplicationData Guard
Replication
Primary Instance
Application
Servers
Production
DB Cluster
Standby
DB Cluster
Data Guard
Replication
Application
Servers
Production
DB Cluster
Standby
DB Cluster
Secondary Instance
​ 6+2 Production RAC Cluster
•  2 spare nodes provides additional
DB cluster resilience
​ Data Guard to remote site
•  Hardens remote replication
•  Enables faster site switching
•  Shorter planned and unplanned
maintenance windows
Faster Site Switches
Tomorrow: Enhancing Core Reliability
Encrypted
Async DB
Replication
Data Guard
Replication
Primary Instance
Application
Servers
Production
DB Cluster
Standby
DB Cluster
Data Guard
Replication
Application
Servers
Production
DB Cluster
Standby
DB Cluster
Secondary Instance
4 key methods to enable performance at scale
Adaptive Capacity Planning
​ Horizontally
​ Scaling
​ Scale by adding
additional servers or
storage for each
application
​ Scale by using more
powerful servers
•  More CPU cores
•  Larger memory
​ Continuous Salesforce
application and
database optimizations
​ Regular customer and
partner application
tuning to improve
individual org
performance
​ Vertically
​ Scaling
​ Application and DB
​ Tuning
​ Customer Application
​ Tuning
45% Reduction in
Latency
NA7
Aug 20
NA7
Aug 27
360ms
250ms
140+ Hours
Loading Time
21 Hours
Loading Time
85% Reduction in
Load Time
1 2 3 4
Automatically Done For Customers
48c
48c
64c
64c
Force.com Extras
Apex: Force.com’s procedural frontier
Integer NUM = 10;
Account [] accs;
// Clean up old data
accs = [select id from account where name like 'test%'];
delete accs;
commit;
accs = new Account [NUM];
for (Integer i = 0; i < NUM; i++)
{
accs [i] = new Account (name='test ' + i, outstandingshares__c=i);
}
insert accs;
Contact [] cons = new Contact [0];
for (Account acc : accs)
{
cons.add (new Contact (lastName=acc.name + '1', accountid=acc.id));
cons.add (new Contact (lastName=acc.name + '2', accountid=acc.id));
}
insert cons;
SOQL
Query
Variable
Declaration
Control
Structure
Array
Data
Operation
Commit
Transaction
Apex code is stored as metadata, interpreted at runtime, and
cached for scalability
§  Bulk DML
§  Email and messaging
§  Asynchronous processing (@future)
§  XmlStream / HTTP (RESTful) services classes
§  Declarative exposure as new Web Services
§  Platform Encryption
Apex is deeply integrated with platform features
Share Your Feedback, and Win a GoPro!
3 Earn a GoPro prize entry for
each completed survey
Tap the bell to take a
survey2Enroll in a session1
Understanding the Salesforce Architecture: How We Do the Magic We Do

More Related Content

PPTX
Salesforce data model
PPTX
Introduction to Apex for Developers
PPTX
Understanding Multitenancy and the Architecture of the Salesforce Platform
PPTX
Commerce Cloud 101
PDF
Manage Salesforce Like a Pro with Governance
PPTX
An introduction to Salesforce
PPT
Salesforce Presentation
PDF
Architect day 20181128 - Afternoon Session
Salesforce data model
Introduction to Apex for Developers
Understanding Multitenancy and the Architecture of the Salesforce Platform
Commerce Cloud 101
Manage Salesforce Like a Pro with Governance
An introduction to Salesforce
Salesforce Presentation
Architect day 20181128 - Afternoon Session

What's hot (20)

PDF
Performing a successful technical debt assessment in Salesforce
PPTX
Tackling Salesforce Technical Debt
PPTX
Salesforce com-architecture
PPTX
Introducing the Salesforce platform
PDF
Building a Center of Excellence for your Salesforce crm team
PPTX
Salesforce Multitenant Architecture: How We Do the Magic We Do
PDF
Salesforce Training For Beginners | Salesforce Tutorial | Salesforce Training...
PDF
Best Practices with Apex in 2022.pdf
PDF
Manage Development in Your Org with Salesforce Governance Framework
PPTX
Salesforce Deck Template
PPTX
Salesforce Integration Patterns
PPTX
DevOps in Salesforce AppCloud
PDF
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
PPTX
Session 1: INTRODUCTION TO SALESFORCE
PPTX
Introduction to Salesforce Platform - Basic
PPTX
Salesforce Intro
PPTX
What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...
PDF
Decluttering your Salesfroce org
PPT
Salesforce Integration
PPTX
Salesforce
Performing a successful technical debt assessment in Salesforce
Tackling Salesforce Technical Debt
Salesforce com-architecture
Introducing the Salesforce platform
Building a Center of Excellence for your Salesforce crm team
Salesforce Multitenant Architecture: How We Do the Magic We Do
Salesforce Training For Beginners | Salesforce Tutorial | Salesforce Training...
Best Practices with Apex in 2022.pdf
Manage Development in Your Org with Salesforce Governance Framework
Salesforce Deck Template
Salesforce Integration Patterns
DevOps in Salesforce AppCloud
15 Tips on Salesforce Data Migration - Naveen Gabrani & Jonathan Osgood
Session 1: INTRODUCTION TO SALESFORCE
Introduction to Salesforce Platform - Basic
Salesforce Intro
What Is Salesforce? | Salesforce Training - What Does Salesforce Do? | Salesf...
Decluttering your Salesfroce org
Salesforce Integration
Salesforce
Ad

Viewers also liked (20)

PPTX
Microservice-based Architecture on the Salesforce App Cloud
POTX
Tips for Studying for your Salesforce Certification
PPTX
Enterprise Architecture Salesforce
PDF
Advanced Developer Certification Preparation: Expert Tips
PDF
How One Billion Salesforce records Can Be Replicated with Minimal API Usage
PPTX
Mds cloud saturday 2015 salesforce intro
PPTX
Salesforce Cloud Security
PDF
Intro to Building Mobile Apps with Salesforce1: No Code Required Webinar
PPTX
Flow Presentation vFINAL
PPTX
Cloud flow designer: Salesforce.com
PPTX
SFDC Visual Flow
PDF
Building Dynamic UI with Visual Workflow Runtime API
PPTX
salesforce training
PDF
Real-time personal trainer on the SMACK stack
PPTX
Appirio Lead Generation presentation on Salesforce
PDF
Demystifying salesforce for developers
PPTX
Kafka Lambda architecture with mirroring
PDF
Extreme Salesforce Data Volumes Webinar
PDF
Salesforce presentation for it summit
PPTX
How Apache Kafka is transforming Hadoop, Spark and Storm
Microservice-based Architecture on the Salesforce App Cloud
Tips for Studying for your Salesforce Certification
Enterprise Architecture Salesforce
Advanced Developer Certification Preparation: Expert Tips
How One Billion Salesforce records Can Be Replicated with Minimal API Usage
Mds cloud saturday 2015 salesforce intro
Salesforce Cloud Security
Intro to Building Mobile Apps with Salesforce1: No Code Required Webinar
Flow Presentation vFINAL
Cloud flow designer: Salesforce.com
SFDC Visual Flow
Building Dynamic UI with Visual Workflow Runtime API
salesforce training
Real-time personal trainer on the SMACK stack
Appirio Lead Generation presentation on Salesforce
Demystifying salesforce for developers
Kafka Lambda architecture with mirroring
Extreme Salesforce Data Volumes Webinar
Salesforce presentation for it summit
How Apache Kafka is transforming Hadoop, Spark and Storm
Ad

Similar to Understanding the Salesforce Architecture: How We Do the Magic We Do (20)

PPT
How Salesforce.com R&D Delivers the Cloud
PPTX
Building Applications on the Salesforce1 Platform for Imperial College London
PPTX
Salesforce's Trusted Enterprise Platform and Apache Phoenix
PPTX
Salesforce Cloud Infrastructure and Challenges - A Brief Overview
PPT
20110514 PMI San Diego Keynote
PPTX
salesforce online training || salesforce training videos || salesforce develo...
PPTX
Salesforce online training SFDC online course
PPT
Transforming Your Business in the "Cloud" with Callidus Software and Salesfor...
PDF
Avoid Growing Pains: Scale Your App for the Enterprise (October 14, 2014)
PDF
Peter Coffee at Southland Technology Conference
PPTX
Salesforce Campus Tour - Declarative
PPTX
Salesforce Campus Tour - Developer Intro
PPT
Trust and Transformation: Peter Coffee at Cloud@KM 20110503
PPTX
2017 engage.ug - Salesforce and IBM for Developers
PPTX
Integrating with salesforce
PDF
How Salesforce.com R&D Delivers the Cloud
PDF
Mbf2 salesforce webinar 2
PDF
Unlock SAP - Release the potential of your existing backend systems with Sale...
PDF
Peter Coffee on Cloud Transformation
PPTX
Salesforce Mobile architecture introduction
How Salesforce.com R&D Delivers the Cloud
Building Applications on the Salesforce1 Platform for Imperial College London
Salesforce's Trusted Enterprise Platform and Apache Phoenix
Salesforce Cloud Infrastructure and Challenges - A Brief Overview
20110514 PMI San Diego Keynote
salesforce online training || salesforce training videos || salesforce develo...
Salesforce online training SFDC online course
Transforming Your Business in the "Cloud" with Callidus Software and Salesfor...
Avoid Growing Pains: Scale Your App for the Enterprise (October 14, 2014)
Peter Coffee at Southland Technology Conference
Salesforce Campus Tour - Declarative
Salesforce Campus Tour - Developer Intro
Trust and Transformation: Peter Coffee at Cloud@KM 20110503
2017 engage.ug - Salesforce and IBM for Developers
Integrating with salesforce
How Salesforce.com R&D Delivers the Cloud
Mbf2 salesforce webinar 2
Unlock SAP - Release the potential of your existing backend systems with Sale...
Peter Coffee on Cloud Transformation
Salesforce Mobile architecture introduction

More from Salesforce Developers (20)

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

Recently uploaded (20)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Big Data Technologies - Introduction.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
cuic standard and advanced reporting.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Electronic commerce courselecture one. Pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Reach Out and Touch Someone: Haptics and Empathic Computing
NewMind AI Weekly Chronicles - August'25 Week I
“AI and Expert System Decision Support & Business Intelligence Systems”
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Unlocking AI with Model Context Protocol (MCP)
Understanding_Digital_Forensics_Presentation.pptx
Big Data Technologies - Introduction.pptx
MYSQL Presentation for SQL database connectivity
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Machine learning based COVID-19 study performance prediction
cuic standard and advanced reporting.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Advanced methodologies resolving dimensionality complications for autism neur...
Empathic Computing: Creating Shared Understanding
Mobile App Security Testing_ A Comprehensive Guide.pdf
Electronic commerce courselecture one. Pdf

Understanding the Salesforce Architecture: How We Do the Magic We Do

  • 1. Salesforce’s Multitenant Architecture ​ Doug Merrett ​ Principal Enterprise Architect – Asia Pacific ​ dmerrett@salesforce.com How we do the magic we do…
  • 2. 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. Safe Harbor
  • 3. Shared services across applications The Customer Success Platform APIs 2,700+ Partner Apps Open Ecosystem Workflow Data & Objects Identity Fast App Dev & Customization AnalyticsCollaborationMobile UI Scalable Metadata Platform Complete CRM Trusted Multitenant Cloud AnalyticsCommunityMarketingServiceSales Apps
  • 5. One Cloud with Many Customers Shared Elastic Services One Primary Data Store per Production Instance 8K+ Customers per Instance 50+ Production Instances All data segregated by customer All operations include Org ID Disaster Recovery Per Org encryption keys
  • 6. What is in an Instance Pivot tables Data tables Metadata tables Shared Database Metadata Cache Bulk data processing Multitenant aware Query optimizer Runtime App Generator Full text search engine Virtual Application Components Common Application Screens Tenant Specific Screens Objects (Tables)
  • 7. What Multitenancy means for Salesforce R&D No Legacy Teams Bugs fixed for everyone One Version
  • 8. What Multitenancy means for Salesforce R&D No Legacy Teams Bugs fixed for everyone One Version 260K+ of our Tests Run your tests as well Automation
  • 9. What Multitenancy means for Salesforce R&D No Legacy Teams Bugs fixed for everyone One Version Instance Architecture 260K+ of our Tests Run your tests as well Automation Staggered Releases Scalability across all sizes
  • 10. What Multitenancy means for Salesforce R&D Three major releases per year Bug fixes every week Predictability No Legacy Teams Bugs fixed for everyone One Version Instance Architecture 260K+ of our Tests Run your tests as well Automation Staggered Releases Scalability across all sizes
  • 11. What Multitenancy means for Salesforce R&D Three major releases per year Bug fixes every week Predictability No Legacy Teams Bugs fixed for everyone One Version Instance Architecture 260K+ of our Tests Run your tests as well Automation Staggered Releases Scalability across all sizes
  • 12. ​ Stateless Appservers ​ Database system of record ​ No Database Definition Language (DDL) at Runtime ​ All tables partitioned by OrgId ​ Smart Primary Keys, Polymorphic Foreign Keys ​ Creative de-normalization and pivoting ​ Use every RDBMS feature & optimization Key Architectural Principles
  • 13. Metadata, data, and pivot table structures store data corresponding to virtual data structures
  • 14. The Objects table stores metadata about custom objects (tables)‫‏‬
  • 15. The Fields table stores metadata about custom fields (columns)‫‏‬
  • 16. The Data heap table stores all structured data corresponding to custom objects
  • 17. A single slot can store various types of data that originate from different objects
  • 18. The Indexes pivot table manages tenant-specific selective indexes
  • 19. The UniqueFields pivot table facilitates uniqueness for custom fields
  • 20. The Relationships pivot table facilitates referential integrity and optimizes joins
  • 21. ​ Tables hash partitioned by OrgId ​ Separate connection pools point to physical hosts ​ App tier is also dynamically partitioned by OrgId ​ Distributed metadata cache with transactional invalidation All data & metadata structures are partitioned to improve performance and manageability
  • 22. §  Native Declarative features §  Bulk Processing §  The Recycle Bin §  Full Text Search §  Smart Bulk Data Manipulation Language (DML) §  Web Services APIs Application Framework: a whole lot for free
  • 23. Force.com’s native Application Framework provides declarative development, no coding
  • 24. Validation rules and simple formulas: Business analysts can “code” these
  • 25. Not so simple: Rollup-summary fields provide for easy cross- object summaries
  • 26. Force.com’s bulk processing optimizations reduce overhead for data loads
  • 27. ​ Examples: §  Sort all records by primary key before attempting DML §  Operate on tables in deterministic order §  Slot reallocation for field datatype change §  Deferred calculation for new rollup-summary field §  Background processing of mass changes Data definition processing is optimized to avoid performance hits or concurrency limits
  • 28. The Recycle Bin: Smart Undeletes Restore §  Individual object instances (records) §  Related object instances (parent/ child records) §  Entire fields and objects (dropped columns and tables)
  • 29. Secondary Instance Multitenant Search, anything but simple Index Backup Replication Primary Instance
  • 30. Multitenancy delivers Blazing Performance Transactions Per Quarter 234B Transactions in Q2FY16 79% YoY Growth Average Page Time 208ms Latency in Q2FY16 4% YoY Improvement API Web
  • 31. ​ Consistent SQL generation across the application ​ Deep awareness of pivot table structure •  Flex schema does impose a cost ​ Tenant, user, object, fields statistics are crucial ​ No runaway queries allowed ​ Deep integration with the sharing model Multitenant Query Optimization Principles
  • 32. Multitenant Query Optimizer Check user visibility Check filer selectivity Dynamically write query based on pre- queries Run Pre-Queries Execute optimized query user visibility = number of rows user can access filter selectivity = index corresponding to filter column Search originates from API or global search return results
  • 33. The optimizer considers pre-query selectivity measurements when writing a query Pre-Query Selectivity Measurements … use of index related to filter.HighHigh … ordered hash join; drive using Data table.LowHigh … use of index related to filter.HighLow … nested loops join; drive using view of rows that the user can see.LowLow Write final database access query, forcing … FilterUser
  • 35. Service isolation and redundant design ensures availability Highly Scalable Multitenant Architecture •  Instances –  Consistent deployment size –  Easy to scale –  Repeatable •  Instance Groups –  Shared service isolation within a Data Center •  Data Centers –  Consistent for Production and Disaster Recovery –  Shared services across data centers Data Centre Shared Services Instance Group Shared Services Sandbox DR Instances Sandbox Instances Core DR Instances Core Instances Instance Group Shared Services Sandbox DR Instances Sandbox Instances Core DR Instances Core Instances Data Centre Shared Services Instance Group Shared Services Sandbox DR Instances Sandbox Instances Core DR Instances Core Instances Instance Group Shared Services Sandbox DR Instances Sandbox Instances Core DR Instances Core Instances
  • 36. ​ Production cluster capacity •  7+1 (active + spare) nodes •  Active Data Guard to local standby (2 node cluster) for fast data recovery ​ Data replication to secondary instance •  Encrypted block-level replication •  Enables site switching for disaster recovery Redundant Site Design with 4 Online Copies of Data Today: Reliable Core by Design Encrypted Async ReplicationData Guard Replication Primary Instance Application Servers Production DB Cluster Standby DB Cluster Data Guard Replication Application Servers Production DB Cluster Standby DB Cluster Secondary Instance
  • 37. ​ 6+2 Production RAC Cluster •  2 spare nodes provides additional DB cluster resilience ​ Data Guard to remote site •  Hardens remote replication •  Enables faster site switching •  Shorter planned and unplanned maintenance windows Faster Site Switches Tomorrow: Enhancing Core Reliability Encrypted Async DB Replication Data Guard Replication Primary Instance Application Servers Production DB Cluster Standby DB Cluster Data Guard Replication Application Servers Production DB Cluster Standby DB Cluster Secondary Instance
  • 38. 4 key methods to enable performance at scale Adaptive Capacity Planning ​ Horizontally ​ Scaling ​ Scale by adding additional servers or storage for each application ​ Scale by using more powerful servers •  More CPU cores •  Larger memory ​ Continuous Salesforce application and database optimizations ​ Regular customer and partner application tuning to improve individual org performance ​ Vertically ​ Scaling ​ Application and DB ​ Tuning ​ Customer Application ​ Tuning 45% Reduction in Latency NA7 Aug 20 NA7 Aug 27 360ms 250ms 140+ Hours Loading Time 21 Hours Loading Time 85% Reduction in Load Time 1 2 3 4 Automatically Done For Customers 48c 48c 64c 64c
  • 40. Apex: Force.com’s procedural frontier Integer NUM = 10; Account [] accs; // Clean up old data accs = [select id from account where name like 'test%']; delete accs; commit; accs = new Account [NUM]; for (Integer i = 0; i < NUM; i++) { accs [i] = new Account (name='test ' + i, outstandingshares__c=i); } insert accs; Contact [] cons = new Contact [0]; for (Account acc : accs) { cons.add (new Contact (lastName=acc.name + '1', accountid=acc.id)); cons.add (new Contact (lastName=acc.name + '2', accountid=acc.id)); } insert cons; SOQL Query Variable Declaration Control Structure Array Data Operation Commit Transaction
  • 41. Apex code is stored as metadata, interpreted at runtime, and cached for scalability
  • 42. §  Bulk DML §  Email and messaging §  Asynchronous processing (@future) §  XmlStream / HTTP (RESTful) services classes §  Declarative exposure as new Web Services §  Platform Encryption Apex is deeply integrated with platform features
  • 43. Share Your Feedback, and Win a GoPro! 3 Earn a GoPro prize entry for each completed survey Tap the bell to take a survey2Enroll in a session1