SlideShare a Scribd company logo
1 of 24
Wringing Performance out of Perl
Grant Street Group Began as a financial advisor group
Grant Street Group Discovered the Internet in 1997
Grant Street Group Online Auctions of Property Tax Liens Web-Based billing system for tax collectors Conversion of legacy tax-collector databases Online license / vehicle tag renewals Online payment processing Auctions of all types of bonds And lots, lots more!
Tax Lien Auctions
Tax Lien Auctions Absolute feeding frenzy Our bidders threatened to exhaust TIN numbers 20 million bidders in 2011 More than 30 billion bids altogether Average was a 500,000-way tie About 2,000 auctions closing simultaneously
Tax Lien Auctions How do we award auctions performantly? Random tie-breaking with Crypt::Random Random row-ID plus MySQL = S L O W Turns out we can do it much faster in Perl
Tax Lien Auctions Net result: auction closing takes 20 seconds Breaking 2,000 ties, each 500,000-way Stress-testing indicates can scale by 4x The IRS definitely cannot scale by 4x
Property Tax Online Payments
Property Tax Online Payments Florida residents can pay the property tax Hosted, customized sites per county Largest counties have ~1,000,000 parcels Users are typical Florida residents
Property Tax Online Payments
Property Tax Online Payments
Property Tax Online Payments
Property Tax Online Payments
Property Tax Online Payments Backend is MySQL and Sphinx Lightning-fast searches with Perl Mapping IDs to table, column, PK Parsing SHOW STATUS LIKE ‘sphinx%’ Lots of useful metadata!
Property Tax Online Payments Net results: Sub-second turnaround times 9 minute average time on site by payers 4 minute average time on site overall
Customer Data Conversion
Customer Data Conversion Largest county in FL is a customer Population ~2.4M people Tax roll of ~900K parcels History of ~5.6M bills across 6 years Full database is large (by our standards) Data files are ~30-50GB Full conversion is ~160 hours, using Perl Might be ~8 hours using pure SQL
Customer Data Conversion Problem is we can’t use pure SQL Ridiculous amounts of business logic Utterly different data models We’re a Perl shop; Perl is our hammer
Customer Data Conversion Hugely parallel data conversion Subdivide conversion into smaller steps Build hash of dependencies between steps Construct DAG of work units in MongoDB Distribute the actual work Run lots of Perl worker processes Workers grab ready work units Perform the work unit sequentially
Customer Data Conversion The end result Total conversion time ~3 hours with 80 workers Nightly reloads now very practical Able to resume incomplete loads
We’re Hiring Telecommuters

More Related Content

Viewers also liked

Diapositivas vacaciones 11 (1)
Diapositivas vacaciones 11 (1)Diapositivas vacaciones 11 (1)
Diapositivas vacaciones 11 (1)garciafranklin
 
2012.7.31 第二回 Stage3D 勉強会「モデリングを始めてみよう」
2012.7.31 第二回 Stage3D 勉強会「モデリングを始めてみよう」2012.7.31 第二回 Stage3D 勉強会「モデリングを始めてみよう」
2012.7.31 第二回 Stage3D 勉強会「モデリングを始めてみよう」itoz itoz
 
Danielle\'s Visual Resume
Danielle\'s Visual ResumeDanielle\'s Visual Resume
Danielle\'s Visual Resumedmhami3
 
álbum de fotografías -25 años-
álbum de fotografías -25 años-álbum de fotografías -25 años-
álbum de fotografías -25 años-gustavo145
 
Open im vol16_lt_hosi_factory
Open im vol16_lt_hosi_factoryOpen im vol16_lt_hosi_factory
Open im vol16_lt_hosi_factoryNTTDATA INTRAMART
 
Brief alcohol in teen project university workshop v2 26-02-55
Brief alcohol in teen project university workshop v2 26-02-55Brief alcohol in teen project university workshop v2 26-02-55
Brief alcohol in teen project university workshop v2 26-02-55nudeJEH
 
Subsalt Steep Dip Imaging Study with 3D Acoustic Modeling
Subsalt Steep Dip Imaging Study  with 3D Acoustic  ModelingSubsalt Steep Dip Imaging Study  with 3D Acoustic  Modeling
Subsalt Steep Dip Imaging Study with 3D Acoustic Modelingleizhuo
 
исследование рынка аутсорсинговых контактных центров украины
исследование рынка аутсорсинговых контактных центров украиныисследование рынка аутсорсинговых контактных центров украины
исследование рынка аутсорсинговых контактных центров украиныSergey Onenko
 
BOM Team Prosperity
BOM Team ProsperityBOM Team Prosperity
BOM Team ProsperityKetty Masim
 
Matthew Brown's Visual resume
Matthew Brown's Visual resumeMatthew Brown's Visual resume
Matthew Brown's Visual resumeMatt Brown
 
Hot skills исследование страховых компаний_2011
Hot skills исследование страховых компаний_2011Hot skills исследование страховых компаний_2011
Hot skills исследование страховых компаний_2011Sergey Onenko
 
音声でPhilips Hueを操作してみる
音声でPhilips Hueを操作してみる音声でPhilips Hueを操作してみる
音声でPhilips Hueを操作してみるitoz itoz
 

Viewers also liked (20)

QOL
QOLQOL
QOL
 
Diapositivas vacaciones 11 (1)
Diapositivas vacaciones 11 (1)Diapositivas vacaciones 11 (1)
Diapositivas vacaciones 11 (1)
 
2012.7.31 第二回 Stage3D 勉強会「モデリングを始めてみよう」
2012.7.31 第二回 Stage3D 勉強会「モデリングを始めてみよう」2012.7.31 第二回 Stage3D 勉強会「モデリングを始めてみよう」
2012.7.31 第二回 Stage3D 勉強会「モデリングを始めてみよう」
 
Danielle\'s Visual Resume
Danielle\'s Visual ResumeDanielle\'s Visual Resume
Danielle\'s Visual Resume
 
Michal@gala
Michal@galaMichal@gala
Michal@gala
 
Babs
BabsBabs
Babs
 
Visual Resume
Visual ResumeVisual Resume
Visual Resume
 
álbum de fotografías -25 años-
álbum de fotografías -25 años-álbum de fotografías -25 años-
álbum de fotografías -25 años-
 
Open im vol16_lt_hosi_factory
Open im vol16_lt_hosi_factoryOpen im vol16_lt_hosi_factory
Open im vol16_lt_hosi_factory
 
Brief alcohol in teen project university workshop v2 26-02-55
Brief alcohol in teen project university workshop v2 26-02-55Brief alcohol in teen project university workshop v2 26-02-55
Brief alcohol in teen project university workshop v2 26-02-55
 
Subsalt Steep Dip Imaging Study with 3D Acoustic Modeling
Subsalt Steep Dip Imaging Study  with 3D Acoustic  ModelingSubsalt Steep Dip Imaging Study  with 3D Acoustic  Modeling
Subsalt Steep Dip Imaging Study with 3D Acoustic Modeling
 
исследование рынка аутсорсинговых контактных центров украины
исследование рынка аутсорсинговых контактных центров украиныисследование рынка аутсорсинговых контактных центров украины
исследование рынка аутсорсинговых контактных центров украины
 
Air superiority for Android Apps
Air superiority for Android AppsAir superiority for Android Apps
Air superiority for Android Apps
 
Photoessay
PhotoessayPhotoessay
Photoessay
 
BOM Team Prosperity
BOM Team ProsperityBOM Team Prosperity
BOM Team Prosperity
 
Matthew Brown's Visual resume
Matthew Brown's Visual resumeMatthew Brown's Visual resume
Matthew Brown's Visual resume
 
Hot skills исследование страховых компаний_2011
Hot skills исследование страховых компаний_2011Hot skills исследование страховых компаний_2011
Hot skills исследование страховых компаний_2011
 
音声でPhilips Hueを操作してみる
音声でPhilips Hueを操作してみる音声でPhilips Hueを操作してみる
音声でPhilips Hueを操作してみる
 
Triconf
TriconfTriconf
Triconf
 
Yourprezi
YourpreziYourprezi
Yourprezi
 

Similar to Wringing Performance out of Perl

Registry Solutions Case Study - .CO Internet SAS
Registry Solutions Case Study - .CO Internet SASRegistry Solutions Case Study - .CO Internet SAS
Registry Solutions Case Study - .CO Internet SASLogicBoxes
 
Investor presentation novelty lab November 2013
Investor presentation novelty lab November 2013Investor presentation novelty lab November 2013
Investor presentation novelty lab November 2013Taras Kuzin
 
Argentina Electronic Invoicing and Tax Reporting Requirements
Argentina Electronic Invoicing and Tax Reporting RequirementsArgentina Electronic Invoicing and Tax Reporting Requirements
Argentina Electronic Invoicing and Tax Reporting RequirementsInvoiceware International
 
Blockchain technology bitcoin & beyond
Blockchain technology bitcoin & beyondBlockchain technology bitcoin & beyond
Blockchain technology bitcoin & beyondJudythbell
 
Slow is the New Down - Global Ecommerce
Slow is the New Down - Global EcommerceSlow is the New Down - Global Ecommerce
Slow is the New Down - Global EcommerceMark Lewis
 
Billions of Rows, Millions of Insights, Right Now
Billions of Rows, Millions of Insights, Right NowBillions of Rows, Millions of Insights, Right Now
Billions of Rows, Millions of Insights, Right NowRob Winters
 
E commerce ppt new by ajit verma
E commerce ppt new by ajit vermaE commerce ppt new by ajit verma
E commerce ppt new by ajit vermaajit verma
 
Connecting Kafka to Cash (CKC) (Lyndon Hedderly, Confluent) Kafka Summit Lond...
Connecting Kafka to Cash (CKC) (Lyndon Hedderly, Confluent) Kafka Summit Lond...Connecting Kafka to Cash (CKC) (Lyndon Hedderly, Confluent) Kafka Summit Lond...
Connecting Kafka to Cash (CKC) (Lyndon Hedderly, Confluent) Kafka Summit Lond...confluent
 
the coming hyperscaling platform in property management
the coming hyperscaling platform in property management the coming hyperscaling platform in property management
the coming hyperscaling platform in property management Chris Mrakas
 
Prassnitha Sampath - Real Time Big Data Analytics with Kafka, Storm & HBase -...
Prassnitha Sampath - Real Time Big Data Analytics with Kafka, Storm & HBase -...Prassnitha Sampath - Real Time Big Data Analytics with Kafka, Storm & HBase -...
Prassnitha Sampath - Real Time Big Data Analytics with Kafka, Storm & HBase -...NoSQLmatters
 
PivotBillions: Analyzing 1.5 Billion Rows of NYC Taxi Data
PivotBillions: Analyzing 1.5 Billion Rows of NYC Taxi DataPivotBillions: Analyzing 1.5 Billion Rows of NYC Taxi Data
PivotBillions: Analyzing 1.5 Billion Rows of NYC Taxi DataMichael Nam
 
Ecommerce Basics - WebDesign.com Ecommerce Summit 2013
Ecommerce Basics - WebDesign.com Ecommerce Summit 2013Ecommerce Basics - WebDesign.com Ecommerce Summit 2013
Ecommerce Basics - WebDesign.com Ecommerce Summit 2013Nathan Ingram
 
Implementation of Hybris Billing at PostNL
Implementation of Hybris Billing at PostNLImplementation of Hybris Billing at PostNL
Implementation of Hybris Billing at PostNLSAP Customer Experience
 
E-Business in Rural Communities
E-Business in Rural CommunitiesE-Business in Rural Communities
E-Business in Rural Communitieswebhostingguy
 
BDA403 The Visible Network: How Netflix Uses Kinesis Streams to Monitor Appli...
BDA403 The Visible Network: How Netflix Uses Kinesis Streams to Monitor Appli...BDA403 The Visible Network: How Netflix Uses Kinesis Streams to Monitor Appli...
BDA403 The Visible Network: How Netflix Uses Kinesis Streams to Monitor Appli...Amazon Web Services
 

Similar to Wringing Performance out of Perl (20)

Registry Solutions Case Study - .CO Internet SAS
Registry Solutions Case Study - .CO Internet SASRegistry Solutions Case Study - .CO Internet SAS
Registry Solutions Case Study - .CO Internet SAS
 
Investor presentation novelty lab November 2013
Investor presentation novelty lab November 2013Investor presentation novelty lab November 2013
Investor presentation novelty lab November 2013
 
Argentina Electronic Invoicing and Tax Reporting Requirements
Argentina Electronic Invoicing and Tax Reporting RequirementsArgentina Electronic Invoicing and Tax Reporting Requirements
Argentina Electronic Invoicing and Tax Reporting Requirements
 
Blockchain technology bitcoin & beyond
Blockchain technology bitcoin & beyondBlockchain technology bitcoin & beyond
Blockchain technology bitcoin & beyond
 
Slow is the New Down - Global Ecommerce
Slow is the New Down - Global EcommerceSlow is the New Down - Global Ecommerce
Slow is the New Down - Global Ecommerce
 
Billions of Rows, Millions of Insights, Right Now
Billions of Rows, Millions of Insights, Right NowBillions of Rows, Millions of Insights, Right Now
Billions of Rows, Millions of Insights, Right Now
 
Paybis - Crypto as payment method
Paybis - Crypto as payment methodPaybis - Crypto as payment method
Paybis - Crypto as payment method
 
E commerce ppt new by ajit verma
E commerce ppt new by ajit vermaE commerce ppt new by ajit verma
E commerce ppt new by ajit verma
 
Document Automation
Document AutomationDocument Automation
Document Automation
 
Connecting Kafka to Cash (CKC) (Lyndon Hedderly, Confluent) Kafka Summit Lond...
Connecting Kafka to Cash (CKC) (Lyndon Hedderly, Confluent) Kafka Summit Lond...Connecting Kafka to Cash (CKC) (Lyndon Hedderly, Confluent) Kafka Summit Lond...
Connecting Kafka to Cash (CKC) (Lyndon Hedderly, Confluent) Kafka Summit Lond...
 
Single Global Currency
Single Global CurrencySingle Global Currency
Single Global Currency
 
S=s kick off shortsea xml - internet
S=s kick off shortsea xml - internetS=s kick off shortsea xml - internet
S=s kick off shortsea xml - internet
 
the coming hyperscaling platform in property management
the coming hyperscaling platform in property management the coming hyperscaling platform in property management
the coming hyperscaling platform in property management
 
Prassnitha Sampath - Real Time Big Data Analytics with Kafka, Storm & HBase -...
Prassnitha Sampath - Real Time Big Data Analytics with Kafka, Storm & HBase -...Prassnitha Sampath - Real Time Big Data Analytics with Kafka, Storm & HBase -...
Prassnitha Sampath - Real Time Big Data Analytics with Kafka, Storm & HBase -...
 
PivotBillions: Analyzing 1.5 Billion Rows of NYC Taxi Data
PivotBillions: Analyzing 1.5 Billion Rows of NYC Taxi DataPivotBillions: Analyzing 1.5 Billion Rows of NYC Taxi Data
PivotBillions: Analyzing 1.5 Billion Rows of NYC Taxi Data
 
Ecommerce Basics - WebDesign.com Ecommerce Summit 2013
Ecommerce Basics - WebDesign.com Ecommerce Summit 2013Ecommerce Basics - WebDesign.com Ecommerce Summit 2013
Ecommerce Basics - WebDesign.com Ecommerce Summit 2013
 
Implementation of Hybris Billing at PostNL
Implementation of Hybris Billing at PostNLImplementation of Hybris Billing at PostNL
Implementation of Hybris Billing at PostNL
 
E-Business in Rural Communities
E-Business in Rural CommunitiesE-Business in Rural Communities
E-Business in Rural Communities
 
BDA403 The Visible Network: How Netflix Uses Kinesis Streams to Monitor Appli...
BDA403 The Visible Network: How Netflix Uses Kinesis Streams to Monitor Appli...BDA403 The Visible Network: How Netflix Uses Kinesis Streams to Monitor Appli...
BDA403 The Visible Network: How Netflix Uses Kinesis Streams to Monitor Appli...
 
Ecommerce Load Test
Ecommerce Load TestEcommerce Load Test
Ecommerce Load Test
 

Recently uploaded

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

Wringing Performance out of Perl

  • 1.
  • 3. Grant Street Group Began as a financial advisor group
  • 4. Grant Street Group Discovered the Internet in 1997
  • 5. Grant Street Group Online Auctions of Property Tax Liens Web-Based billing system for tax collectors Conversion of legacy tax-collector databases Online license / vehicle tag renewals Online payment processing Auctions of all types of bonds And lots, lots more!
  • 7. Tax Lien Auctions Absolute feeding frenzy Our bidders threatened to exhaust TIN numbers 20 million bidders in 2011 More than 30 billion bids altogether Average was a 500,000-way tie About 2,000 auctions closing simultaneously
  • 8. Tax Lien Auctions How do we award auctions performantly? Random tie-breaking with Crypt::Random Random row-ID plus MySQL = S L O W Turns out we can do it much faster in Perl
  • 9. Tax Lien Auctions Net result: auction closing takes 20 seconds Breaking 2,000 ties, each 500,000-way Stress-testing indicates can scale by 4x The IRS definitely cannot scale by 4x
  • 11. Property Tax Online Payments Florida residents can pay the property tax Hosted, customized sites per county Largest counties have ~1,000,000 parcels Users are typical Florida residents
  • 16.
  • 17. Property Tax Online Payments Backend is MySQL and Sphinx Lightning-fast searches with Perl Mapping IDs to table, column, PK Parsing SHOW STATUS LIKE ‘sphinx%’ Lots of useful metadata!
  • 18. Property Tax Online Payments Net results: Sub-second turnaround times 9 minute average time on site by payers 4 minute average time on site overall
  • 20. Customer Data Conversion Largest county in FL is a customer Population ~2.4M people Tax roll of ~900K parcels History of ~5.6M bills across 6 years Full database is large (by our standards) Data files are ~30-50GB Full conversion is ~160 hours, using Perl Might be ~8 hours using pure SQL
  • 21. Customer Data Conversion Problem is we can’t use pure SQL Ridiculous amounts of business logic Utterly different data models We’re a Perl shop; Perl is our hammer
  • 22. Customer Data Conversion Hugely parallel data conversion Subdivide conversion into smaller steps Build hash of dependencies between steps Construct DAG of work units in MongoDB Distribute the actual work Run lots of Perl worker processes Workers grab ready work units Perform the work unit sequentially
  • 23. Customer Data Conversion The end result Total conversion time ~3 hours with 80 workers Nightly reloads now very practical Able to resume incomplete loads