SlideShare a Scribd company logo
1 of 23
Под капотом 
у 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 
(On-Premise or Hosted) 
App 1 
App Server 
Database 
OS 
Server 
Storage 
Network 
App 
1 
App 
2 App 
3 
Single-Tenant 
App 2 
App Server 
Database 
OS 
App 3 
App Server 
Database 
OS 
Buy, Install, Build, Tune, Upgrade 
Multi-Tenant 
Innovation. Not Infrastructure 
Server 
Storage 
Network 
Server 
Storage 
Network 
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

More Related Content

What's hot

Queue Based Solr Indexing with Collection Management: Presented by Devansh Dh...
Queue Based Solr Indexing with Collection Management: Presented by Devansh Dh...Queue Based Solr Indexing with Collection Management: Presented by Devansh Dh...
Queue Based Solr Indexing with Collection Management: Presented by Devansh Dh...
Lucidworks
 
kafka-steaming-data
kafka-steaming-datakafka-steaming-data
kafka-steaming-data
Bryan Jacobs
 
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
Citrix
 

What's hot (20)

Elastic Stack Roadmap Deep Dive
Elastic Stack Roadmap Deep DiveElastic Stack Roadmap Deep Dive
Elastic Stack Roadmap Deep Dive
 
https://docs.google.com/presentation/d/1DcL4zK6i3HZRDD4xTGX1VpSOwyu2xBeWLT6a_...
https://docs.google.com/presentation/d/1DcL4zK6i3HZRDD4xTGX1VpSOwyu2xBeWLT6a_...https://docs.google.com/presentation/d/1DcL4zK6i3HZRDD4xTGX1VpSOwyu2xBeWLT6a_...
https://docs.google.com/presentation/d/1DcL4zK6i3HZRDD4xTGX1VpSOwyu2xBeWLT6a_...
 
Building Distributed Data Streaming System
Building Distributed Data Streaming SystemBuilding Distributed Data Streaming System
Building Distributed Data Streaming System
 
Concurrency Control in MongoDB 3.0
Concurrency Control in MongoDB 3.0Concurrency Control in MongoDB 3.0
Concurrency Control in MongoDB 3.0
 
Queue Based Solr Indexing with Collection Management: Presented by Devansh Dh...
Queue Based Solr Indexing with Collection Management: Presented by Devansh Dh...Queue Based Solr Indexing with Collection Management: Presented by Devansh Dh...
Queue Based Solr Indexing with Collection Management: Presented by Devansh Dh...
 
Webinar - DreamObjects/Ceph Case Study
Webinar - DreamObjects/Ceph Case StudyWebinar - DreamObjects/Ceph Case Study
Webinar - DreamObjects/Ceph Case Study
 
Securing Your MongoDB Deployment
Securing Your MongoDB DeploymentSecuring Your MongoDB Deployment
Securing Your MongoDB Deployment
 
A Technical Introduction to WiredTiger
A Technical Introduction to WiredTigerA Technical Introduction to WiredTiger
A Technical Introduction to WiredTiger
 
Paul Dix [InfluxData] | InfluxDays Opening Keynote | InfluxDays Virtual Exper...
Paul Dix [InfluxData] | InfluxDays Opening Keynote | InfluxDays Virtual Exper...Paul Dix [InfluxData] | InfluxDays Opening Keynote | InfluxDays Virtual Exper...
Paul Dix [InfluxData] | InfluxDays Opening Keynote | InfluxDays Virtual Exper...
 
MongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence Architecture
MongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence ArchitectureMongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence Architecture
MongoDB in the Middle of a Hybrid Cloud and Polyglot Persistence Architecture
 
Redis Day TLV 2018 - Redis & BioCatch
Redis Day TLV 2018 - Redis & BioCatchRedis Day TLV 2018 - Redis & BioCatch
Redis Day TLV 2018 - Redis & BioCatch
 
IPv4 IPv6 Media Player
IPv4 IPv6 Media PlayerIPv4 IPv6 Media Player
IPv4 IPv6 Media Player
 
Sizing MongoDB Clusters
Sizing MongoDB Clusters Sizing MongoDB Clusters
Sizing MongoDB Clusters
 
kafka-steaming-data
kafka-steaming-datakafka-steaming-data
kafka-steaming-data
 
Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1Cassandra @ Sony: The good, the bad, and the ugly part 1
Cassandra @ Sony: The good, the bad, and the ugly part 1
 
Ibm aix Online Training
Ibm aix Online TrainingIbm aix Online Training
Ibm aix Online Training
 
MongoDB .local Bengaluru 2019: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local Bengaluru 2019: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local Bengaluru 2019: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local Bengaluru 2019: MongoDB Atlas Data Lake Technical Deep Dive
 
HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...
HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...
HBaseCon2017 Splice Machine as a Service: Multi-tenant HBase using DCOS (Meso...
 
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
Citrix Synergy 2014 - Syn233 Building and operating a Dev Ops cloud: best pra...
 
Redis & MongoDB: Stop Big Data Indigestion Before It Starts
Redis & MongoDB: Stop Big Data Indigestion Before It StartsRedis & MongoDB: Stop Big Data Indigestion Before It Starts
Redis & MongoDB: Stop Big Data Indigestion Before It Starts
 

Viewers also liked

Viewers also liked (11)

Open Source at Salesforce.com
Open Source at Salesforce.comOpen Source at Salesforce.com
Open Source at Salesforce.com
 
検索技術の活用による広告配信Relevance向上
検索技術の活用による広告配信Relevance向上検索技術の活用による広告配信Relevance向上
検索技術の活用による広告配信Relevance向上
 
エンジニアの為のAWS実践講座
エンジニアの為のAWS実践講座エンジニアの為のAWS実践講座
エンジニアの為のAWS実践講座
 
AWS Summit New York 2016 Recap : AWS Application Load Balancer and Amazon ECS
AWS Summit New York 2016 Recap : AWS Application Load Balancer and Amazon ECSAWS Summit New York 2016 Recap : AWS Application Load Balancer and Amazon ECS
AWS Summit New York 2016 Recap : AWS Application Load Balancer and Amazon ECS
 
Tips for getting the most out of AWS re:Invent IN ENGLISH
Tips for getting the most out of AWS re:Invent IN ENGLISHTips for getting the most out of AWS re:Invent IN ENGLISH
Tips for getting the most out of AWS re:Invent IN ENGLISH
 
Global AWS AdTech use-cases
Global AWS AdTech use-casesGlobal AWS AdTech use-cases
Global AWS AdTech use-cases
 
IVS CTO Night and Day Recap - #CTONight 2016 Winter
IVS CTO Night and Day Recap - #CTONight 2016 WinterIVS CTO Night and Day Recap - #CTONight 2016 Winter
IVS CTO Night and Day Recap - #CTONight 2016 Winter
 
Search Solutions on AWS
Search Solutions on AWSSearch Solutions on AWS
Search Solutions on AWS
 
Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17Building apps faster with lightning and winter '17
Building apps faster with lightning and winter '17
 
Building a Single Page App with Lightning Components
Building a Single Page App with Lightning ComponentsBuilding a Single Page App with Lightning Components
Building a Single Page App with Lightning Components
 
Battle of the giants: Apache Solr vs ElasticSearch
Battle of the giants: Apache Solr vs ElasticSearchBattle of the giants: Apache Solr vs ElasticSearch
Battle of the giants: Apache Solr vs ElasticSearch
 

Similar to Under the Covers of Salesforce (Eugene Rusalev)

Tuning Your SharePoint Environment
Tuning Your SharePoint EnvironmentTuning Your SharePoint Environment
Tuning Your SharePoint Environment
vmaximiuk
 
Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...
Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...
Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...
Lucidworks
 
scrazzl - A technical overview
scrazzl - A technical overviewscrazzl - A technical overview
scrazzl - A technical overview
scrazzl
 

Similar to Under the Covers of Salesforce (Eugene Rusalev) (20)

Presto at Facebook - Presto Meetup @ Boston (10/6/2015)
Presto at Facebook - Presto Meetup @ Boston (10/6/2015)Presto at Facebook - Presto Meetup @ Boston (10/6/2015)
Presto at Facebook - Presto Meetup @ Boston (10/6/2015)
 
IBM-AIX Classroom Training
IBM-AIX Classroom TrainingIBM-AIX Classroom Training
IBM-AIX Classroom Training
 
CNIT 121: 10 Enterprise Services
CNIT 121: 10 Enterprise ServicesCNIT 121: 10 Enterprise Services
CNIT 121: 10 Enterprise Services
 
(BDT403) Best Practices for Building Real-time Streaming Applications with Am...
(BDT403) Best Practices for Building Real-time Streaming Applications with Am...(BDT403) Best Practices for Building Real-time Streaming Applications with Am...
(BDT403) Best Practices for Building Real-time Streaming Applications with Am...
 
IBM-AIX Online Training
IBM-AIX Online TrainingIBM-AIX Online Training
IBM-AIX Online Training
 
CNIT 152: 10 Enterprise Services
CNIT 152: 10 Enterprise ServicesCNIT 152: 10 Enterprise Services
CNIT 152: 10 Enterprise Services
 
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
 Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
 
Using Riak for Events storage and analysis at Booking.com
Using Riak for Events storage and analysis at Booking.comUsing Riak for Events storage and analysis at Booking.com
Using Riak for Events storage and analysis at Booking.com
 
Hadoop Robot from eBay at China Hadoop Summit 2015
Hadoop Robot from eBay at China Hadoop Summit 2015Hadoop Robot from eBay at China Hadoop Summit 2015
Hadoop Robot from eBay at China Hadoop Summit 2015
 
Tuning Your SharePoint Environment
Tuning Your SharePoint EnvironmentTuning Your SharePoint Environment
Tuning Your SharePoint Environment
 
Afs manager
Afs managerAfs manager
Afs manager
 
Simplifying DCIM with OP Manager - DCW'17
Simplifying DCIM with OP Manager - DCW'17Simplifying DCIM with OP Manager - DCW'17
Simplifying DCIM with OP Manager - DCW'17
 
Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...
Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...
Rackspace: Email's Solution for Indexing 50K Documents per Second: Presented ...
 
The Fabric of the Future
The Fabric of the FutureThe Fabric of the Future
The Fabric of the Future
 
Getting Started with Real-time Analytics
Getting Started with Real-time AnalyticsGetting Started with Real-time Analytics
Getting Started with Real-time Analytics
 
ECS19 - Patrick Curran, Eric Shupps - SHAREPOINT 24X7X365: ARCHITECTING FOR H...
ECS19 - Patrick Curran, Eric Shupps - SHAREPOINT 24X7X365: ARCHITECTING FOR H...ECS19 - Patrick Curran, Eric Shupps - SHAREPOINT 24X7X365: ARCHITECTING FOR H...
ECS19 - Patrick Curran, Eric Shupps - SHAREPOINT 24X7X365: ARCHITECTING FOR H...
 
Realtime Analytics on AWS
Realtime Analytics on AWSRealtime Analytics on AWS
Realtime Analytics on AWS
 
scrazzl - A technical overview
scrazzl - A technical overviewscrazzl - A technical overview
scrazzl - A technical overview
 
Performance management
Performance managementPerformance management
Performance management
 
DataCore Case Study on Hyperconverged
DataCore Case Study on HyperconvergedDataCore Case Study on Hyperconverged
DataCore Case Study on Hyperconverged
 

More from Yury Bondarau (9)

Minsk lightnng week v2
Minsk lightnng week v2Minsk lightnng week v2
Minsk lightnng week v2
 
Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)
Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)
Aura Framework and Lightning (Nikolay Zenko and Alexey Filippov)
 
Apex OOP Patterns (Valery Dvornichenko)
Apex OOP Patterns (Valery Dvornichenko)Apex OOP Patterns (Valery Dvornichenko)
Apex OOP Patterns (Valery Dvornichenko)
 
ExactTarget (Dmitry Yasko)
ExactTarget (Dmitry Yasko)ExactTarget (Dmitry Yasko)
ExactTarget (Dmitry Yasko)
 
Heroku1 (Alexey Filippov)
Heroku1 (Alexey Filippov)Heroku1 (Alexey Filippov)
Heroku1 (Alexey Filippov)
 
Salesforce Summer 14 Release Notes (Alexandra Vilks)
Salesforce Summer 14 Release Notes (Alexandra Vilks)Salesforce Summer 14 Release Notes (Alexandra Vilks)
Salesforce Summer 14 Release Notes (Alexandra Vilks)
 
Work.com (Valery Dvornichenko)
Work.com (Valery Dvornichenko)Work.com (Valery Dvornichenko)
Work.com (Valery Dvornichenko)
 
Salesforce Security Model (Dmitry Goshko, Igor Haritonovich)
Salesforce Security Model (Dmitry Goshko, Igor Haritonovich)Salesforce Security Model (Dmitry Goshko, Igor Haritonovich)
Salesforce Security Model (Dmitry Goshko, Igor Haritonovich)
 
IT Kitchen (Artem Levchenko)
IT Kitchen (Artem Levchenko)IT Kitchen (Artem Levchenko)
IT Kitchen (Artem Levchenko)
 

Recently uploaded

Jax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined DeckJax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined Deck
Marc Lester
 

Recently uploaded (20)

Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024
 
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdfThe Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
The Evolution of Web App Testing_ An Ultimate Guide to Future Trends.pdf
 
IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024
 
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdfMicrosoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data Migration
 
AI Hackathon.pptx
AI                        Hackathon.pptxAI                        Hackathon.pptx
AI Hackathon.pptx
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 
Sourcing Success - How to Find a Clothing Manufacturer
Sourcing Success - How to Find a Clothing ManufacturerSourcing Success - How to Find a Clothing Manufacturer
Sourcing Success - How to Find a Clothing Manufacturer
 
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdf
 
Crafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationCrafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM Integration
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
Jax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined DeckJax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined Deck
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
 

Under the Covers of Salesforce (Eugene Rusalev)

  • 1. Под капотом у Salesforce www.vrpinc.com
  • 2. Agenda • Hardware infrastructure • Data infrastructure • Multitenant architecture www.vrpinc.com
  • 3. 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
  • 4. 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
  • 5. 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
  • 8. 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
  • 9. Data infrastructure Building Blocks • Relational Database • Distributed File System • Search www.vrpinc.com
  • 10. Relational Database • Sharding / Partitioning Shard based on customer • High availability 8 machine database cluster Automatic failover www.vrpinc.com
  • 11. Relational Database • Backups 3 lag databases Near Real-time 2 Hour 48 Hour Tape / Disk • Disaster Recovery Hardware block-level replication www.vrpinc.com
  • 12. Distributed File System • Binary Object Store • Homegrown Technology called FileForce • Optimized for High Availability www.vrpinc.com
  • 13. Distributed File System www.vrpinc.com
  • 14. 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
  • 15. Multitenancy • Tenant = Organization (aka Company) • Each Organization has many sub-tenants (aka Users, Private model) www.vrpinc.com
  • 16. Multitenancy www.vrpinc.com (On-Premise or Hosted) App 1 App Server Database OS Server Storage Network App 1 App 2 App 3 Single-Tenant App 2 App Server Database OS App 3 App Server Database OS Buy, Install, Build, Tune, Upgrade Multi-Tenant Innovation. Not Infrastructure Server Storage Network Server Storage Network One Company Many App Stacks Many Companies One Shared Stack
  • 17. 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
  • 18. Multitenant Data Model www.vrpinc.com
  • 20. Flex Schema: Optimizations www.vrpinc.com
  • 23. Thank you for your attention www.vrpinc.com