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

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

What's hot (20)

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

Similar to Postgres Vision 2018: Will Postgres Live Forever?

PGDay.Amsterdam 2018 - Bruce Momjian - Will postgres live forever
PGDay.Amsterdam 2018 - Bruce Momjian - Will postgres live foreverPGDay.Amsterdam 2018 - Bruce Momjian - Will postgres live forever
PGDay.Amsterdam 2018 - Bruce Momjian - Will postgres live forever
PGDay.Amsterdam
 
Os hardware meets os software
Os hardware meets os softwareOs hardware meets os software
Os hardware meets os software
Paul Tanner
 
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
ArangoDB Database
 
Introduction to Open Source GIS
Introduction to Open Source GISIntroduction to Open Source GIS
Introduction to Open Source GIS
SANGHEE SHIN
 
IoTivity: From Devices to the Cloud
IoTivity: From Devices to the CloudIoTivity: From Devices to the Cloud
IoTivity: From Devices to the Cloud
Samsung Open Source Group
 
Intro to Open Source Hardware (OSHW)
Intro to Open Source Hardware (OSHW)Intro to Open Source Hardware (OSHW)
Intro to Open Source Hardware (OSHW)
Drew Fustini
 
Taking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded FrameworkTaking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded Framework
Omer Kilic
 
[scala.by] Launching new application fast
[scala.by] Launching new application fast[scala.by] Launching new application fast
[scala.by] Launching new application fast
Denis Karpenko
 
Use open source software to develop ideas at work
Use open source software to develop ideas at workUse open source software to develop ideas at work
Use open source software to develop ideas at work
Sammy Fung
 
OpenStack Cinder On-Boarding Education - Boston Summit - 2017
OpenStack Cinder On-Boarding Education - Boston Summit - 2017OpenStack Cinder On-Boarding Education - Boston Summit - 2017
OpenStack Cinder On-Boarding Education - Boston Summit - 2017
Jay Bryant
 
Cinder On-boarding Room - Berlin (11-13-2018)
Cinder On-boarding Room - Berlin (11-13-2018)Cinder On-boarding Room - Berlin (11-13-2018)
Cinder On-boarding Room - Berlin (11-13-2018)
Jay Bryant
 
Keeping IoT stack in quality check - meetup IoT Under Test
Keeping IoT stack in quality check  - meetup IoT Under TestKeeping IoT stack in quality check  - meetup IoT Under Test
Keeping IoT stack in quality check - meetup IoT Under Test
Silvair
 
Portland Science Hack Day: Open Source Hardware
Portland Science Hack Day: Open Source HardwarePortland Science Hack Day: Open Source Hardware
Portland Science Hack Day: Open Source Hardware
Drew Fustini
 
Cinder Project On-Boarding - OpenInfra Summit Denver 2019
Cinder Project On-Boarding - OpenInfra Summit Denver 2019Cinder Project On-Boarding - OpenInfra Summit Denver 2019
Cinder Project On-Boarding - OpenInfra Summit Denver 2019
Jay Bryant
 
Yocto and IoT - a retrospective
Yocto and IoT - a retrospectiveYocto and IoT - a retrospective
Yocto and IoT - a retrospective
Open-RnD
 
Ros platform overview
Ros platform overviewRos platform overview
Ros platform overview
Pablo Iñigo Blasco
 
Open Chemistry, JupyterLab and data: Reproducible quantum chemistry
Open Chemistry, JupyterLab and data: Reproducible quantum chemistryOpen Chemistry, JupyterLab and data: Reproducible quantum chemistry
Open Chemistry, JupyterLab and data: Reproducible quantum chemistry
Marcus Hanwell
 
Linux on Open Source Hardware
Linux on Open Source HardwareLinux on Open Source Hardware
Linux on Open Source Hardware
Drew Fustini
 
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
Jay Bryant
 
SWAD Timeline 4:3
SWAD Timeline 4:3SWAD Timeline 4:3
SWAD Timeline 4:3
Antonio Cañas Vargas
 

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

PGDay.Amsterdam 2018 - Bruce Momjian - Will postgres live forever
PGDay.Amsterdam 2018 - Bruce Momjian - Will postgres live foreverPGDay.Amsterdam 2018 - Bruce Momjian - Will postgres live forever
PGDay.Amsterdam 2018 - Bruce Momjian - Will postgres live forever
 
Os hardware meets os software
Os hardware meets os softwareOs hardware meets os software
Os hardware meets os software
 
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
 
Introduction to Open Source GIS
Introduction to Open Source GISIntroduction to Open Source GIS
Introduction to Open Source GIS
 
IoTivity: From Devices to the Cloud
IoTivity: From Devices to the CloudIoTivity: From Devices to the Cloud
IoTivity: From Devices to the Cloud
 
Intro to Open Source Hardware (OSHW)
Intro to Open Source Hardware (OSHW)Intro to Open Source Hardware (OSHW)
Intro to Open Source Hardware (OSHW)
 
Taking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded FrameworkTaking Back Embedded: The Erlang Embedded Framework
Taking Back Embedded: The Erlang Embedded Framework
 
[scala.by] Launching new application fast
[scala.by] Launching new application fast[scala.by] Launching new application fast
[scala.by] Launching new application fast
 
Use open source software to develop ideas at work
Use open source software to develop ideas at workUse open source software to develop ideas at work
Use open source software to develop ideas at work
 
OpenStack Cinder On-Boarding Education - Boston Summit - 2017
OpenStack Cinder On-Boarding Education - Boston Summit - 2017OpenStack Cinder On-Boarding Education - Boston Summit - 2017
OpenStack Cinder On-Boarding Education - Boston Summit - 2017
 
Cinder On-boarding Room - Berlin (11-13-2018)
Cinder On-boarding Room - Berlin (11-13-2018)Cinder On-boarding Room - Berlin (11-13-2018)
Cinder On-boarding Room - Berlin (11-13-2018)
 
Keeping IoT stack in quality check - meetup IoT Under Test
Keeping IoT stack in quality check  - meetup IoT Under TestKeeping IoT stack in quality check  - meetup IoT Under Test
Keeping IoT stack in quality check - meetup IoT Under Test
 
Portland Science Hack Day: Open Source Hardware
Portland Science Hack Day: Open Source HardwarePortland Science Hack Day: Open Source Hardware
Portland Science Hack Day: Open Source Hardware
 
Cinder Project On-Boarding - OpenInfra Summit Denver 2019
Cinder Project On-Boarding - OpenInfra Summit Denver 2019Cinder Project On-Boarding - OpenInfra Summit Denver 2019
Cinder Project On-Boarding - OpenInfra Summit Denver 2019
 
Yocto and IoT - a retrospective
Yocto and IoT - a retrospectiveYocto and IoT - a retrospective
Yocto and IoT - a retrospective
 
Ros platform overview
Ros platform overviewRos platform overview
Ros platform overview
 
Open Chemistry, JupyterLab and data: Reproducible quantum chemistry
Open Chemistry, JupyterLab and data: Reproducible quantum chemistryOpen Chemistry, JupyterLab and data: Reproducible quantum chemistry
Open Chemistry, JupyterLab and data: Reproducible quantum chemistry
 
Linux on Open Source Hardware
Linux on Open Source HardwareLinux on Open Source Hardware
Linux on Open Source Hardware
 
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
 
SWAD Timeline 4:3
SWAD Timeline 4:3SWAD Timeline 4:3
SWAD Timeline 4:3
 

More from EDB

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

More from EDB (20)

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

Recently uploaded

How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 

Recently uploaded (20)

How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 

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