The Internal Design of Force'coms MultiTenant Architecture - PowerPoint PPT Presentation

1 / 37
About This Presentation
Title:

The Internal Design of Force'coms MultiTenant Architecture

Description:

... delays in our service or our Web hosting, our new business model, our history of ... Consistent SQL generation across the application. Deep awareness of ... – PowerPoint PPT presentation

Number of Views:91
Avg rating:3.0/5.0
Slides: 38
Provided by: bodi52
Category:

less

Transcript and Presenter's Notes

Title: The Internal Design of Force'coms MultiTenant Architecture


1
The Internal Design of Force.coms Multi-Tenant
Architecture
Track Tour de Force Platform Tech Talks
Craig Weissman, salesforce.com
2
Safe Harbor Statement
Safe harbor statement under the Private
Securities Litigation Reform Act of 1995 This
presentation may contain forward-looking
statements including but not limited to
statements concerning the potential market for
our existing service offerings and future
offerings. All of our forward looking statements
involve risks, uncertainties and assumptions. If
any such risks or uncertainties materialize or if
any of the assumptions proves incorrect, our
results could differ materially from the results
expressed or implied by the forward-looking
statements we make. The risks and uncertainties
referred to above include - but are not limited
to - risks associated with possible fluctuations
in our operating results and cash flows, rate of
growth and anticipated revenue run rate, errors,
interruptions or delays in our service or our Web
hosting, our new business model, our history of
operating losses, the possibility that we will
not remain profitable, breach of our security
measures, the emerging market in which we
operate, our relatively limited operating
history, our ability to hire, retain and motivate
our employees and manage our growth, competition,
our ability to continue to release and gain
customer acceptance of new and improved versions
of our service, customer and partner acceptance
of the AppExchange, successful customer
deployment and utilization of our services,
unanticipated changes in our effective tax rate,
fluctuations in the number of shares outstanding,
the price of such shares, foreign currency
exchange rates and interest rates. Further
information on these and other factors that could
affect our financial results is included in the
reports on Forms 10-K, 10-Q and 8-K and in other
filings we make with the Securities and Exchange
Commission from time to time. These documents are
available on the SEC Filings section of the
Investor Information section of our website at
www.salesforce.com/investor. Salesforce.com, inc.
assumes no obligation and does not intend to
update these forward-looking statements, except
as required by law.
3
Craig Weissman Chief Software Architect salesforce
.com
4
True Multi-Tenancy is our Religion
Time
Technology Advances
Major Architectural Shift
  • Agenda
  • Our Religion
  • Virtual Database
  • App Model

Business Model Changes
5
Single tenant applications lots of waste
?
?
?
?
?
?
?
?
?
?
?
?
?
?
App
App
?
?
?
?
?
?
Db
Db
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
App
App
Db
Db
?
?
?
?
?
?
?
?
?
?
6
Multi-tenancy benefits are self-evidentBut
isolation is much easier said than done
7
Our religion Not all multi-tenant designs are
created equal
Cant we create a separate stack for just
this one customer? I promise its just this one
App
Db
8
Introducing the Force.com metadata-driven,
multi-tenant, Internet application platform
Poly- Morphic Application
9
Key Architectural Principles
  • Stateless AppServers
  • Database system of record
  • No DDL
  • All tables partitioned by OrgId
  • Smart PKs, Polymorphic FKs
  • Creative de-normalization and pivoting
  • Use every RDBMS feature/trick

10
Metadata, data, and pivot table structures store
data corresponding to virtual data structures
11
The Objects table stores metadata about custom
objects (tables)?
12
The Fields table stores metadata about custom
fields (columns)?
13
The Data heap table stores all structured data
corresponding to custom objects
14
A single slot can store various types of data
that originate from different objects
15
The Indexes pivot table manages tenant-specific
selective indexes
16
The UniqueFields pivot table facilitates
uniqueness for custom fields
17
The Relationships pivot table facilitates
referential integrity and optimizes joins
18
All data metadata structures are partitioned to
improve performance and manageability
  • Tables hash partitioned by OrgId
  • Separate conn pools point to physical hosts
  • App tier is also dynamically partitioned by OrgId
  • Distributed metadata cache w/transactional
    invalidation

19
Application Framework a whole lot for free
  • Native Declarative features
  • Bulk Processing
  • The Recycle Bin
  • Full Text Search
  • Smart Bulk DML
  • Web Services APIs

20
Force.coms native Application Framework provides
declarative development, no coding
21
Validation rules and simple formulasBusiness
analysts can code these
22
Not so simple Rollup-summary fields provide for
easy cross-object summaries
23
Force.coms bulk processing optimizations reduce
overhead for data loads
24
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

25
The Recycle Bin Smart Undeletes
  • Individual object instances (records)?
  • Related object instances (parent/child records)?
  • Entire fields and objects(dropped columns and
    tables)?

Restore
26
Force.coms full-text search engine
  • Asynchronously maintains indexes for all text
    fields
  • MRU caches contain recently updated objects
  • Optimizes ranking of search result records based
    on current user, modification history, and
    weighting preferences

27
Multi-tenant 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

28
Force.coms query optimizer writes optimal
queries for internal data access operations
Multi-tenant optimizer statistics
29
The optimizer considers pre-query selectivity
measurements when writing a query
30
Apex Force.coms procedural frontier
31
Apex code is stored as metadata, interpreted at
runtime, and cached for scalability
32
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

33
Force.com governs Apex code execution
  • Limits on
  • CPU
  • Memory
  • of DML statements
  • calculations
  • web service calls
  • and more

34
Unit tests must accompany Apex code
  • Required 75 code coverage
  • Profiling is built into the platform
  • Run during application install
  • All tests are run before each platform release by
    us

35
Force.com is a proven multi-tenant application
platform that performs and scales
Page Response Time (ms)?
Quarterly Transactions (billions)?
2005
2006
2007
Fiscal Year
36
Concluding Remarks
  • PaaS is a major architectural shifts
  • PaaS is Application focused, high level of
    abstraction
  • Force.com is the most mature, proven PaaS
    offering available today
  • Optimized for fast, secure, and reliable
    multi-tenant application development and
    deployment

37
Session FeedbackLet us know how were doing and
enter to win an iPod nano!
  • Please score the session from 5 to 1
    (5excellent,1needs improvement) in the
    following categories
  • Overall rating of the session
  • Quality of content
  • Strength of presentation delivery
  • Relevance of the session to your organization

Additionally, please fill in the name of each
speaker score them on overall delivery.
We strive to improve, thank you for filling out
our survey.
Write a Comment
User Comments (0)
About PowerShow.com