SlideShare a Scribd company logo
1 of 22
Download to read offline
Developer-Focused Database Agnostic Performance Tips
Making your RDBMS Fast!
Victor Szoltysek
July / 2015
Me
ThoughtWorks Consultant
Supported Database Customer Migration Project at Shaw
Cable (Major Canadian telecom) for ~2 years
OOP background
Limited (typical?) SQL experience prior to Shaw
Today sharing .. lessons learned from project
Customer Migration @ Shaw in a Nutshell
Large DataVolume
Tables with 10 million+ rows
80 gigs+ of data per city
Full build (migration) took ~6hrs
MSSQL, MySql, Oracle, proprietary databases
and flat files
Only testing with small datasets, but using large ones in
production
.. expecting same performance
Database Development Misconceptions
Reality
Everything changes when large data is involved
Ideally, performance test against comparable real world
volume
80/20 rule
Database Development Misconceptions
ORMs will “automagically” take care of everything
var sessionFactory = Fluently.Configure()
.Mappings(m => m.AutoMappings
.Add(AutoMap.AssemblyOf<Product>()))
.BuildSessionFactory();
Reality
ORMs are great for small data Greenfield projects
ORMs hide optimization abilities, and database specific
features
Performance tweaks become increasingly more
important the larger the data you are dealing with
Reduce Row Size
Use smallest possible datatype
(Small Int instead of Big Int, etc)
Use Integer instead of GUID for keys
Use fixed length if possible
(Char instead of Varchar)
Prefer Non-Null instead of Nullable columns
Null Gotchas
Null != Null in SQL
SELECT ‘SOME RESULT’ WHERE NULL=NULL
No ROWS RETURNED
Empty String != Empty String in Oracle
SELECT ‘SOME RESULT’ WHERE ‘’=’’
No ROWS RETURNED
Avoid N+1 Problem
for each(SELECT * FROM EMPLOYEES)
for each(SELECT * FROM SALES WHERE SALES.EMP_ID = employee.EMP_ID
//do something with sale
for each(SELECT * FROM SALES JOIN EMPLOYEES USING (EMP_ID)
//do something with sale
Give database as much work as possible
Reduce SQL database calls / network roundtrips
Defer query decisions to database, let it choose
optimum evaluation plan
Prefer SQL code to procedural logic (loops, cursors,
separated calls)
Use BULK operations
Sqlloader.exe (Oracle), Bcp.exe (MSSQL) , Bulk Insert
FAST insertion of static data
Cleaner code (CSV files instead of Insert Into’s)
~10x performance gains observed
Add Indexes where needed
Index Analogy - Index at end of book
Indexes SIGNIFICANTLY speeds up searching
(using ‘WHERE’ criteria)
ORMs don’t add indexes for non-key columns
Determine common searches
~100x performance gains observed
Gotcha - Indexes ignored with function usage
Example:
...WHERE UPPER(name) = ‘BOB’
‘name’ index will not be used!!
ORMs sometimes insert lower/upper behind the
scenes!!
Remove unused Indexes
Unused indexes take up space, slow down insertion and
deletion
Statistics
Databases use table statistics (row counts, data range,
data distribution etc) to determine optimum query
evaluation
Statistics are not automatically updated when data is
changed/inserted!! (as opposed to indexes)
Manually update Statistics on large data changes
Out-of-date statistics can cause database to make
inefficient query evaluation decisions
#1 performance optimization at Shaw
~100x performance gains observed in some situations
Other Performance Options
Disable/Remove Constraints
Remove/Minimize Row-based Trigger Usage
Disable Logging
~1.5x performance gains observed
Good choice for test environments
(Be careful!!!)
Use SSD’s
~2x performance gains observed
Use RAM
(Be careful!!!)
SQL is not Dead
NoSQL is an alternative, not replacement for SQL/RDMS
SQL / RDBMS best for:
Row based data
Static table definitions
Complex Table Relationships / Joins
Transactions

More Related Content

What's hot

What's hot (20)

Unified MLOps: Feature Stores & Model Deployment
Unified MLOps: Feature Stores & Model DeploymentUnified MLOps: Feature Stores & Model Deployment
Unified MLOps: Feature Stores & Model Deployment
 
ETL in the Cloud With Microsoft Azure
ETL in the Cloud With Microsoft AzureETL in the Cloud With Microsoft Azure
ETL in the Cloud With Microsoft Azure
 
Azure data lake sql konf 2016
Azure data lake   sql konf 2016Azure data lake   sql konf 2016
Azure data lake sql konf 2016
 
ADF Mapping Data Flows Training Slides V1
ADF Mapping Data Flows Training Slides V1ADF Mapping Data Flows Training Slides V1
ADF Mapping Data Flows Training Slides V1
 
Microsoft Machine Learning Smackdown
Microsoft Machine Learning SmackdownMicrosoft Machine Learning Smackdown
Microsoft Machine Learning Smackdown
 
ETL 2.0 Data Engineering for developers
ETL 2.0 Data Engineering for developersETL 2.0 Data Engineering for developers
ETL 2.0 Data Engineering for developers
 
Microsoft Azure Data Factory Hands-On Lab Overview Slides
Microsoft Azure Data Factory Hands-On Lab Overview SlidesMicrosoft Azure Data Factory Hands-On Lab Overview Slides
Microsoft Azure Data Factory Hands-On Lab Overview Slides
 
SQL Saturday Redmond 2019 ETL Patterns in the Cloud
SQL Saturday Redmond 2019 ETL Patterns in the CloudSQL Saturday Redmond 2019 ETL Patterns in the Cloud
SQL Saturday Redmond 2019 ETL Patterns in the Cloud
 
Microsoft Machine Learning Smackdown
Microsoft Machine Learning SmackdownMicrosoft Machine Learning Smackdown
Microsoft Machine Learning Smackdown
 
SQL Tips + Tricks for Developers
SQL Tips + Tricks for DevelopersSQL Tips + Tricks for Developers
SQL Tips + Tricks for Developers
 
Deliver Your Modern Data Warehouse (Microsoft Tech Summit Oslo 2018)
Deliver Your Modern Data Warehouse (Microsoft Tech Summit Oslo 2018)Deliver Your Modern Data Warehouse (Microsoft Tech Summit Oslo 2018)
Deliver Your Modern Data Warehouse (Microsoft Tech Summit Oslo 2018)
 
Marketing vs Technology
Marketing vs TechnologyMarketing vs Technology
Marketing vs Technology
 
Microsoft Data Integration Pipelines: Azure Data Factory and SSIS
Microsoft Data Integration Pipelines: Azure Data Factory and SSISMicrosoft Data Integration Pipelines: Azure Data Factory and SSIS
Microsoft Data Integration Pipelines: Azure Data Factory and SSIS
 
Data quality patterns in the cloud with ADF
Data quality patterns in the cloud with ADFData quality patterns in the cloud with ADF
Data quality patterns in the cloud with ADF
 
From Idea to Model: Productionizing Data Pipelines with Apache Airflow
From Idea to Model: Productionizing Data Pipelines with Apache AirflowFrom Idea to Model: Productionizing Data Pipelines with Apache Airflow
From Idea to Model: Productionizing Data Pipelines with Apache Airflow
 
Bootstrapping of PySpark Models for Factorial A/B Tests
Bootstrapping of PySpark Models for Factorial A/B TestsBootstrapping of PySpark Models for Factorial A/B Tests
Bootstrapping of PySpark Models for Factorial A/B Tests
 
Data Quality Patterns in the Cloud with ADF
Data Quality Patterns in the Cloud with ADFData Quality Patterns in the Cloud with ADF
Data Quality Patterns in the Cloud with ADF
 
Data cleansing and prep with synapse data flows
Data cleansing and prep with synapse data flowsData cleansing and prep with synapse data flows
Data cleansing and prep with synapse data flows
 
Intoduction to sql 2012 Tabular Modeling
Intoduction to sql 2012 Tabular ModelingIntoduction to sql 2012 Tabular Modeling
Intoduction to sql 2012 Tabular Modeling
 
NoSQL Now
NoSQL NowNoSQL Now
NoSQL Now
 

Similar to Making your RDBMS fast!

The thinking persons guide to data warehouse design
The thinking persons guide to data warehouse designThe thinking persons guide to data warehouse design
The thinking persons guide to data warehouse design
Calpont
 
Myth busters - performance tuning 102 2008
Myth busters - performance tuning 102 2008Myth busters - performance tuning 102 2008
Myth busters - performance tuning 102 2008
paulguerin
 

Similar to Making your RDBMS fast! (20)

It ready dw_day3_rev00
It ready dw_day3_rev00It ready dw_day3_rev00
It ready dw_day3_rev00
 
The thinking persons guide to data warehouse design
The thinking persons guide to data warehouse designThe thinking persons guide to data warehouse design
The thinking persons guide to data warehouse design
 
Moving from SQL Server to MongoDB
Moving from SQL Server to MongoDBMoving from SQL Server to MongoDB
Moving from SQL Server to MongoDB
 
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)
Introduction to Azure Data Lake and U-SQL for SQL users (SQL Saturday 635)
 
Nosql seminar
Nosql seminarNosql seminar
Nosql seminar
 
SQL Server 2008 Development for Programmers
SQL Server 2008 Development for ProgrammersSQL Server 2008 Development for Programmers
SQL Server 2008 Development for Programmers
 
A Data Culture with Embedded Analytics in Action
A Data Culture with Embedded Analytics in ActionA Data Culture with Embedded Analytics in Action
A Data Culture with Embedded Analytics in Action
 
Prague data management meetup 2018-03-27
Prague data management meetup 2018-03-27Prague data management meetup 2018-03-27
Prague data management meetup 2018-03-27
 
Data Warehouse Design and Best Practices
Data Warehouse Design and Best PracticesData Warehouse Design and Best Practices
Data Warehouse Design and Best Practices
 
Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)Azure Synapse Analytics Overview (r1)
Azure Synapse Analytics Overview (r1)
 
SQL Server 2008 Integration Services
SQL Server 2008 Integration ServicesSQL Server 2008 Integration Services
SQL Server 2008 Integration Services
 
ETL
ETL ETL
ETL
 
ADL/U-SQL Introduction (SQLBits 2016)
ADL/U-SQL Introduction (SQLBits 2016)ADL/U-SQL Introduction (SQLBits 2016)
ADL/U-SQL Introduction (SQLBits 2016)
 
Myth busters - performance tuning 102 2008
Myth busters - performance tuning 102 2008Myth busters - performance tuning 102 2008
Myth busters - performance tuning 102 2008
 
In-memory ColumnStore Index
In-memory ColumnStore IndexIn-memory ColumnStore Index
In-memory ColumnStore Index
 
Making MySQL Great For Business Intelligence
Making MySQL Great For Business IntelligenceMaking MySQL Great For Business Intelligence
Making MySQL Great For Business Intelligence
 
2021 04-20 apache arrow and its impact on the database industry.pptx
2021 04-20  apache arrow and its impact on the database industry.pptx2021 04-20  apache arrow and its impact on the database industry.pptx
2021 04-20 apache arrow and its impact on the database industry.pptx
 
Big data technology unit 3
Big data technology unit 3Big data technology unit 3
Big data technology unit 3
 
Migrating on premises workload to azure sql database
Migrating on premises workload to azure sql databaseMigrating on premises workload to azure sql database
Migrating on premises workload to azure sql database
 
Power BI with Essbase in the Oracle Cloud
Power BI with Essbase in the Oracle CloudPower BI with Essbase in the Oracle Cloud
Power BI with Essbase in the Oracle Cloud
 

More from VictorSzoltysek

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

More from VictorSzoltysek (17)

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
Simplified DevOps Bliss -with OpenAI API
Simplified DevOps Bliss -with OpenAI APISimplified DevOps Bliss -with OpenAI API
Simplified DevOps Bliss -with OpenAI API
 
From SpaceX Launch Pads to Rapid Deployments
From SpaceX Launch Pads to Rapid DeploymentsFrom SpaceX Launch Pads to Rapid Deployments
From SpaceX Launch Pads to Rapid Deployments
 
The Future of JVM Languages
The Future of JVM Languages The Future of JVM Languages
The Future of JVM Languages
 
Driving Process Improvements - A Guided Approach to Running Effective Retrosp...
Driving Process Improvements - A Guided Approach to Running Effective Retrosp...Driving Process Improvements - A Guided Approach to Running Effective Retrosp...
Driving Process Improvements - A Guided Approach to Running Effective Retrosp...
 
Spaceships, Pull Requests and Feature Branching - A Principles-Based approac...
Spaceships, Pull Requests and Feature Branching  - A Principles-Based approac...Spaceships, Pull Requests and Feature Branching  - A Principles-Based approac...
Spaceships, Pull Requests and Feature Branching - A Principles-Based approac...
 
Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...
Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...
Real-World DevOps — 20 Practical Developers Tips for Tightening Your Operatio...
 
Real-World Application Observability - 11 Practical Developer Focused Tips
Real-World Application Observability - 11 Practical Developer Focused TipsReal-World Application Observability - 11 Practical Developer Focused Tips
Real-World Application Observability - 11 Practical Developer Focused Tips
 
Victor's Awesome Retro Deck
Victor's Awesome Retro DeckVictor's Awesome Retro Deck
Victor's Awesome Retro Deck
 
Software Development in Internet Memes
Software Development in Internet MemesSoftware Development in Internet Memes
Software Development in Internet Memes
 
Big Bangs, Monorails and Microservices - Feb 2020
Big Bangs, Monorails and Microservices - Feb 2020Big Bangs, Monorails and Microservices - Feb 2020
Big Bangs, Monorails and Microservices - Feb 2020
 
Less is more the 7 wastes of lean software development
Less is more   the 7 wastes of lean software developmentLess is more   the 7 wastes of lean software development
Less is more the 7 wastes of lean software development
 
Modern day jvm controversies
Modern day jvm controversiesModern day jvm controversies
Modern day jvm controversies
 
The Future of Java - and a look at the evolution of programming languages
The Future of Java - and a look at the evolution of programming languagesThe Future of Java - and a look at the evolution of programming languages
The Future of Java - and a look at the evolution of programming languages
 
Client Technical Analysis of Legacy Software and Future Replacement
Client Technical Analysis of Legacy Software and Future ReplacementClient Technical Analysis of Legacy Software and Future Replacement
Client Technical Analysis of Legacy Software and Future Replacement
 
Improving velocity through abstraction
Improving velocity through abstractionImproving velocity through abstraction
Improving velocity through abstraction
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Making your RDBMS fast!

  • 1. Developer-Focused Database Agnostic Performance Tips Making your RDBMS Fast! Victor Szoltysek July / 2015
  • 2. Me ThoughtWorks Consultant Supported Database Customer Migration Project at Shaw Cable (Major Canadian telecom) for ~2 years OOP background Limited (typical?) SQL experience prior to Shaw Today sharing .. lessons learned from project
  • 3. Customer Migration @ Shaw in a Nutshell Large DataVolume Tables with 10 million+ rows 80 gigs+ of data per city Full build (migration) took ~6hrs MSSQL, MySql, Oracle, proprietary databases and flat files
  • 4. Only testing with small datasets, but using large ones in production .. expecting same performance Database Development Misconceptions
  • 5. Reality Everything changes when large data is involved Ideally, performance test against comparable real world volume 80/20 rule
  • 6. Database Development Misconceptions ORMs will “automagically” take care of everything var sessionFactory = Fluently.Configure() .Mappings(m => m.AutoMappings .Add(AutoMap.AssemblyOf<Product>())) .BuildSessionFactory();
  • 7. Reality ORMs are great for small data Greenfield projects ORMs hide optimization abilities, and database specific features Performance tweaks become increasingly more important the larger the data you are dealing with
  • 8. Reduce Row Size Use smallest possible datatype (Small Int instead of Big Int, etc) Use Integer instead of GUID for keys Use fixed length if possible (Char instead of Varchar) Prefer Non-Null instead of Nullable columns
  • 10. Null != Null in SQL SELECT ‘SOME RESULT’ WHERE NULL=NULL No ROWS RETURNED
  • 11. Empty String != Empty String in Oracle SELECT ‘SOME RESULT’ WHERE ‘’=’’ No ROWS RETURNED
  • 12. Avoid N+1 Problem for each(SELECT * FROM EMPLOYEES) for each(SELECT * FROM SALES WHERE SALES.EMP_ID = employee.EMP_ID //do something with sale for each(SELECT * FROM SALES JOIN EMPLOYEES USING (EMP_ID) //do something with sale
  • 13. Give database as much work as possible Reduce SQL database calls / network roundtrips Defer query decisions to database, let it choose optimum evaluation plan Prefer SQL code to procedural logic (loops, cursors, separated calls)
  • 14. Use BULK operations Sqlloader.exe (Oracle), Bcp.exe (MSSQL) , Bulk Insert FAST insertion of static data Cleaner code (CSV files instead of Insert Into’s) ~10x performance gains observed
  • 15. Add Indexes where needed Index Analogy - Index at end of book Indexes SIGNIFICANTLY speeds up searching (using ‘WHERE’ criteria) ORMs don’t add indexes for non-key columns Determine common searches ~100x performance gains observed
  • 16. Gotcha - Indexes ignored with function usage Example: ...WHERE UPPER(name) = ‘BOB’ ‘name’ index will not be used!! ORMs sometimes insert lower/upper behind the scenes!!
  • 17. Remove unused Indexes Unused indexes take up space, slow down insertion and deletion
  • 18. Statistics Databases use table statistics (row counts, data range, data distribution etc) to determine optimum query evaluation Statistics are not automatically updated when data is changed/inserted!! (as opposed to indexes)
  • 19. Manually update Statistics on large data changes Out-of-date statistics can cause database to make inefficient query evaluation decisions #1 performance optimization at Shaw ~100x performance gains observed in some situations
  • 20. Other Performance Options Disable/Remove Constraints Remove/Minimize Row-based Trigger Usage Disable Logging ~1.5x performance gains observed Good choice for test environments (Be careful!!!) Use SSD’s ~2x performance gains observed Use RAM (Be careful!!!)
  • 21. SQL is not Dead NoSQL is an alternative, not replacement for SQL/RDMS
  • 22. SQL / RDBMS best for: Row based data Static table definitions Complex Table Relationships / Joins Transactions