SlideShare a Scribd company logo
The RDBMS You Should
Be Using
Barney Boisvert - dev.Objective() 2016
About Me
Software Craftsman
Soccer
Scotch
Woodworking
Tooling
What is a Database?
What is a Database?
a place to store things "permanently"
a place applications collaborate
a place to cache complex results
a place to write audit logs
What is a Database?
durable storage (not Redis!)
structured data (not MongoDB!)
concurrent interaction (not SQLite!)
query language (not Couchbase!)
What is a Database?
query language
durable storage
Lingua Franca
success OR error
Relational database
SQL as query language
durable storage
relational model
ACID transactions
CAP Theorem
Consistency: one single data state
Availability: all requests get responses
Partition Tolerance: network partitioning
ACID
Atomic: all or nothing
Consistent: all constraints are met before commit
Isolated: serialized behaviour under concurrency
Durable: once committed, always committed
DDL & DML
Data Definition Language: the portion of SQL used to manipulate the structure of
your database
Data Manipulation Language: the portion of SQL used to manipulate the data in
your database
why not both?!
DDL & DML
ACID applies to both. Except in MariaDB (née MySQL):
ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME ALTER EVENT
ALTER FUNCTION ALTER PROCEDURE ALTER SERVER
ALTER TABLE ALTER VIEW ANALYZE TABLE
BEGIN CACHE INDEX CHANGE MASTER TO
CHECK TABLE CREATE DATABASE CREATE EVENT
CREATE FUNCTION CREATE INDEX CREATE PROCEDURE
CREATE ROLE CREATE SERVER CREATE TABLE
CREATE TRIGGER CREATE USER CREATE VIEW
DROP DATABASE DROP EVENT DROP FUNCTION
DROP INDEX DROP PROCEDURE DROP TABLE
DROP TRIGGER DROP ROLE DROP SERVER
DROP USER DROP VIEW FLUSH
GRANT LOAD INDEX INTO CACHE LOCK TABLES
OPTIMIZE TABLE RENAME TABLE RENAME USER
REPAIR TABLE RESET REVOKE
SET PASSWORD SHUTDOWN START SLAVE
START TRANSACTION STOP SLAVE TRUNCATE TABLE
https://mariadb.com/kb/en/mariadb/sql-statements-that-cause-an-implicit-commit/
Programmability
in application or in database?
surrogate key generation
constraints
cascade deletes
calculated fields
"hot" materialized views
Databases as Artifacts
test queries
query tuning
mid-transaction inspection via debugger
ad hoc reports
troubleshooting production
Concurrency Control
pray (MS Access)
table locking (MyISAM)
row locking (InnoDB)
MVCC (PostgreSQL, Oracle, SQL Server)
this is changing!
Administration Overhead
shared environments
local environment
MariaDB is super simple
PostgreSQL is pretty easy
Oracle, SQL Server licensing
SQL Server is Windows-Only
Monetary Cost
Oracle will cost you your firstborn
SQL Server is expensive, but has free Express Edition
small (<10gb) databases only
MariaDB and PostgreSQL are free
the last nail for MariaDB
because Node doesn't help in-DB
Elephants Are Cool?
Same roots as SQL Server (and Sybase)
Heroku keeps adding features
clustering/replication
upsert
JSON (and hstore) for "loose" models
plv8
inheritance
Elephants Aren't Cool?
Existing knowledge/experience
Cost isn't a differentiator
Downtime for upgrades is fine
"NoSQL" use cases
Facebook
key-value caching
unstructured data
why not both?
* I'm going to read this one verbatim. Sorry.
Elephants Are Cool!
ACID DDL
concurrency control
query tuning
price
ancestry
open source contributions
flexibility
Soapbox *
If you're not using version control, start. Before you write another line of
code.
If you write everything yourself, stop. Leverage libraries available to you.
Learn about your tools. They're all far more powerful than you believe.
Barney Boisvert
@barneyb
http://programmerluddite.com
me@barneyb.com

More Related Content

PDF
Building better SQL Server Databases
PDF
RESTFul Tools For Lazy Experts - CFSummit 2016
PDF
SPCA2013 - Windows Azure for SharePoint People
PPT
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
PDF
Database Provisioning in EM12c: Provision me a Database Now!
PDF
O365con14 - migrating your e-mail to the cloud
PDF
Azure appfabric caching intro and tips
PDF
O365con14 - powershell for exchange administrators
Building better SQL Server Databases
RESTFul Tools For Lazy Experts - CFSummit 2016
SPCA2013 - Windows Azure for SharePoint People
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
Database Provisioning in EM12c: Provision me a Database Now!
O365con14 - migrating your e-mail to the cloud
Azure appfabric caching intro and tips
O365con14 - powershell for exchange administrators

What's hot (20)

PDF
Cool MariaDB Plugins
PDF
Boost the Performance of SharePoint Today!
PPTX
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
PPTX
ECS19 - Ingo Gegenwarth - Running Exchange in large environment
PPTX
Moving to the Cloud: AWS, Zend, RightScale
PPTX
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
PPTX
Setting up a free open source java e-commerce website
PPT
Document Databases & RavenDB
PPTX
Javascript on Server-Side
PDF
Building Advanced RESTFul services
PDF
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
PPTX
Using flash on the server side
PPTX
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
PDF
Store
PDF
Moving to the APEX Listener
PPTX
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
PPS
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
PPTX
EECI 2013 - ExpressionEngine Performance & Optimization - Laying a Solid Foun...
PPTX
Event sourcing Live 2021: Streaming App Changes to Event Store
PDF
Enterprise WordPress - Performance, Scalability and Redundancy
Cool MariaDB Plugins
Boost the Performance of SharePoint Today!
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
ECS19 - Ingo Gegenwarth - Running Exchange in large environment
Moving to the Cloud: AWS, Zend, RightScale
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
Setting up a free open source java e-commerce website
Document Databases & RavenDB
Javascript on Server-Side
Building Advanced RESTFul services
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
Using flash on the server side
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
Store
Moving to the APEX Listener
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
EECI 2013 - ExpressionEngine Performance & Optimization - Laying a Solid Foun...
Event sourcing Live 2021: Streaming App Changes to Event Store
Enterprise WordPress - Performance, Scalability and Redundancy
Ad

Viewers also liked (20)

PDF
Naked and afraid Offline Mobile
PDF
PDF
Api manager preconference
PDF
Testing automaton
PDF
Securing applications
PDF
Why Everyone else writes bad code
PDF
Refactoring your legacy app to a MVC framework
PDF
Cfml features modern_coding
PDF
Keep Applications Online
PDF
Paying off-emotional-debt-2
PDF
Delivering Responsibly
PDF
Working Remotely and Doing It Right
PPTX
My Database Skills Killed the Server
PDF
Getting started with responsive web design by matt busche
PDF
Chef and vagrant
PDF
Securing Legacy CFML Code
PDF
Jvm is-your-friend
PDF
I'm a Team Lead, Now What?
PDF
Continuous delivery of your legacy application
PDF
10 common cf server challenges
Naked and afraid Offline Mobile
Api manager preconference
Testing automaton
Securing applications
Why Everyone else writes bad code
Refactoring your legacy app to a MVC framework
Cfml features modern_coding
Keep Applications Online
Paying off-emotional-debt-2
Delivering Responsibly
Working Remotely and Doing It Right
My Database Skills Killed the Server
Getting started with responsive web design by matt busche
Chef and vagrant
Securing Legacy CFML Code
Jvm is-your-friend
I'm a Team Lead, Now What?
Continuous delivery of your legacy application
10 common cf server challenges
Ad

Similar to The RDBMS You Should Be Using (20)

PPTX
✅ Session 1 - "Introduction to MySQL and Databases"
PPTX
Sql vs no sql
PDF
MySQL 8.0 Document Store - Discovery of a New World
PPT
Introduction to Data Management
PDF
B.Vinithamani,II-M.sc.,Computer science,Bon Secours college for women,thanjavur.
PPTX
DATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptx
PDF
Database Management System
PPT
DBMS Full.ppt
PDF
Lecture-01-Fundamental-Database-Concepts.pptx.pdf
PDF
The Evolution of Open Source Databases
PDF
OpenExpo Virtual Experience 2020: MySQL 8.0 Document Store - Discovery of a n...
PPTX
RDBMS
PDF
Looking Inside the MySQL 8.0 Document Store
PPTX
Dbms and sqlpptx
PPTX
1.1 introduction to the basic prolog programming .pptx
PPTX
Basic of Database Management System(DBMS)
PDF
NoSQL-Database-Concepts
KEY
Non-Relational Databases at ACCU2011
PPT
Database Management System Processing.ppt
PDF
Oracle Code Roma: NoSQL + SQL = MySQL
✅ Session 1 - "Introduction to MySQL and Databases"
Sql vs no sql
MySQL 8.0 Document Store - Discovery of a New World
Introduction to Data Management
B.Vinithamani,II-M.sc.,Computer science,Bon Secours college for women,thanjavur.
DATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptx
Database Management System
DBMS Full.ppt
Lecture-01-Fundamental-Database-Concepts.pptx.pdf
The Evolution of Open Source Databases
OpenExpo Virtual Experience 2020: MySQL 8.0 Document Store - Discovery of a n...
RDBMS
Looking Inside the MySQL 8.0 Document Store
Dbms and sqlpptx
1.1 introduction to the basic prolog programming .pptx
Basic of Database Management System(DBMS)
NoSQL-Database-Concepts
Non-Relational Databases at ACCU2011
Database Management System Processing.ppt
Oracle Code Roma: NoSQL + SQL = MySQL

More from ColdFusionConference (20)

PDF
API Economy, Realizing the Business Value of APIs
PDF
Don't just pdf, Smart PDF
PDF
Crafting ColdFusion Applications like an Architect
PDF
Security And Access Control For APIS using CF API Manager
PDF
Monetizing Business Models: ColdFusion and APIS
PDF
Become a Security Rockstar with ColdFusion 2016
PDF
ColdFusion in Transit action
PDF
Developer Insights for Application Upgrade to ColdFusion 2016
PDF
Where is cold fusion headed
PDF
ColdFusion Keynote: Building the Agile Web Since 1995
PDF
Instant ColdFusion with Vagrant
PPT
Restful services with ColdFusion
PDF
Super Fast Application development with Mura CMS
PDF
Build your own secure and real-time dashboard for mobile and web
PDF
Rest ful tools for lazy experts
PDF
Herding cats managing ColdFusion servers with commandbox
PDF
Realtime with websockets
PDF
Instant ColdFusion with Vagrant
PDF
Hidden gems in cf2016
PDF
Everyones invited! Meet accesibility requirements with ColdFusion
API Economy, Realizing the Business Value of APIs
Don't just pdf, Smart PDF
Crafting ColdFusion Applications like an Architect
Security And Access Control For APIS using CF API Manager
Monetizing Business Models: ColdFusion and APIS
Become a Security Rockstar with ColdFusion 2016
ColdFusion in Transit action
Developer Insights for Application Upgrade to ColdFusion 2016
Where is cold fusion headed
ColdFusion Keynote: Building the Agile Web Since 1995
Instant ColdFusion with Vagrant
Restful services with ColdFusion
Super Fast Application development with Mura CMS
Build your own secure and real-time dashboard for mobile and web
Rest ful tools for lazy experts
Herding cats managing ColdFusion servers with commandbox
Realtime with websockets
Instant ColdFusion with Vagrant
Hidden gems in cf2016
Everyones invited! Meet accesibility requirements with ColdFusion

Recently uploaded (20)

PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Machine Learning_overview_presentation.pptx
PPTX
Cloud computing and distributed systems.
PPTX
Big Data Technologies - Introduction.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Encapsulation theory and applications.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Spectroscopy.pptx food analysis technology
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Encapsulation_ Review paper, used for researhc scholars
Review of recent advances in non-invasive hemoglobin estimation
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Machine Learning_overview_presentation.pptx
Cloud computing and distributed systems.
Big Data Technologies - Introduction.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Encapsulation theory and applications.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Network Security Unit 5.pdf for BCA BBA.
Spectroscopy.pptx food analysis technology
MIND Revenue Release Quarter 2 2025 Press Release
Assigned Numbers - 2025 - Bluetooth® Document
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
sap open course for s4hana steps from ECC to s4
Programs and apps: productivity, graphics, security and other tools
gpt5_lecture_notes_comprehensive_20250812015547.pdf

The RDBMS You Should Be Using

  • 1. The RDBMS You Should Be Using Barney Boisvert - dev.Objective() 2016 About Me Software Craftsman Soccer Scotch Woodworking Tooling
  • 2. What is a Database? What is a Database? a place to store things "permanently" a place applications collaborate a place to cache complex results a place to write audit logs
  • 3. What is a Database? durable storage (not Redis!) structured data (not MongoDB!) concurrent interaction (not SQLite!) query language (not Couchbase!) What is a Database? query language durable storage
  • 4. Lingua Franca success OR error Relational database SQL as query language durable storage relational model ACID transactions CAP Theorem Consistency: one single data state Availability: all requests get responses Partition Tolerance: network partitioning
  • 5. ACID Atomic: all or nothing Consistent: all constraints are met before commit Isolated: serialized behaviour under concurrency Durable: once committed, always committed DDL & DML Data Definition Language: the portion of SQL used to manipulate the structure of your database Data Manipulation Language: the portion of SQL used to manipulate the data in your database
  • 6. why not both?! DDL & DML ACID applies to both. Except in MariaDB (née MySQL): ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME ALTER EVENT ALTER FUNCTION ALTER PROCEDURE ALTER SERVER ALTER TABLE ALTER VIEW ANALYZE TABLE BEGIN CACHE INDEX CHANGE MASTER TO CHECK TABLE CREATE DATABASE CREATE EVENT CREATE FUNCTION CREATE INDEX CREATE PROCEDURE CREATE ROLE CREATE SERVER CREATE TABLE CREATE TRIGGER CREATE USER CREATE VIEW DROP DATABASE DROP EVENT DROP FUNCTION DROP INDEX DROP PROCEDURE DROP TABLE DROP TRIGGER DROP ROLE DROP SERVER DROP USER DROP VIEW FLUSH GRANT LOAD INDEX INTO CACHE LOCK TABLES OPTIMIZE TABLE RENAME TABLE RENAME USER REPAIR TABLE RESET REVOKE SET PASSWORD SHUTDOWN START SLAVE START TRANSACTION STOP SLAVE TRUNCATE TABLE https://mariadb.com/kb/en/mariadb/sql-statements-that-cause-an-implicit-commit/ Programmability in application or in database? surrogate key generation constraints cascade deletes calculated fields "hot" materialized views
  • 7. Databases as Artifacts test queries query tuning mid-transaction inspection via debugger ad hoc reports troubleshooting production Concurrency Control pray (MS Access) table locking (MyISAM) row locking (InnoDB) MVCC (PostgreSQL, Oracle, SQL Server)
  • 8. this is changing! Administration Overhead shared environments local environment MariaDB is super simple PostgreSQL is pretty easy Oracle, SQL Server licensing SQL Server is Windows-Only Monetary Cost Oracle will cost you your firstborn SQL Server is expensive, but has free Express Edition small (<10gb) databases only MariaDB and PostgreSQL are free
  • 9. the last nail for MariaDB because Node doesn't help in-DB Elephants Are Cool? Same roots as SQL Server (and Sybase) Heroku keeps adding features clustering/replication upsert JSON (and hstore) for "loose" models plv8 inheritance Elephants Aren't Cool? Existing knowledge/experience Cost isn't a differentiator Downtime for upgrades is fine "NoSQL" use cases Facebook key-value caching unstructured data why not both?
  • 10. * I'm going to read this one verbatim. Sorry. Elephants Are Cool! ACID DDL concurrency control query tuning price ancestry open source contributions flexibility Soapbox * If you're not using version control, start. Before you write another line of code. If you write everything yourself, stop. Leverage libraries available to you. Learn about your tools. They're all far more powerful than you believe.