Salesforce Multitenant Architecture
如果无法正常显示,请先停止浏览器的去广告插件。
1. Salesforce.com’s Multitenant Architecture
How we do the magic we do…
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.
3. Doug Merrett
Principal Architect – Northern Europe
4. In the Internet of Customers, Apps Connect Everything
Connected Connected
Customers Partners
Connected Connected
Products Employee
s
Cloud
Social
Mobile
Customer
5. Academy of Art Honeywell
STUDENT SCHEDULING APP CONTRACTOR
APP
Trunk Club
CONSUMER FASHION APP
Build Next Gen Apps. Lead Next Gen IT.
Zimmer
Time Warner
Cable
PRODUCT CATALOG APP
FIELD SALES APP
Virgin America
EMPLOYEE INTRANET APP
6. The World’s #1 Cloud Platform
The Fastest Path From Idea To App
7. Salesforce1: A New Customer Platform for the Future
Your Customers
8. At The Core Of The Customer Success Platform
Multitenant Cloud Computing
Enterprise
Cloud Computing
Fast Innovative
No Hardware Automatic Upgrades
No Software Faster ROI
Open
Easy Trusted
Any Device Real-time Customizations Transparent
Continuous Improvement API First AppExchange Secure
Flexible Data Portability Scalable Performance at Scale
9. What Salesforce.com does for you
We do
Infrastructure
Services We do
Application
Services We do
Operations
Services YOU
get to focus on
innovation
Network Security Authentication Customize your CRM
Storage Sharing Availability Build your data model
Operating System Integration Monitoring Build your business logic
Database Customization Patch Mgmt Build your user interface
App Server Web Services Upgrades Web Server API Backup Data Center Multi-Language NOC
10. Multitenancy
11. 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
12. What is in an Instance
Metadata Cache
Shared Database
Pivot
tables
Metadata
tables
Bulk data
processing
Multitenant aware
Query optimizer
Data tables
Runtime App
Generator
Virtual Application Components
Common
Application
Screens
Full text search
engine
Tenant
Specific
Screens
Objects
(Tables)
13. What Multitenancy means for Salesforce.com R&D
One Version
No Legacy Teams
Bugs fixed for everyone
14. What Multitenancy means for Salesforce.com R&D
One Version Automation
No Legacy Teams
Bugs fixed for everyone 260K+ of our Tests
Run your tests as well
15. What Multitenancy means for Salesforce.com R&D
One Version Automation
No Legacy Teams
Bugs fixed for everyone 260K+ of our Tests
Run your tests as well
Instance Architecture
Staggered Releases
Scalability across all sizes
16. What Multitenancy means for Salesforce.com R&D
One Version Automation
No Legacy Teams
Bugs fixed for everyone 260K+ of our Tests
Run your tests as well
Instance Architecture Predictability
Staggered Releases
Scalability across all sizes Three major releases per year
Bug fixes every week
17. What Multitenancy means for Salesforce.com R&D
One Version Automation
No Legacy Teams
Bugs fixed for everyone 260K+ of our Tests
Run your tests as well
Instance Architecture Predictability
Staggered Releases
Scalability across all sizes Three major releases per year
Bug fixes every week
18. Key Architectural Principles
•
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
19. Metadata, data, and pivot table structures store data
corresponding to virtual data structures
20. The Objects table stores metadata about custom objects
(tables)
21. The Fields table stores metadata about custom fields
(columns)
22. The Data heap table stores all structured data
corresponding to custom objects
23. A single slot can store various types of data that originate
from different objects
24. The Indexes pivot table manages tenant-specific selective
indexes
25. The UniqueFields pivot table facilitates uniqueness for
custom fields
26. The Relationships pivot table facilitates referential integrity
and optimizes joins
27. All data & metadata structures are partitioned to improve
performance and manageability
•
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
28. Application Framework: a whole lot for free
•
Native Declarative features
• Bulk Processing
• The Recycle Bin
• Full Text Search
• Smart Bulk Data Manipulation Language (DML)
• Web Services APIs
29. Force.com’s native Application Framework provides
declarative development, no coding
30. Validation rules and simple formulas:
Business analysts can “code” these
31. Not so simple: Rollup-summary fields provide for easy
cross-object summaries
32. Force.com’s bulk processing optimizations reduce overhead
for data loads
33. Data definition processing is optimized to avoid
performance hits or concurrency limits
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
34. The Recycle Bin: Smart Undeletes
Individual object instances
(records)
Restore
Related object instances
(parent/child records)
Entire fields and objects
(dropped columns and tables)
35. Multitenant Search, anything but simple
Replication
Index Backup
Primary Instance
DR Instance
36. Multitenancy delivers Blazing Performance
Transactions Per Quarter
131B Transactions in Q2FY15
51% YOY Growth
Average Page Time
217ms Latency in Q2FY15
13% YOY Improvement
37. Multitenant Core Data Storage
Production
RAC Cluster
•
4 Online copies of database
• 2 Online backup copies
Production
RAC Cluster
Async
Replication
Data Guard
Replication
Data Guard
Replication
Application
Servers
Application
Servers
Standby
RAC Cluster
Primary Instance
Standby
RAC Cluster
Secondary Instance
38. Multitenant Query Optimization Principles
•
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
39. Multitenant Query Optimizer
Run Pre-Queries
Check user
visibility
Search originates
from API or global
search
Check filer
selectivity
Dynamically
write query
based on pre-
queries
user visibility = number of rows user can access
filter selectivity = index corresponding to filter column
Execute
optimized
query
return results
40. The optimizer considers pre-query selectivity
measurements when writing a query
Pre-Query Selectivity
Measurements
Write final database access query, forcing …
User Filter Low Low … nested loops join; drive using view of rows that the user can see.
Low High … use of index related to filter.
High Low … ordered hash join; drive using Data table.
High High … use of index related to filter.
41. Apex: Force.com’s procedural frontier
Variable
Declaration
Commit
Transaction
Control
Structure
Array
Data
Operation
Integer NUM = 10;
Account[] accs;
SOQL
Query
// 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;
42. Apex code is stored as metadata, interpreted at runtime, and
cached for scalability
43. Apex is deeply integrated with platform features
•
Bulk DML
• Email and messaging
• Asynchronous processing (Futures)
• XmlStream / HTTP (RESTful) services classes
• Declarative exposure as new Web Services
44. What Makes Us Different?
Customer Success Platform
Powered by Multitenancy
Social Mobile Open Real-time
Feeds
Profiles
Files
Social Graph Right Experience
Any Device
Customizable Open Standards
Open Technologies
Open Interfaces
Open Languages Real-time notifications
Real-time workflow
Real-time feeds
45. Where to go for more information...
•
http://developer.force.com/architect
• http://developer.force.com/security
•
Other Sessions
46. Where to go for more information...
•
Other Sessions
(cont)
47. BUILD APPS FAST.
BUILD BUSINESS FASTER.
Don’t miss the Salesforce1 Platform Keynote with
Mike Rosenbaum
EVP, Salesforce1 Platform
Toby Lester
VP, Technology Architecture
And Innovation, Brown-Forman
Mike Meadows
VP, Chief Technology Officer
Eli Lilly and Company
Wednesday, October 15, 2 p.m.
Moscone South, Main Keynote Hall
Tod Nielsen
CEO, Heroku
48. Q & A
Please fill out your survey in
Dreamforce App
49.