SlideShare a Scribd company logo
Will Postgres Live Forever?
Bruce Momjian
Senior Database Architect
EnterpriseDB
Creative Commons Attribution License http://momjian.us/presentations
2/44
Outline
1. Forever
2. Software life cycle
3. Open source adoption
4. Postgres innovation
5. Community structure
6. Conclusion
3/44
1. Forever
https://www.flickr.com/photos/gsfc/
4/44
Forever Is a Long Time
● Age of the Universe: 13.7 billion years
● Age of the Earth: 4.5 billion years
● Age of civilization: 6,000 years
● Civilized era vs. Earth years: 0.00001%
● Digital era vs. Earth years: ~0%
5/44
Brief Digital History
● 1804: Jacquard loom
● 1945: ENIAC
● 1970: E. F. Codd Relational Theory
● 1974: System R
● 1977: Ingres
● 1986: University-based Postgres
● 1994: Postgres95
● 1996: Internet-based Postgres
6/44
2. Software Life Cycle
https://www.flickr.com/photos/tarynmarie/
7/44
Proprietary Software Life Cycle
1.Innovation
2.Market growth
3.Market saturation
4.Maximize profit, minimize costs (development,
support)
5.End-of-life
8/44
Open Source Software Life Cycle
1.Parity with proprietary software, low cost
2.Market growth
3.Continue innovation or decline
4.Source code is always available to continue
9/44
Linux
Linux attained feature parity with:
● HP-UX
● AIX
● Solaris
and then went on to innovate beyond them.
10/44
Postgres
Postgres nearing feature parity with:
● Oracle
● DB2
● MS-SQL
and then going on to innovate beyond them.
11/44
When Does Software Die?
● Proprietary software dies when the owner of the
source code can no longer profit from it
● It declines long before death due to profit
maximization
● Open source cannot die in the same way
● Open source remains active while it serves a purpose
● It can always be resurrected if useful
● Postgres was given new life in 1996
12/44
Ideas Don’t Die
Ideas don’t die, as long as they are shared.
13/44
3. Open Source Adoption
https://www.flickr.com/photos/99438314@N02/
14/44
Open Source Survey, 2016
When the first survey launched 10 years ago, hardly anyone would have
predicted that open source use would be ubiquitous worldwide just a
decade later, but for many good reasons that’s what happened. Its value
in reducing development costs, in freeing internal developers to work on
higher-order tasks, and in accelerating time to market is undeniable.
Simply put, open source is the way applications are developed today.
Lou Shipley
President And CEO
Black Duck Software
https://www.slideshare.net/blackducksoftware/2016-future-of-open-source-survey-results
15/44
Advantages of Open Source
● Competitive features, innovation
● Freedom from vendor lock-in
● Quality of solutions
● Ability to customize and fix
● Cost
● Speed application development
● Reduce development costs
● Interoperability
● Breadth of solutions
https://www.slideshare.net/blackducksoftware/2016-future-of-open-source-survey-results
16/44
Open Source Today
Open source today is unequivocally the engine of innovation;
whether that's powering technology like operating systems, cloud,
big data or IoT, or powering a new generation of open source
companies delivering compelling solutions to the market.
Paul Santinelli
General Partner
North Bridge
https://www.slideshare.net/blackducksoftware/2016-future-of-open-source-survey-results
17/44
Open Source Usage, 2016
● Operating Systems
● Database
● Development tools
Database didn't appear in the top three the previous
year's survey (2015).
https://www.slideshare.net/blackducksoftware/2016-future-of-open-source-survey-results
18/44
4. Postgres Innovation
https://www.flickr.com/photos/tomas_vondra/
19/44
Relational Innovation
● E. F. Codd introduces relational theory
● Row, column, table
● Constraints
● Normalization, joins
● Replaces key/value data storage systems
● Pre-Postgres
https://en.wikipedia.org/wiki/Edgar_F._Codd
20/44
University Postgres Innovation
● Stonebraker creates university Postgres
● Allows extendability via system table contents:
– Data types
– Indexing methods
– Server-side languages
https://en.wikipedia.org/wiki/Michael_Stonebraker
21/44
Postgres Extendability
22/44
Postgres Extension Data Type
CREATE EXTENSION isn;
dT
List of data types
Schema | Name | Description
--------+--------+--------------------------------------------------
public | ean13 | International European Article Number (EAN 13)
public | isbn | International Standard Book Number (ISBN)
public | isbn13 | International Standard Book Number 13 (ISBN13)
public | ismn | International Standard Music Number (ISMN)
public | ismn13 | International Standard Music Number 13 (ISMN13)
public | issn | International Standard Serial Number (ISSN)
public | issn13 | International Standard Serial Number 13 (ISSN13)
public | upc | Universal Product Code (UPC)
http://momjian.us/main/writings/pgsql/central.pdf
23/44
Postgres Server-Side Languages
● PL/Java
● PL/Perl
● PL/pgSQL (like PL/SQL)
● PL/PHP
● PL/Python
● PL/R (like SPSS)
● PL/Ruby
● PL/Scheme
● PL/sh
● PL/Tcl
● SPI (C )
http://momjian.us/main/writings/pgsql/central.pdf
24/44
Postgres Index Types
● BRIN
● BTree
● Hash
● GIN (generalized inverted index)
● GiST (generalized search tree)
● SP-GiST (space-partitioned GiST)
http://momjian.us/main/writings/pgsql/indexing.pdf
25/44
Postgres Innovation:
Full Text Search
● Supports full text search capabilities in a relational
database
● Whole-word, word prefix, and, or, and not searches
● Stemming for 15 languages
● Pgtrgm extension allows search of letter combinations
and similarity
● Specialized indexing, operators and functions
● Full transaction semantics
http://momjian.us/main/writings/pgsql/non-relational.pdf
26/44
Postgres Innovation:
Full Text Search
SELECT line
FROM fortune
WHERE to_tsvector(’english’, line) @@ to_tsquery(’pandas’);
line
----------------------------------------------------------------------
A giant panda bear is really a member of the raccoon family.
EXPLAIN SELECT line
FROM fortune
WHERE to_tsvector(’english’, line) @@ to_tsquery(’pandas’);
QUERY PLAN
------------------------------------------------------------------...
Bitmap Heap Scan on fortune (cost=12.41..94.25 rows=21 width=36)
Recheck Cond: (to_tsvector(’english’::regconfig, line) @@ to_ts...
→ Bitmap Index Scan on fortune_idx_ts (cost=0.00..12.40 rows...
Index Cond: (to_tsvector(’english’::regconfig, line) @@ t..
27/44
Postgres Innovation:
NoSQL
● Supports NoSQL capabilities in a relational
database
● Mix structured and unstructured data in the
same row and query; the best of both worlds
● Specialized indexing, operators, and functions
● Full transaction semantics
http://momjian.us/main/writings/pgsql/yesql.pdf
28/44
Postgres Innovation:
NoSQL
EXPLAIN SELECT data->>’last_name’
FROM friend2
WHERE data::jsonb @> ’{"first_name" : "Jane"}’
ORDER BY 1; QUERY PLAN
----------------------------------------------------------------...
Sort (cost=24.03..24.04 rows=1 width=139)
Sort Key: ((data ->> ’last_name’::text))
-> Bitmap Heap Scan on friend2 (cost=20.01..24.02 rows=1 ...
Recheck Cond: (data @> ’{"first_name": "Jane"}’::jsonb)
→ Bitmap Index Scan on friend2_idx (cost=0.00..20.01 ......
Index Cond: (data @> ’{"first_name": "Jane"}’::js...
29/44
Postgres Innovation:
Range Types
● Combines start and stop times into a single
field
● Allows sophisticated indexing and comparisons
● Allows automatic range overlap prevention
http://momjian.us/main/writings/pgsql/non-relational.pdf
30/44
Postgres Innovation:
Range Types
EXPLAIN SELECT *
FROM car_rental
WHERE time_span @> ’2007-08-01 00:00:00’::timestamptz;
QUERY PLAN
----------------------------------------------------------
Index Scan using car_rental_idx on car_rental(cost=0.15...
Index Cond: (time_span @> ’2007-08-01 00:00:00-04’::...
31/44
Postgres Innovation:
Geometric Types
● Handle multi-dimensional data
– Points
– Lines
– Circles
– Polygons
● Multi-dimensional indexing and operators
● Allows efficient nearest neighbor searches
● Avoids using a separate geometric data store
http://momjian.us/main/writings/pgsql/non-relational.pdf
32/44
Postgres Innovation:
Geometric Types
EXPLAIN SELECT *
FROM dart
ORDER BY location <-> ’(50, 50)’::point
LIMIT 2;
QUERY PLAN
-------------------------------------------------------------
Limit (cost=0.14..0.33 rows=2 width=20)
→ Index Scan using dart_idx on dart (cost=0.14..92.14...
Order By: (location <-> ’(50,50)’::point)
33/44
Postgres Innovation:
GIS
● PostGIS is a full-featured Geographical
Information System (GIS)
● Implemented as a extension
● Independent development team and community
https://postgis.net/
34/44
Postgres Innovation:
GIS
SELECT ST_Area(the_geom)/10000 AS hectares
FROM bc_municipality
WHERE name = 'PRINCE GEORGE';
hectares
------------------
32657.9103824927
35/44
Postgres Innovation:
Foreign Data Wrappers
● 100+ interfaces to foreign data
● Read/write
● Sophisticated push down of joins, sorts, and
aggregates
http://momjian.us/main/writings/pgsql/central.pdf
36/44
Postgres Innovation:
Foreign Data Wrappers
37/44
Postgres Innovation:
Data Analytics
● Aggregates
●
Optimizer
●
Server-side languages, e.g. PL/R
●
Window functions
●
Bitmap heap scans
●
Tablespaces
●
Data partitioning
●
Materialized views
●
Common table expressions (CTE)
●
BRIN indexes
●
GROUPING SETS
●
ROLLUP CUBE
●
Parallelism
●
Sharding (in progress)
http://momjian.us/main/writings/pgsql/central.pdf
38/44
Postgres Innovation:
Data Analytics
39/44
Postgres Innovation:
Sharding
● Allows multi-host databases
● Uses
– Partitioning
– Parallelism
– Foreign data wrappers
– Logical replication
– Global transaction manager
– Global snapshot manager
http://momjian.us/main/writings/pgsql/sharding.pdf
40/44
Postgres Innovation:
Sharding
41/44
5. Community Structure
https://www.flickr.com/photos/tomas_vondra/
42/44
Community Structure
● BSD license guarantees software will be
available forever, including for proprietary use
● Development and leadership is diversified
geographically, culturally, and is multi-company
43/44
Still Going Strong
● 22 years of yearly major releases
● ~180 features per major release
● Quarterly minor releases
● Most loved relational database
https://insights.stackoverflow.com/survey/2018/#technology-most-loved-dreaded-and-wanted-databases
44/44
6. Conclusion
https://www.flickr.com/photos/pagedooley/

More Related Content

What's hot (20)

PPTX
Bridging the gap: achieving fast data synchronization from SAP HANA by levera...
DataWorks Summit
 
PPTX
Postgres Takes Charge Around the World
EDB
 
PPTX
EDB's Migration Portal - Migrate from Oracle to Postgres
EDB
 
PPTX
How YugaByte DB Implements Distributed PostgreSQL
Yugabyte
 
PDF
Remote DBA Service: Powering your DBA needs
EDB
 
PPTX
Airline reservations and routing: a graph use case
DataWorks Summit
 
PDF
Discover PostGIS: Add Spatial functions to PostgreSQL
EDB
 
PDF
Pivotal Greenplum: Postgres-Based. Multi-Cloud. Built for Analytics & AI - Gr...
VMware Tanzu
 
PPTX
New Approaches to Integrating Oracle and Postgres Database Strategies
EDB
 
PPTX
Remote DBA Service: Powering your DBA needs
EDB
 
PDF
Operationalizing AI at scale using MADlib Flow - Greenplum Summit 2019
VMware Tanzu
 
PDF
The Future of Data Pipelines
All Things Open
 
PDF
Oracle GoldenGate Roadmap Oracle OpenWorld 2020
Thomas Vengal
 
PDF
YugaByte DB—A Planet-Scale Database for Low Latency Transactional Apps
VMware Tanzu
 
PDF
Distributed SQL Databases Deconstructed
Yugabyte
 
PDF
Pivotal Real Time Data Stream Analytics
kgshukla
 
PPTX
Containers and Big Data
DataWorks Summit
 
PPTX
Evaluation of TPC-H on Spark and Spark SQL in ALOJA
DataWorks Summit
 
PPTX
Scale Transactional Apps Across Multiple Regions with Low Latency
Yugabyte
 
PPTX
High Performance and Scalable Geospatial Analytics on Cloud with Open Source
DataWorks Summit
 
Bridging the gap: achieving fast data synchronization from SAP HANA by levera...
DataWorks Summit
 
Postgres Takes Charge Around the World
EDB
 
EDB's Migration Portal - Migrate from Oracle to Postgres
EDB
 
How YugaByte DB Implements Distributed PostgreSQL
Yugabyte
 
Remote DBA Service: Powering your DBA needs
EDB
 
Airline reservations and routing: a graph use case
DataWorks Summit
 
Discover PostGIS: Add Spatial functions to PostgreSQL
EDB
 
Pivotal Greenplum: Postgres-Based. Multi-Cloud. Built for Analytics & AI - Gr...
VMware Tanzu
 
New Approaches to Integrating Oracle and Postgres Database Strategies
EDB
 
Remote DBA Service: Powering your DBA needs
EDB
 
Operationalizing AI at scale using MADlib Flow - Greenplum Summit 2019
VMware Tanzu
 
The Future of Data Pipelines
All Things Open
 
Oracle GoldenGate Roadmap Oracle OpenWorld 2020
Thomas Vengal
 
YugaByte DB—A Planet-Scale Database for Low Latency Transactional Apps
VMware Tanzu
 
Distributed SQL Databases Deconstructed
Yugabyte
 
Pivotal Real Time Data Stream Analytics
kgshukla
 
Containers and Big Data
DataWorks Summit
 
Evaluation of TPC-H on Spark and Spark SQL in ALOJA
DataWorks Summit
 
Scale Transactional Apps Across Multiple Regions with Low Latency
Yugabyte
 
High Performance and Scalable Geospatial Analytics on Cloud with Open Source
DataWorks Summit
 

Similar to Postgres Vision 2018: Will Postgres Live Forever? (20)

PDF
PGDay.Amsterdam 2018 - Bruce Momjian - Will postgres live forever
PGDay.Amsterdam
 
ODP
Introduction to PostgreSQL
Jim Mlodgenski
 
PDF
An evening with Postgresql
Joshua Drake
 
PDF
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...
Command Prompt., Inc
 
PDF
Postgres Open Keynote: The Next 25 Years
PostgreSQL Experts, Inc.
 
PPTX
PostgreSQL as an Alternative to MSSQL
Alexei Krasner
 
PDF
Letters from the open source trenches - Postgres community
Selena Deckelmann
 
PDF
Postgres в основе вашего дата-центра, Bruce Momjian (EnterpriseDB)
Ontico
 
PDF
Vectors are the new JSON in PostgreSQL (SCaLE 21x)
Jonathan Katz
 
PDF
Beyond Postgres: Interesting Projects, Tools and forks
Sameer Kumar
 
PPTX
PostgreSQL - It's kind've a nifty database
Barry Jones
 
PPT
Postgres for the Future
EDB
 
PPTX
PostgreSQL - Object Relational Database
Mubashar Iqbal
 
PDF
Making Postgres Central in Your Data Center
EDB
 
PDF
PostgreSQL - Case Study
S.Shayan Daneshvar
 
ODP
Типы данных JSONb, соответствующие индексы и модуль jsquery – Олег Бартунов, ...
Yandex
 
ODP
PostgreSQL Moscow Meetup - September 2014 - Oleg Bartunov and Alexander Korotkov
Nikolay Samokhvalov
 
KEY
PostgreSQL
Reuven Lerner
 
PDF
Postgres database Ibrahem Batta
Ibrahem Batta
 
PDF
FOSSASIA 2015 - 10 Features your developers are missing when stuck with Propr...
Ashnikbiz
 
PGDay.Amsterdam 2018 - Bruce Momjian - Will postgres live forever
PGDay.Amsterdam
 
Introduction to PostgreSQL
Jim Mlodgenski
 
An evening with Postgresql
Joshua Drake
 
PostgreSQL, Extensible to the Nth Degree: Functions, Languages, Types, Rules,...
Command Prompt., Inc
 
Postgres Open Keynote: The Next 25 Years
PostgreSQL Experts, Inc.
 
PostgreSQL as an Alternative to MSSQL
Alexei Krasner
 
Letters from the open source trenches - Postgres community
Selena Deckelmann
 
Postgres в основе вашего дата-центра, Bruce Momjian (EnterpriseDB)
Ontico
 
Vectors are the new JSON in PostgreSQL (SCaLE 21x)
Jonathan Katz
 
Beyond Postgres: Interesting Projects, Tools and forks
Sameer Kumar
 
PostgreSQL - It's kind've a nifty database
Barry Jones
 
Postgres for the Future
EDB
 
PostgreSQL - Object Relational Database
Mubashar Iqbal
 
Making Postgres Central in Your Data Center
EDB
 
PostgreSQL - Case Study
S.Shayan Daneshvar
 
Типы данных JSONb, соответствующие индексы и модуль jsquery – Олег Бартунов, ...
Yandex
 
PostgreSQL Moscow Meetup - September 2014 - Oleg Bartunov and Alexander Korotkov
Nikolay Samokhvalov
 
PostgreSQL
Reuven Lerner
 
Postgres database Ibrahem Batta
Ibrahem Batta
 
FOSSASIA 2015 - 10 Features your developers are missing when stuck with Propr...
Ashnikbiz
 
Ad

More from EDB (20)

PDF
Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
EDB
 
PDF
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
EDB
 
PDF
Migre sus bases de datos Oracle a la nube
EDB
 
PDF
EFM Office Hours - APJ - July 29, 2021
EDB
 
PDF
Benchmarking Cloud Native PostgreSQL
EDB
 
PDF
Las Variaciones de la Replicación de PostgreSQL
EDB
 
PDF
NoSQL and Spatial Database Capabilities using PostgreSQL
EDB
 
PDF
Is There Anything PgBouncer Can’t Do?
EDB
 
PDF
Data Analysis with TensorFlow in PostgreSQL
EDB
 
PDF
Practical Partitioning in Production with Postgres
EDB
 
PDF
A Deeper Dive into EXPLAIN
EDB
 
PDF
IOT with PostgreSQL
EDB
 
PDF
A Journey from Oracle to PostgreSQL
EDB
 
PDF
Psql is awesome!
EDB
 
PDF
EDB 13 - New Enhancements for Security and Usability - APJ
EDB
 
PPTX
Comment sauvegarder correctement vos données
EDB
 
PDF
Cloud Native PostgreSQL - Italiano
EDB
 
PDF
New enhancements for security and usability in EDB 13
EDB
 
PPTX
Best Practices in Security with PostgreSQL
EDB
 
PDF
Cloud Native PostgreSQL - APJ
EDB
 
Cloud Migration Paths: Kubernetes, IaaS, or DBaaS
EDB
 
Die 10 besten PostgreSQL-Replikationsstrategien für Ihr Unternehmen
EDB
 
Migre sus bases de datos Oracle a la nube
EDB
 
EFM Office Hours - APJ - July 29, 2021
EDB
 
Benchmarking Cloud Native PostgreSQL
EDB
 
Las Variaciones de la Replicación de PostgreSQL
EDB
 
NoSQL and Spatial Database Capabilities using PostgreSQL
EDB
 
Is There Anything PgBouncer Can’t Do?
EDB
 
Data Analysis with TensorFlow in PostgreSQL
EDB
 
Practical Partitioning in Production with Postgres
EDB
 
A Deeper Dive into EXPLAIN
EDB
 
IOT with PostgreSQL
EDB
 
A Journey from Oracle to PostgreSQL
EDB
 
Psql is awesome!
EDB
 
EDB 13 - New Enhancements for Security and Usability - APJ
EDB
 
Comment sauvegarder correctement vos données
EDB
 
Cloud Native PostgreSQL - Italiano
EDB
 
New enhancements for security and usability in EDB 13
EDB
 
Best Practices in Security with PostgreSQL
EDB
 
Cloud Native PostgreSQL - APJ
EDB
 
Ad

Recently uploaded (20)

PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 

Postgres Vision 2018: Will Postgres Live Forever?

  • 1. Will Postgres Live Forever? Bruce Momjian Senior Database Architect EnterpriseDB Creative Commons Attribution License http://momjian.us/presentations
  • 2. 2/44 Outline 1. Forever 2. Software life cycle 3. Open source adoption 4. Postgres innovation 5. Community structure 6. Conclusion
  • 4. 4/44 Forever Is a Long Time ● Age of the Universe: 13.7 billion years ● Age of the Earth: 4.5 billion years ● Age of civilization: 6,000 years ● Civilized era vs. Earth years: 0.00001% ● Digital era vs. Earth years: ~0%
  • 5. 5/44 Brief Digital History ● 1804: Jacquard loom ● 1945: ENIAC ● 1970: E. F. Codd Relational Theory ● 1974: System R ● 1977: Ingres ● 1986: University-based Postgres ● 1994: Postgres95 ● 1996: Internet-based Postgres
  • 6. 6/44 2. Software Life Cycle https://www.flickr.com/photos/tarynmarie/
  • 7. 7/44 Proprietary Software Life Cycle 1.Innovation 2.Market growth 3.Market saturation 4.Maximize profit, minimize costs (development, support) 5.End-of-life
  • 8. 8/44 Open Source Software Life Cycle 1.Parity with proprietary software, low cost 2.Market growth 3.Continue innovation or decline 4.Source code is always available to continue
  • 9. 9/44 Linux Linux attained feature parity with: ● HP-UX ● AIX ● Solaris and then went on to innovate beyond them.
  • 10. 10/44 Postgres Postgres nearing feature parity with: ● Oracle ● DB2 ● MS-SQL and then going on to innovate beyond them.
  • 11. 11/44 When Does Software Die? ● Proprietary software dies when the owner of the source code can no longer profit from it ● It declines long before death due to profit maximization ● Open source cannot die in the same way ● Open source remains active while it serves a purpose ● It can always be resurrected if useful ● Postgres was given new life in 1996
  • 12. 12/44 Ideas Don’t Die Ideas don’t die, as long as they are shared.
  • 13. 13/44 3. Open Source Adoption https://www.flickr.com/photos/99438314@N02/
  • 14. 14/44 Open Source Survey, 2016 When the first survey launched 10 years ago, hardly anyone would have predicted that open source use would be ubiquitous worldwide just a decade later, but for many good reasons that’s what happened. Its value in reducing development costs, in freeing internal developers to work on higher-order tasks, and in accelerating time to market is undeniable. Simply put, open source is the way applications are developed today. Lou Shipley President And CEO Black Duck Software https://www.slideshare.net/blackducksoftware/2016-future-of-open-source-survey-results
  • 15. 15/44 Advantages of Open Source ● Competitive features, innovation ● Freedom from vendor lock-in ● Quality of solutions ● Ability to customize and fix ● Cost ● Speed application development ● Reduce development costs ● Interoperability ● Breadth of solutions https://www.slideshare.net/blackducksoftware/2016-future-of-open-source-survey-results
  • 16. 16/44 Open Source Today Open source today is unequivocally the engine of innovation; whether that's powering technology like operating systems, cloud, big data or IoT, or powering a new generation of open source companies delivering compelling solutions to the market. Paul Santinelli General Partner North Bridge https://www.slideshare.net/blackducksoftware/2016-future-of-open-source-survey-results
  • 17. 17/44 Open Source Usage, 2016 ● Operating Systems ● Database ● Development tools Database didn't appear in the top three the previous year's survey (2015). https://www.slideshare.net/blackducksoftware/2016-future-of-open-source-survey-results
  • 19. 19/44 Relational Innovation ● E. F. Codd introduces relational theory ● Row, column, table ● Constraints ● Normalization, joins ● Replaces key/value data storage systems ● Pre-Postgres https://en.wikipedia.org/wiki/Edgar_F._Codd
  • 20. 20/44 University Postgres Innovation ● Stonebraker creates university Postgres ● Allows extendability via system table contents: – Data types – Indexing methods – Server-side languages https://en.wikipedia.org/wiki/Michael_Stonebraker
  • 22. 22/44 Postgres Extension Data Type CREATE EXTENSION isn; dT List of data types Schema | Name | Description --------+--------+-------------------------------------------------- public | ean13 | International European Article Number (EAN 13) public | isbn | International Standard Book Number (ISBN) public | isbn13 | International Standard Book Number 13 (ISBN13) public | ismn | International Standard Music Number (ISMN) public | ismn13 | International Standard Music Number 13 (ISMN13) public | issn | International Standard Serial Number (ISSN) public | issn13 | International Standard Serial Number 13 (ISSN13) public | upc | Universal Product Code (UPC) http://momjian.us/main/writings/pgsql/central.pdf
  • 23. 23/44 Postgres Server-Side Languages ● PL/Java ● PL/Perl ● PL/pgSQL (like PL/SQL) ● PL/PHP ● PL/Python ● PL/R (like SPSS) ● PL/Ruby ● PL/Scheme ● PL/sh ● PL/Tcl ● SPI (C ) http://momjian.us/main/writings/pgsql/central.pdf
  • 24. 24/44 Postgres Index Types ● BRIN ● BTree ● Hash ● GIN (generalized inverted index) ● GiST (generalized search tree) ● SP-GiST (space-partitioned GiST) http://momjian.us/main/writings/pgsql/indexing.pdf
  • 25. 25/44 Postgres Innovation: Full Text Search ● Supports full text search capabilities in a relational database ● Whole-word, word prefix, and, or, and not searches ● Stemming for 15 languages ● Pgtrgm extension allows search of letter combinations and similarity ● Specialized indexing, operators and functions ● Full transaction semantics http://momjian.us/main/writings/pgsql/non-relational.pdf
  • 26. 26/44 Postgres Innovation: Full Text Search SELECT line FROM fortune WHERE to_tsvector(’english’, line) @@ to_tsquery(’pandas’); line ---------------------------------------------------------------------- A giant panda bear is really a member of the raccoon family. EXPLAIN SELECT line FROM fortune WHERE to_tsvector(’english’, line) @@ to_tsquery(’pandas’); QUERY PLAN ------------------------------------------------------------------... Bitmap Heap Scan on fortune (cost=12.41..94.25 rows=21 width=36) Recheck Cond: (to_tsvector(’english’::regconfig, line) @@ to_ts... → Bitmap Index Scan on fortune_idx_ts (cost=0.00..12.40 rows... Index Cond: (to_tsvector(’english’::regconfig, line) @@ t..
  • 27. 27/44 Postgres Innovation: NoSQL ● Supports NoSQL capabilities in a relational database ● Mix structured and unstructured data in the same row and query; the best of both worlds ● Specialized indexing, operators, and functions ● Full transaction semantics http://momjian.us/main/writings/pgsql/yesql.pdf
  • 28. 28/44 Postgres Innovation: NoSQL EXPLAIN SELECT data->>’last_name’ FROM friend2 WHERE data::jsonb @> ’{"first_name" : "Jane"}’ ORDER BY 1; QUERY PLAN ----------------------------------------------------------------... Sort (cost=24.03..24.04 rows=1 width=139) Sort Key: ((data ->> ’last_name’::text)) -> Bitmap Heap Scan on friend2 (cost=20.01..24.02 rows=1 ... Recheck Cond: (data @> ’{"first_name": "Jane"}’::jsonb) → Bitmap Index Scan on friend2_idx (cost=0.00..20.01 ...... Index Cond: (data @> ’{"first_name": "Jane"}’::js...
  • 29. 29/44 Postgres Innovation: Range Types ● Combines start and stop times into a single field ● Allows sophisticated indexing and comparisons ● Allows automatic range overlap prevention http://momjian.us/main/writings/pgsql/non-relational.pdf
  • 30. 30/44 Postgres Innovation: Range Types EXPLAIN SELECT * FROM car_rental WHERE time_span @> ’2007-08-01 00:00:00’::timestamptz; QUERY PLAN ---------------------------------------------------------- Index Scan using car_rental_idx on car_rental(cost=0.15... Index Cond: (time_span @> ’2007-08-01 00:00:00-04’::...
  • 31. 31/44 Postgres Innovation: Geometric Types ● Handle multi-dimensional data – Points – Lines – Circles – Polygons ● Multi-dimensional indexing and operators ● Allows efficient nearest neighbor searches ● Avoids using a separate geometric data store http://momjian.us/main/writings/pgsql/non-relational.pdf
  • 32. 32/44 Postgres Innovation: Geometric Types EXPLAIN SELECT * FROM dart ORDER BY location <-> ’(50, 50)’::point LIMIT 2; QUERY PLAN ------------------------------------------------------------- Limit (cost=0.14..0.33 rows=2 width=20) → Index Scan using dart_idx on dart (cost=0.14..92.14... Order By: (location <-> ’(50,50)’::point)
  • 33. 33/44 Postgres Innovation: GIS ● PostGIS is a full-featured Geographical Information System (GIS) ● Implemented as a extension ● Independent development team and community https://postgis.net/
  • 34. 34/44 Postgres Innovation: GIS SELECT ST_Area(the_geom)/10000 AS hectares FROM bc_municipality WHERE name = 'PRINCE GEORGE'; hectares ------------------ 32657.9103824927
  • 35. 35/44 Postgres Innovation: Foreign Data Wrappers ● 100+ interfaces to foreign data ● Read/write ● Sophisticated push down of joins, sorts, and aggregates http://momjian.us/main/writings/pgsql/central.pdf
  • 37. 37/44 Postgres Innovation: Data Analytics ● Aggregates ● Optimizer ● Server-side languages, e.g. PL/R ● Window functions ● Bitmap heap scans ● Tablespaces ● Data partitioning ● Materialized views ● Common table expressions (CTE) ● BRIN indexes ● GROUPING SETS ● ROLLUP CUBE ● Parallelism ● Sharding (in progress) http://momjian.us/main/writings/pgsql/central.pdf
  • 39. 39/44 Postgres Innovation: Sharding ● Allows multi-host databases ● Uses – Partitioning – Parallelism – Foreign data wrappers – Logical replication – Global transaction manager – Global snapshot manager http://momjian.us/main/writings/pgsql/sharding.pdf
  • 42. 42/44 Community Structure ● BSD license guarantees software will be available forever, including for proprietary use ● Development and leadership is diversified geographically, culturally, and is multi-company
  • 43. 43/44 Still Going Strong ● 22 years of yearly major releases ● ~180 features per major release ● Quarterly minor releases ● Most loved relational database https://insights.stackoverflow.com/survey/2018/#technology-most-loved-dreaded-and-wanted-databases