SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Destacado

Destacado (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 a 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 a 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
 

Más de 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)
 

Último

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Último (20)

WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 

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