SlideShare a Scribd company logo
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
How PostgreSQL Became King
chris.travers@adjust.com
August 2019
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
About Me
My name is Chris Travers. I am a
long-time user of PostgreSQL. I have
worked as a database administrator at
least in part for over a decade. I have
even contributed a bug x. I help
manage an environment where 5-10PB
of data is stored in PostgreSQL.
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
About Adjust
Adjust is an mobile advertisement
attribution company, focusing on
transparency and fairness. Our
attribution service is the basis of our
analytics offerings. (Offer to give a 30
sec intro to what we do.)
We are also a big user of PostgreSQL,
mostly on analytic workloads.
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
The Promise of Inferential Data Banks
Gathering data is good but what do you do with it?
• Make decisions
• Do statistical analysis
• Make correlations
Hence Relational Databases were born
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
Taking this Further
Relational Databases are great but why be bound to relational
math?
• Extend data derivations in the database.
• Extend relational operations in the database.
• Example: Show me all pictures of sunsets within 50 km of
some landmark.
This idea takes off in Oracle, DB2, SQL Server, SQLite, and
Interbase, but not MySQL.
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
The Sales Pitch
At the time most developers were using MySQL and MyISAM
tables. I heard about PostgreSQL and the magical features it
offered in version 6.5:
• Transactions
• Triggers
• Concurrency
MySQL offered none of these things so I was intrigued.
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
Hidden Presence
What I found out was that there was a huge presence already of
Postgres users.
• Business apps
• Research apps
• Government apps
I was intrigued....... I started writing my own application that
supported PostgreSQL
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
A Different Paradigm
What I found was signicant:
PostgreSQL offered major advanced functionality that MySQL
didn’t and was easier to use than Oracle.
PostgreSQL also was a database for many applications rather than
a dumb application-specic data store.
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
Major improvements in usability over next few years
PostgreSQL became easier to use:
• ALTER TABLE DROP COLUMN
• Declarative foreign keys
• Crash safety
• Composite Types as first-class types
• Better robustness of backups and recovery
• Beginnings of PostGIS
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
Rise of Web Frameworks
The rise of web applications lead to a number of challenges:
• Datababase migrations must be robust and testable
• Recovering from a half-way successful migration is not
acceptable
• Transactional DDL separates PostgreSQL from MySQL
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
MySQL vs PostgreSQL
2005 Oracle acquires InnoBase
2005 EnterpriseDB founded to help migrate Oracle to
Postgres
2008 Sun Microsystems acquires MySQL AB
2010 Oracle acquires Sun Microsystems, MariaDB forked
Uncertainty with MySQL’s future drives a lot of PostgreSQL
growth.
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
Beginnings of Industry 4.0
2005 PostGIS 1.0 released, opens up proximity searches
2006 PostgreSQL gets native array types
2007 First-class tuple types and arrays of tuples, allowing
N1NF designs
2008 Role-based security
2010 Native JSON data type
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
What about Oracle?
• Bad reputation as a vendor.
• Immense legacy problem (only major RDBMS without
transactional DDL)
• Limited set of areas where they can and want to innovate.
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
Standard Denition of Big Data
One or more of the following making it dicult to scale within a
standard RDBMS on one system:
• Volume of data (shift from low TB into PBs)
• Velocity of ingestion
• Variety of data, meaning a lot of semi-structured data.
Many of PostgreSQL’s features let you handle variety issues in a
single server.
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
Behind the Big Data Shift: Progressive Automation
1. Traditional database system with lots of manual entry
2. Data coming in now from external sources (EDI invoices and
orders)
3. Shift from data entry to automated entry with human
oversight
4. Eventually a shift to massive automated ingestion from a
variety of sources.
5. Many elds from scientic research to manufacturing and
delivery is now partially automated.
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
Stonebreaker’s Triangle
In his sales pitches for VoltDB, Stonebreaker suggested:
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
Big Data Approaches
• PostgresXC/XL/etc.
• Roll your own federated storage
• Data storage for data pipelines
• More exotic solutions using FDWs
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
The Future
Important things on the horizon
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
Pluggable Storage
• Allows for storage optimized for different workloads
• In particular columnar storage (Z-store) helps some workloads
• Not extremely useful yet due to many things not being
abstracted
• Expect this to get much better in future releases
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
Better Distributed Storage
• Two Phase Commit in Foreign Data Wrappers
• Better streaming support in Foreign Data Wrappers
• Asynchronous Append/merge-append across foreign tables
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
Development State
• Impressive feature set
• Pace of development accelerating
• Platform-in-a-box features getting better quickly
• Approachable, easy, and safe codebase to work with.
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
Benets
• Lots of great help on IRC/StackOverflow/Lists
• A lot of industry expertise to help newcomers get started
• Awesome, helpful community
• For professionals, easy to find work/employment
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
Some Drawbacks
• Hiring (We are hiring but so is literally everyone else)
• Sometimes people migrate without thinking about differences.
• That’s about it.....
Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King
Thanks
Thank you for coming. Feel free to send
comments/questions/feedback to
mailto:chris.travers@adjust.com

More Related Content

What's hot

Keynote - Hosted PostgreSQL: An Objective Look
Keynote - Hosted PostgreSQL: An Objective LookKeynote - Hosted PostgreSQL: An Objective Look
Keynote - Hosted PostgreSQL: An Objective Look
EDB
 
NoSQL – Data Center Centric Application Enablement
NoSQL – Data Center Centric Application EnablementNoSQL – Data Center Centric Application Enablement
NoSQL – Data Center Centric Application Enablement
DATAVERSITY
 
Oracle Migration to Postgres in the Cloud
Oracle Migration to Postgres in the CloudOracle Migration to Postgres in the Cloud
Oracle Migration to Postgres in the Cloud
EDB
 
Json and Jsonpath in Postgres 12
Json and Jsonpath in Postgres 12Json and Jsonpath in Postgres 12
Json and Jsonpath in Postgres 12
EDB
 
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Fwdays
 
Machine Learning for Capacity Management
 Machine Learning for Capacity Management Machine Learning for Capacity Management
Machine Learning for Capacity Management
EDB
 
WEBINAR: Architectures for Digital Transformation and Next-Generation Systems...
WEBINAR: Architectures for Digital Transformation and Next-Generation Systems...WEBINAR: Architectures for Digital Transformation and Next-Generation Systems...
WEBINAR: Architectures for Digital Transformation and Next-Generation Systems...
Aerospike, Inc.
 
PostgreSQL 12: What is coming up?, Enterprise Postgres Day
PostgreSQL 12: What is coming up?, Enterprise Postgres DayPostgreSQL 12: What is coming up?, Enterprise Postgres Day
PostgreSQL 12: What is coming up?, Enterprise Postgres Day
EDB
 
Big Data Warehousing Meetup: Developing a super-charged NoSQL data mart using...
Big Data Warehousing Meetup: Developing a super-charged NoSQL data mart using...Big Data Warehousing Meetup: Developing a super-charged NoSQL data mart using...
Big Data Warehousing Meetup: Developing a super-charged NoSQL data mart using...
Caserta
 
Big Data Day LA 2015 - Introducing N1QL: SQL for Documents by Jeff Morris of ...
Big Data Day LA 2015 - Introducing N1QL: SQL for Documents by Jeff Morris of ...Big Data Day LA 2015 - Introducing N1QL: SQL for Documents by Jeff Morris of ...
Big Data Day LA 2015 - Introducing N1QL: SQL for Documents by Jeff Morris of ...
Data Con LA
 
Migrating from Oracle to Postgres
Migrating from Oracle to PostgresMigrating from Oracle to Postgres
Migrating from Oracle to Postgres
EDB
 
Apache AGE and the synergy effect in the combination of Postgres and NoSQL
 Apache AGE and the synergy effect in the combination of Postgres and NoSQL Apache AGE and the synergy effect in the combination of Postgres and NoSQL
Apache AGE and the synergy effect in the combination of Postgres and NoSQL
EDB
 
The Need For Speed - Strategies to Modernize Your Data Center
The Need For Speed - Strategies to Modernize Your Data CenterThe Need For Speed - Strategies to Modernize Your Data Center
The Need For Speed - Strategies to Modernize Your Data Center
EDB
 
Does Anyone Really Need RAC?
 Does Anyone Really Need RAC? Does Anyone Really Need RAC?
Does Anyone Really Need RAC?
EDB
 
Time-oriented event search. A new level of scale
Time-oriented event search. A new level of scale Time-oriented event search. A new level of scale
Time-oriented event search. A new level of scale
DataWorks Summit/Hadoop Summit
 
Leveraging docker for hadoop build automation and big data stack provisioning
Leveraging docker for hadoop build automation and big data stack provisioningLeveraging docker for hadoop build automation and big data stack provisioning
Leveraging docker for hadoop build automation and big data stack provisioning
Evans Ye
 
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
HBaseCon
 
Scaling HDFS at Xiaomi
Scaling HDFS at XiaomiScaling HDFS at Xiaomi
Scaling HDFS at Xiaomi
DataWorks Summit
 
PostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate InnovationPostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate Innovation
EDB
 

What's hot (20)

Keynote - Hosted PostgreSQL: An Objective Look
Keynote - Hosted PostgreSQL: An Objective LookKeynote - Hosted PostgreSQL: An Objective Look
Keynote - Hosted PostgreSQL: An Objective Look
 
NoSQL – Data Center Centric Application Enablement
NoSQL – Data Center Centric Application EnablementNoSQL – Data Center Centric Application Enablement
NoSQL – Data Center Centric Application Enablement
 
Oracle Migration to Postgres in the Cloud
Oracle Migration to Postgres in the CloudOracle Migration to Postgres in the Cloud
Oracle Migration to Postgres in the Cloud
 
Json and Jsonpath in Postgres 12
Json and Jsonpath in Postgres 12Json and Jsonpath in Postgres 12
Json and Jsonpath in Postgres 12
 
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
Виталий Бондаренко "Fast Data Platform for Real-Time Analytics. Architecture ...
 
Machine Learning for Capacity Management
 Machine Learning for Capacity Management Machine Learning for Capacity Management
Machine Learning for Capacity Management
 
WEBINAR: Architectures for Digital Transformation and Next-Generation Systems...
WEBINAR: Architectures for Digital Transformation and Next-Generation Systems...WEBINAR: Architectures for Digital Transformation and Next-Generation Systems...
WEBINAR: Architectures for Digital Transformation and Next-Generation Systems...
 
PostgreSQL 12: What is coming up?, Enterprise Postgres Day
PostgreSQL 12: What is coming up?, Enterprise Postgres DayPostgreSQL 12: What is coming up?, Enterprise Postgres Day
PostgreSQL 12: What is coming up?, Enterprise Postgres Day
 
Big Data Warehousing Meetup: Developing a super-charged NoSQL data mart using...
Big Data Warehousing Meetup: Developing a super-charged NoSQL data mart using...Big Data Warehousing Meetup: Developing a super-charged NoSQL data mart using...
Big Data Warehousing Meetup: Developing a super-charged NoSQL data mart using...
 
Big Data Day LA 2015 - Introducing N1QL: SQL for Documents by Jeff Morris of ...
Big Data Day LA 2015 - Introducing N1QL: SQL for Documents by Jeff Morris of ...Big Data Day LA 2015 - Introducing N1QL: SQL for Documents by Jeff Morris of ...
Big Data Day LA 2015 - Introducing N1QL: SQL for Documents by Jeff Morris of ...
 
Migrating from Oracle to Postgres
Migrating from Oracle to PostgresMigrating from Oracle to Postgres
Migrating from Oracle to Postgres
 
Empower Data-Driven Organizations
Empower Data-Driven OrganizationsEmpower Data-Driven Organizations
Empower Data-Driven Organizations
 
Apache AGE and the synergy effect in the combination of Postgres and NoSQL
 Apache AGE and the synergy effect in the combination of Postgres and NoSQL Apache AGE and the synergy effect in the combination of Postgres and NoSQL
Apache AGE and the synergy effect in the combination of Postgres and NoSQL
 
The Need For Speed - Strategies to Modernize Your Data Center
The Need For Speed - Strategies to Modernize Your Data CenterThe Need For Speed - Strategies to Modernize Your Data Center
The Need For Speed - Strategies to Modernize Your Data Center
 
Does Anyone Really Need RAC?
 Does Anyone Really Need RAC? Does Anyone Really Need RAC?
Does Anyone Really Need RAC?
 
Time-oriented event search. A new level of scale
Time-oriented event search. A new level of scale Time-oriented event search. A new level of scale
Time-oriented event search. A new level of scale
 
Leveraging docker for hadoop build automation and big data stack provisioning
Leveraging docker for hadoop build automation and big data stack provisioningLeveraging docker for hadoop build automation and big data stack provisioning
Leveraging docker for hadoop build automation and big data stack provisioning
 
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
hbaseconasia2017: HareQL:快速HBase查詢工具的發展過程
 
Scaling HDFS at Xiaomi
Scaling HDFS at XiaomiScaling HDFS at Xiaomi
Scaling HDFS at Xiaomi
 
PostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate InnovationPostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate Innovation
 

Similar to How PostgreSQL became King

IT Arena-2021
IT Arena-2021IT Arena-2021
IT Arena-2021
b0ris_1
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
RTylerCroy
 
Why mongo db was created - Dwight Merriman - MongoSF 2011
Why mongo db was created  - Dwight Merriman - MongoSF 2011Why mongo db was created  - Dwight Merriman - MongoSF 2011
Why mongo db was created - Dwight Merriman - MongoSF 2011MongoDB
 
Long and winding road - Chile 2014
Long and winding road - Chile 2014Long and winding road - Chile 2014
Long and winding road - Chile 2014
Connor McDonald
 
NoSQL and MongoDB Introdction
NoSQL and MongoDB IntrodctionNoSQL and MongoDB Introdction
NoSQL and MongoDB Introdction
Brian Enochson
 
Reducing Database Pain & Costs with Postgres
Reducing Database Pain & Costs with PostgresReducing Database Pain & Costs with Postgres
Reducing Database Pain & Costs with Postgres
EDB
 
King hug uk
King hug ukKing hug uk
King hug uk
huguk
 
Long and winding road - 2014
Long and winding road  - 2014Long and winding road  - 2014
Long and winding road - 2014
Connor McDonald
 
Mongo Internal Training session by Soner Altin
Mongo Internal Training session by Soner AltinMongo Internal Training session by Soner Altin
Mongo Internal Training session by Soner Altin
mustafa sarac
 
Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications
Tugdual Grall
 
EDB NoSQL German Webinar 2015
EDB NoSQL German Webinar 2015EDB NoSQL German Webinar 2015
EDB NoSQL German Webinar 2015EDB
 
Modernizing Data Architecture using Data Virtualization for Agile Data Delivery
Modernizing Data Architecture using Data Virtualization for Agile Data DeliveryModernizing Data Architecture using Data Virtualization for Agile Data Delivery
Modernizing Data Architecture using Data Virtualization for Agile Data Delivery
Denodo
 
Session 1 Introduction to NoSQL.pptx
 Session 1 Introduction to NoSQL.pptx Session 1 Introduction to NoSQL.pptx
Session 1 Introduction to NoSQL.pptx
Asst.prof M.Gokilavani
 
Building data pipelines at Shopee with DEC
Building data pipelines at Shopee with DECBuilding data pipelines at Shopee with DEC
Building data pipelines at Shopee with DEC
Rim Zaidullin
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLA Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQL
EDB
 
Linked Open Government Data in UK
Linked Open Government Data in UKLinked Open Government Data in UK
Linked Open Government Data in UK
reeep
 
NoSQL Now: Postgres - The NoSQL Cake You Can Eat
NoSQL Now: Postgres - The NoSQL Cake You Can EatNoSQL Now: Postgres - The NoSQL Cake You Can Eat
NoSQL Now: Postgres - The NoSQL Cake You Can Eat
DATAVERSITY
 
CCS334 BIG DATA ANALYTICS Session 3 Distributed models.pptx
CCS334 BIG DATA ANALYTICS Session 3 Distributed models.pptxCCS334 BIG DATA ANALYTICS Session 3 Distributed models.pptx
CCS334 BIG DATA ANALYTICS Session 3 Distributed models.pptx
Asst.prof M.Gokilavani
 
Big iron 2 (published)
Big iron 2 (published)Big iron 2 (published)
Big iron 2 (published)Ben Stopford
 

Similar to How PostgreSQL became King (20)

IT Arena-2021
IT Arena-2021IT Arena-2021
IT Arena-2021
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Why mongo db was created - Dwight Merriman - MongoSF 2011
Why mongo db was created  - Dwight Merriman - MongoSF 2011Why mongo db was created  - Dwight Merriman - MongoSF 2011
Why mongo db was created - Dwight Merriman - MongoSF 2011
 
Long and winding road - Chile 2014
Long and winding road - Chile 2014Long and winding road - Chile 2014
Long and winding road - Chile 2014
 
NoSQL and MongoDB Introdction
NoSQL and MongoDB IntrodctionNoSQL and MongoDB Introdction
NoSQL and MongoDB Introdction
 
Reducing Database Pain & Costs with Postgres
Reducing Database Pain & Costs with PostgresReducing Database Pain & Costs with Postgres
Reducing Database Pain & Costs with Postgres
 
King hug uk
King hug ukKing hug uk
King hug uk
 
Long and winding road - 2014
Long and winding road  - 2014Long and winding road  - 2014
Long and winding road - 2014
 
Mongo Internal Training session by Soner Altin
Mongo Internal Training session by Soner AltinMongo Internal Training session by Soner Altin
Mongo Internal Training session by Soner Altin
 
Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications
 
EDB NoSQL German Webinar 2015
EDB NoSQL German Webinar 2015EDB NoSQL German Webinar 2015
EDB NoSQL German Webinar 2015
 
Modernizing Data Architecture using Data Virtualization for Agile Data Delivery
Modernizing Data Architecture using Data Virtualization for Agile Data DeliveryModernizing Data Architecture using Data Virtualization for Agile Data Delivery
Modernizing Data Architecture using Data Virtualization for Agile Data Delivery
 
Session 1 Introduction to NoSQL.pptx
 Session 1 Introduction to NoSQL.pptx Session 1 Introduction to NoSQL.pptx
Session 1 Introduction to NoSQL.pptx
 
Building data pipelines at Shopee with DEC
Building data pipelines at Shopee with DECBuilding data pipelines at Shopee with DEC
Building data pipelines at Shopee with DEC
 
A Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQLA Journey from Oracle to PostgreSQL
A Journey from Oracle to PostgreSQL
 
Linked Open Government Data in UK
Linked Open Government Data in UKLinked Open Government Data in UK
Linked Open Government Data in UK
 
NoSQL Now: Postgres - The NoSQL Cake You Can Eat
NoSQL Now: Postgres - The NoSQL Cake You Can EatNoSQL Now: Postgres - The NoSQL Cake You Can Eat
NoSQL Now: Postgres - The NoSQL Cake You Can Eat
 
CCS334 BIG DATA ANALYTICS Session 3 Distributed models.pptx
CCS334 BIG DATA ANALYTICS Session 3 Distributed models.pptxCCS334 BIG DATA ANALYTICS Session 3 Distributed models.pptx
CCS334 BIG DATA ANALYTICS Session 3 Distributed models.pptx
 
Big iron 2 (published)
Big iron 2 (published)Big iron 2 (published)
Big iron 2 (published)
 
NoSQL
NoSQLNoSQL
NoSQL
 

Recently uploaded

E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni GarcĂ­a
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 

Recently uploaded (20)

E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 

How PostgreSQL became King

  • 1. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King How PostgreSQL Became King chris.travers@adjust.com August 2019
  • 2. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King About Me My name is Chris Travers. I am a long-time user of PostgreSQL. I have worked as a database administrator at least in part for over a decade. I have even contributed a bug x. I help manage an environment where 5-10PB of data is stored in PostgreSQL.
  • 3. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King About Adjust Adjust is an mobile advertisement attribution company, focusing on transparency and fairness. Our attribution service is the basis of our analytics offerings. (Offer to give a 30 sec intro to what we do.) We are also a big user of PostgreSQL, mostly on analytic workloads.
  • 4. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King The Promise of Inferential Data Banks Gathering data is good but what do you do with it? • Make decisions • Do statistical analysis • Make correlations Hence Relational Databases were born
  • 5. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King Taking this Further Relational Databases are great but why be bound to relational math? • Extend data derivations in the database. • Extend relational operations in the database. • Example: Show me all pictures of sunsets within 50 km of some landmark. This idea takes off in Oracle, DB2, SQL Server, SQLite, and Interbase, but not MySQL.
  • 6. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King The Sales Pitch At the time most developers were using MySQL and MyISAM tables. I heard about PostgreSQL and the magical features it offered in version 6.5: • Transactions • Triggers • Concurrency MySQL offered none of these things so I was intrigued.
  • 7. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King Hidden Presence What I found out was that there was a huge presence already of Postgres users. • Business apps • Research apps • Government apps I was intrigued....... I started writing my own application that supported PostgreSQL
  • 8. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King A Different Paradigm What I found was signicant: PostgreSQL offered major advanced functionality that MySQL didn’t and was easier to use than Oracle. PostgreSQL also was a database for many applications rather than a dumb application-specic data store.
  • 9. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King Major improvements in usability over next few years PostgreSQL became easier to use: • ALTER TABLE DROP COLUMN • Declarative foreign keys • Crash safety • Composite Types as rst-class types • Better robustness of backups and recovery • Beginnings of PostGIS
  • 10. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King Rise of Web Frameworks The rise of web applications lead to a number of challenges: • Datababase migrations must be robust and testable • Recovering from a half-way successful migration is not acceptable • Transactional DDL separates PostgreSQL from MySQL
  • 11. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King MySQL vs PostgreSQL 2005 Oracle acquires InnoBase 2005 EnterpriseDB founded to help migrate Oracle to Postgres 2008 Sun Microsystems acquires MySQL AB 2010 Oracle acquires Sun Microsystems, MariaDB forked Uncertainty with MySQL’s future drives a lot of PostgreSQL growth.
  • 12. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King Beginnings of Industry 4.0 2005 PostGIS 1.0 released, opens up proximity searches 2006 PostgreSQL gets native array types 2007 First-class tuple types and arrays of tuples, allowing N1NF designs 2008 Role-based security 2010 Native JSON data type
  • 13. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King What about Oracle? • Bad reputation as a vendor. • Immense legacy problem (only major RDBMS without transactional DDL) • Limited set of areas where they can and want to innovate.
  • 14. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King Standard Denition of Big Data One or more of the following making it dicult to scale within a standard RDBMS on one system: • Volume of data (shift from low TB into PBs) • Velocity of ingestion • Variety of data, meaning a lot of semi-structured data. Many of PostgreSQL’s features let you handle variety issues in a single server.
  • 15. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King Behind the Big Data Shift: Progressive Automation 1. Traditional database system with lots of manual entry 2. Data coming in now from external sources (EDI invoices and orders) 3. Shift from data entry to automated entry with human oversight 4. Eventually a shift to massive automated ingestion from a variety of sources. 5. Many elds from scientic research to manufacturing and delivery is now partially automated.
  • 16. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King Stonebreaker’s Triangle In his sales pitches for VoltDB, Stonebreaker suggested:
  • 17. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King Big Data Approaches • PostgresXC/XL/etc. • Roll your own federated storage • Data storage for data pipelines • More exotic solutions using FDWs
  • 18. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King The Future Important things on the horizon
  • 19. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King Pluggable Storage • Allows for storage optimized for different workloads • In particular columnar storage (Z-store) helps some workloads • Not extremely useful yet due to many things not being abstracted • Expect this to get much better in future releases
  • 20. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King Better Distributed Storage • Two Phase Commit in Foreign Data Wrappers • Better streaming support in Foreign Data Wrappers • Asynchronous Append/merge-append across foreign tables
  • 21. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King Development State • Impressive feature set • Pace of development accelerating • Platform-in-a-box features getting better quickly • Approachable, easy, and safe codebase to work with.
  • 22. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King Benets • Lots of great help on IRC/StackOverflow/Lists • A lot of industry expertise to help newcomers get started • Awesome, helpful community • For professionals, easy to nd work/employment
  • 23. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King Some Drawbacks • Hiring (We are hiring but so is literally everyone else) • Sometimes people migrate without thinking about differences. • That’s about it.....
  • 24. Introduction Early Years 1999 1999-2003 Rails/DDL Market Shifts Big Data The Future It’s Good to Be King Thanks Thank you for coming. Feel free to send comments/questions/feedback to mailto:chris.travers@adjust.com