under the covers of salesforce (eugene rusalev)

23
Под капотом у Salesforce www.vrpinc.com

Upload: yury-bondarau

Post on 03-Jul-2015

154 views

Category:

Software


1 download

TRANSCRIPT

Под капотом у Salesforce

www.vrpinc.com

Agenda

• Hardware infrastructure

• Data infrastructure

• Multitenant architecture

www.vrpinc.com

Salesforce statistics

• 22 North America instances, 6 EMEA instances and 2 APAC instances

• 25 sandbox instances

• 1,300,000,000+ daily transactions

• 24,000 database transactions per second at peak (equivalent to a page view on other sites)

• 15,000+ hardware systems

• > 22 PB of raw SAN storage capacity

www.vrpinc.com

Software Technologies Employed

• Linux for development and primary production systems

• Solaris 10 w/ ZFS

• Jetty

• Oracle

• Solr

• Memcache

• Apache QPID

• QFS

• Puppet, Razor

• Perl, Python

• Nagios

• Perforce, Git, Subversion

www.vrpinc.com

Hardware topology

POD

• Self-contained set of hardware

• Each customer is in one pod

• Each pod services many customers

• Data persistence and System of Record

• Data processing

• Hardware mirroring

www.vrpinc.com

POD

www.vrpinc.com

POD

www.vrpinc.com

Data centers

Location Function

• San Jose, CA Main Production Data Center

• Chicago, IL Production Data Center

• Reston, VA Production & Back-up Data Center

• Singapore Production Data Center

• Japan Production Data Center

• San Francisco, CA R&D Lab and Tape Archive

• London, UK Production Data Center

www.vrpinc.com

Data infrastructure Building Blocks

• Relational Database

• Distributed File System

• Search

www.vrpinc.com

Relational Database

• Sharding / Partitioning

Shard based on customer

• High availability

8 machine database cluster

Automatic failover

www.vrpinc.com

Relational Database

• Backups

3 lag databases

Near Real-time

2 Hour

48 Hour

Tape / Disk

• Disaster Recovery

Hardware block-level replication

www.vrpinc.com

Distributed File System

• Binary Object Store

• Homegrown Technology called FileForce

• Optimized for High Availability

www.vrpinc.com

Distributed File System

www.vrpinc.com

Search

• Full-text search capability

• Wide variety of data to support:

• Structured data: id, email, phone number

• Unstructured data: long documents, short chatter posts

• Real-time indexing and querying

• 90% of events indexed in < 3 mins

• Lucene & Solr

www.vrpinc.com

Multitenancy

• Tenant = Organization (aka Company)

• Each Organization has many sub-tenants (aka Users, Private model)

www.vrpinc.com

Multitenancy

www.vrpinc.com

Server

OS

Database

App Server

Storage

Network

App 1App

1

App

2 App

3

Buy, Install, Build, Tune, Upgrade

Single-Tenant

(On-Premise or Hosted)Multi-Tenant

Innovation. Not Infrastructure

Server

OS

Database

App Server

Storage

Network

App 2

Server

OS

Database

App Server

Storage

Network

App 3

One Company

Many App Stacks

Many Companies

One Shared Stack

Multitenant database

• To support Custom Objects, Salesforce uses:

• Arbitrary Transaction Support

• Locking

• Row caching

• To support Custom Objects, we don’t use:

• Native data typing

• Native indexing

• Foreign Key Constraints

• Query Optimization

• Stats Collection

www.vrpinc.com

Multitenant Data Model

www.vrpinc.com

Flex Schema:

www.vrpinc.com

Flex Schema: Optimizations

www.vrpinc.com

Multi-tenant Query Optimizer

www.vrpinc.com

Q&A

www.vrpinc.com

Thank you for your attention

www.vrpinc.com