SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Most Wanted
Future PostgreSQL Features


      Peter Eisentraut
   petere@postgresql.org

       PostgreSQL Core Team
 Senior Software Engineer, F-Secure


        FOSDEM 2010
Top 5 Priorities 2008/before PostgreSQL 8.3


    1. Easy installation of PostgreSQL + accessories
    2. Simple built-in replication
    3. Getting rid of VACUUM
    4. Upgrade-in-place
    5. Driver quality and maintenance

       http://it.toolbox.com/blogs/database-soup/
       postgresql-development-priorities-31886
       http://wiki.postgresql.org/wiki/PgCon_2009_
       Developer_Meeting#Top_Adoption_Issues
       http://www.postgresql.org/community/survey.55
Top 5 Priorities 2008/before PostgreSQL 8.3


    1. Easy installation of PostgreSQL + accessories   "
    2. Simple built-in replication
    3. Getting rid of VACUUM    "
    4. Upgrade-in-place
    5. Driver quality and maintenance

       http://it.toolbox.com/blogs/database-soup/
       postgresql-development-priorities-31886
       http://wiki.postgresql.org/wiki/PgCon_2009_
       Developer_Meeting#Top_Adoption_Issues
       http://www.postgresql.org/community/survey.55
Top 5 Priorities 2009/before PostgreSQL 8.4




    1. Simple built-in replication
    2. Upgrade-in-place
    3. Administration and monitoring tools
    4. Driver quality and maintenance
    5. Modules and extension management
Top 5 Priorities 2009/before PostgreSQL 8.4




    1. Simple built-in replication
    2. Upgrade-in-place   "
    3. Administration and monitoring tools
    4. Driver quality and maintenance
    5. Modules and extension management
Top 5 Priorities 2010/before PostgreSQL 9.0




    1. Simple built-in replication
    2. (Upgrade in place)
    3. Administration and monitoring tools
    4. Driver quality and maintenance
    5. Modules and extension management
Top 5 Priorities 2010/before PostgreSQL 9.0




    1. Simple built-in replication   "
    2. (Upgrade in place)   "
    3. Administration and monitoring tools
    4. Driver quality and maintenance
    5. Modules and extension management
Top Priorities after PostgreSQL 9.0




      Administration and monitoring tools
      Driver quality and maintenance
      Modules and extension management
      Per-column locale/collation
      VLDB?
      Cloud?
UserVoice

            http://postgresql.uservoice.com/
Top Requests on UserVoice



   1. Materialized views
   2. Synchronous replication
   3. Parallel query
   4. Index-only scans
   5. MERGE/UPSERT/REPLACE
   6. Administration and monitoring tools
   7. In-place upgrades
   8. Partitioning
Status: Materialized Views




      User-space toolkit exists: http://tech.jonathangardner.
      net/wiki/PostgreSQL/Materialized_Views
      No core work planned
Status: Synchronous Replication




      9.0 will have “Hot Standby” and “Streaming Replication”
      Synchronous replication might be expected for 9.1
      More refinement work on streaming replication
Status: Parallel Query




      Conflicts with commercial interests
      Doubtful for the near future
Status: Parallel Query




      Conflicts with commercial interests
      Doubtful for the near future
      Wait! . . . Just in: Simon will fix it.
      http://database-explorer.blogspot.com/2010/02/
      parallel-query-1.html
Status: Index-Only Scans




      In progress
      Might be expected for 9.1
Status: MERGE/UPSERT/REPLACE
  Example:

  MERGE INTO table1 AS t
      USING table1 o
      ON (t.id = o.id)
      WHEN MATCHED
          THEN UPDATE SET a = 1, b = 2, c = 3
      WHEN NOT MATCHED
          THEN INSERT (id, a, b, c) VALUES (0, 1, 2, 3)
  http://en.wikipedia.org/wiki/Merge_(SQL)
Status: MERGE/UPSERT/REPLACE
  Example:

  MERGE INTO table1 AS t
      USING table1 o
      ON (t.id = o.id)
      WHEN MATCHED
          THEN UPDATE SET a = 1, b = 2, c = 3
      WHEN NOT MATCHED
          THEN INSERT (id, a, b, c) VALUES (0, 1, 2, 3)
  http://en.wikipedia.org/wiki/Merge_(SQL)
     No plans?
     Standardized since SQL:2003
     All other relevant SQL databases support some variant of
     this.
     Potential major blocker: new (predicate?) locking support
Status: Administration and Monitoring Tools




                          ?
Status: Administration and Monitoring Tools




                              ?
      Dozens of tools exist
      Problems need to be defined
Status: In-Place Upgrades




      8.3 -> 8.4 didn’t work very well
      8.4 -> 9.0 can be expected to work
      Will require new effort for each release
Status: Partitioning




      Constraint exclusion doesn’t scale
      Some work was proposed during 9.0 cycle
      Possible for 9.1
Status: Driver Quality and Maintenance




      Problem: most are underrecognized or “one-man” projects
      Need lots of help
Status: Per-column locale/collation




      Open question: glibc vs. ICU
      Could happen any day or never . . .
Status: Module and Extension Management




     Various ideas are/have been in prototype phases
     Current approach: PGAN
     Possible for 9.1
Crystal Ball




   Possible 9.1 features:
       Synchronous replication
       Index-only scans
       Partitioning
       PGAN
Crystal Ball




   Possible 9.1 features:
       Synchronous replication
       Index-only scans
       Partitioning
       PGAN
       ???
Rights and Attributions




   This presentation “Most Wanted: Future PostgreSQL Features” was authored by Peter Eisentraut and is licensed

   under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported license.

Weitere ähnliche Inhalte

Was ist angesagt?

Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9sumsid1234
 
Hippo get together presentation solr integration
Hippo get together presentation   solr integrationHippo get together presentation   solr integration
Hippo get together presentation solr integrationHippo
 
AEM Meetup Sydney - Content Migration with CRX2Oak
AEM Meetup Sydney - Content Migration with CRX2OakAEM Meetup Sydney - Content Migration with CRX2Oak
AEM Meetup Sydney - Content Migration with CRX2OakMichael Henderson
 
Java and SPARQL
Java and SPARQLJava and SPARQL
Java and SPARQLRaji Ghawi
 
Controlling execution plans 2014
Controlling execution plans   2014Controlling execution plans   2014
Controlling execution plans 2014Enkitec
 
香港六合彩
香港六合彩香港六合彩
香港六合彩iewsxc
 
0396 oracle-goldengate-12c-tutorial
0396 oracle-goldengate-12c-tutorial0396 oracle-goldengate-12c-tutorial
0396 oracle-goldengate-12c-tutorialKlausePaulino
 
Open Ldap Integration and Configuration with Lifray 6.2
Open Ldap Integration and Configuration with Lifray 6.2Open Ldap Integration and Configuration with Lifray 6.2
Open Ldap Integration and Configuration with Lifray 6.2Vinaykumar Hebballi
 
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...Marco Gralike
 
070517 Jena
070517 Jena070517 Jena
070517 Jenayuhana
 
common_schema 2.0: DBA's Framework for MySQL
common_schema 2.0: DBA's Framework for MySQLcommon_schema 2.0: DBA's Framework for MySQL
common_schema 2.0: DBA's Framework for MySQLShlomi Noach
 
Mid term & final- preparation- student-review(Oracle)
Mid term & final- preparation- student-review(Oracle)Mid term & final- preparation- student-review(Oracle)
Mid term & final- preparation- student-review(Oracle)than sare
 
02 beginning code first
02   beginning code first02   beginning code first
02 beginning code firstMaxim Shaptala
 
Introduction to Spring Boot
Introduction to Spring BootIntroduction to Spring Boot
Introduction to Spring BootTrey Howard
 

Was ist angesagt? (20)

Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9
 
Hippo get together presentation solr integration
Hippo get together presentation   solr integrationHippo get together presentation   solr integration
Hippo get together presentation solr integration
 
AEM Meetup Sydney - Content Migration with CRX2Oak
AEM Meetup Sydney - Content Migration with CRX2OakAEM Meetup Sydney - Content Migration with CRX2Oak
AEM Meetup Sydney - Content Migration with CRX2Oak
 
Java and SPARQL
Java and SPARQLJava and SPARQL
Java and SPARQL
 
Controlling execution plans 2014
Controlling execution plans   2014Controlling execution plans   2014
Controlling execution plans 2014
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
0396 oracle-goldengate-12c-tutorial
0396 oracle-goldengate-12c-tutorial0396 oracle-goldengate-12c-tutorial
0396 oracle-goldengate-12c-tutorial
 
Just enough app server
Just enough app serverJust enough app server
Just enough app server
 
Open Ldap Integration and Configuration with Lifray 6.2
Open Ldap Integration and Configuration with Lifray 6.2Open Ldap Integration and Configuration with Lifray 6.2
Open Ldap Integration and Configuration with Lifray 6.2
 
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
 
070517 Jena
070517 Jena070517 Jena
070517 Jena
 
common_schema 2.0: DBA's Framework for MySQL
common_schema 2.0: DBA's Framework for MySQLcommon_schema 2.0: DBA's Framework for MySQL
common_schema 2.0: DBA's Framework for MySQL
 
Jena Programming
Jena ProgrammingJena Programming
Jena Programming
 
Mid term & final- preparation- student-review(Oracle)
Mid term & final- preparation- student-review(Oracle)Mid term & final- preparation- student-review(Oracle)
Mid term & final- preparation- student-review(Oracle)
 
Database 12c
Database 12cDatabase 12c
Database 12c
 
02 beginning code first
02   beginning code first02   beginning code first
02 beginning code first
 
Jena
JenaJena
Jena
 
Oracle Essentials Oracle Database 11g
Oracle Essentials   Oracle Database 11gOracle Essentials   Oracle Database 11g
Oracle Essentials Oracle Database 11g
 
Jdbc
JdbcJdbc
Jdbc
 
Introduction to Spring Boot
Introduction to Spring BootIntroduction to Spring Boot
Introduction to Spring Boot
 

Andere mochten auch

Porting Oracle Applications to PostgreSQL
Porting Oracle Applications to PostgreSQLPorting Oracle Applications to PostgreSQL
Porting Oracle Applications to PostgreSQLPeter Eisentraut
 
Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle
Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle
Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle Ashnikbiz
 
Migrating from Oracle to Postgres
Migrating from Oracle to PostgresMigrating from Oracle to Postgres
Migrating from Oracle to PostgresEDB
 
DBaaS with EDB Postgres on AWS
DBaaS with EDB Postgres on AWSDBaaS with EDB Postgres on AWS
DBaaS with EDB Postgres on AWSEDB
 
Key Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to PostgresKey Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to PostgresEDB
 
Migration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQLMigration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQLPGConf APAC
 

Andere mochten auch (6)

Porting Oracle Applications to PostgreSQL
Porting Oracle Applications to PostgreSQLPorting Oracle Applications to PostgreSQL
Porting Oracle Applications to PostgreSQL
 
Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle
Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle
Ashnik EnterpriseDB PostgreSQL - A real alternative to Oracle
 
Migrating from Oracle to Postgres
Migrating from Oracle to PostgresMigrating from Oracle to Postgres
Migrating from Oracle to Postgres
 
DBaaS with EDB Postgres on AWS
DBaaS with EDB Postgres on AWSDBaaS with EDB Postgres on AWS
DBaaS with EDB Postgres on AWS
 
Key Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to PostgresKey Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to Postgres
 
Migration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQLMigration From Oracle to PostgreSQL
Migration From Oracle to PostgreSQL
 

Ähnlich wie Most Wanted: Future PostgreSQL Features

Oracle Express Edition - Información de la Licencia (Library Manager).pdf
Oracle Express Edition - Información de la Licencia (Library Manager).pdfOracle Express Edition - Información de la Licencia (Library Manager).pdf
Oracle Express Edition - Información de la Licencia (Library Manager).pdfManuel Jose Mercado Martinez
 
Oracle applications r12.2, ebr, online patching means lot of work for devel...
Oracle applications r12.2, ebr, online patching   means lot of work for devel...Oracle applications r12.2, ebr, online patching   means lot of work for devel...
Oracle applications r12.2, ebr, online patching means lot of work for devel...Ajith Narayanan
 
CISOA Conference 2020 Banner 9 Development
CISOA Conference 2020 Banner 9 DevelopmentCISOA Conference 2020 Banner 9 Development
CISOA Conference 2020 Banner 9 DevelopmentBrad Rippe
 
Introduction to-release-11i-part-1-of-2-installation3771
Introduction to-release-11i-part-1-of-2-installation3771Introduction to-release-11i-part-1-of-2-installation3771
Introduction to-release-11i-part-1-of-2-installation3771Mlx Le
 
Using Delta Lake to Transform a Legacy Apache Spark to Support Complex Update...
Using Delta Lake to Transform a Legacy Apache Spark to Support Complex Update...Using Delta Lake to Transform a Legacy Apache Spark to Support Complex Update...
Using Delta Lake to Transform a Legacy Apache Spark to Support Complex Update...Databricks
 
Liquibase få kontroll på dina databasförändringar
Liquibase   få kontroll på dina databasförändringarLiquibase   få kontroll på dina databasförändringar
Liquibase få kontroll på dina databasförändringarSqueed
 
Spring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applicationsSpring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applicationsmichaelaaron25322
 
Upgrading to SharePoint 2010 - Teched Middle East
Upgrading to SharePoint 2010 - Teched Middle EastUpgrading to SharePoint 2010 - Teched Middle East
Upgrading to SharePoint 2010 - Teched Middle EastJoel Oleson
 
Tackling performance in the WordPress ecosystem at scale
Tackling performance in the WordPress ecosystem at scaleTackling performance in the WordPress ecosystem at scale
Tackling performance in the WordPress ecosystem at scaleFelix Arntz
 
Oracle RAC BP for Upgrade & More by Anil Nair and Markus Michalewicz
Oracle RAC BP for Upgrade & More by Anil Nair and Markus MichalewiczOracle RAC BP for Upgrade & More by Anil Nair and Markus Michalewicz
Oracle RAC BP for Upgrade & More by Anil Nair and Markus MichalewiczMarkus Michalewicz
 
Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12Enkitec
 
Java EE8 - by Kito Mann
Java EE8 - by Kito Mann Java EE8 - by Kito Mann
Java EE8 - by Kito Mann Kile Niklawski
 
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?Toronto-Oracle-Users-Group
 
Django Proposal.pdf
Django Proposal.pdfDjango Proposal.pdf
Django Proposal.pdfdeepak474135
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal infoSynapseindiappsdevelopment
 
Application depolyment
Application depolymentApplication depolyment
Application depolymentshriikantL
 

Ähnlich wie Most Wanted: Future PostgreSQL Features (20)

Upgrading 11i E-business Suite to R12 E-business Suite
Upgrading 11i E-business Suite to R12 E-business SuiteUpgrading 11i E-business Suite to R12 E-business Suite
Upgrading 11i E-business Suite to R12 E-business Suite
 
Oracle Express Edition - Información de la Licencia (Library Manager).pdf
Oracle Express Edition - Información de la Licencia (Library Manager).pdfOracle Express Edition - Información de la Licencia (Library Manager).pdf
Oracle Express Edition - Información de la Licencia (Library Manager).pdf
 
Oracle applications r12.2, ebr, online patching means lot of work for devel...
Oracle applications r12.2, ebr, online patching   means lot of work for devel...Oracle applications r12.2, ebr, online patching   means lot of work for devel...
Oracle applications r12.2, ebr, online patching means lot of work for devel...
 
CISOA Conference 2020 Banner 9 Development
CISOA Conference 2020 Banner 9 DevelopmentCISOA Conference 2020 Banner 9 Development
CISOA Conference 2020 Banner 9 Development
 
Introduction to-release-11i-part-1-of-2-installation3771
Introduction to-release-11i-part-1-of-2-installation3771Introduction to-release-11i-part-1-of-2-installation3771
Introduction to-release-11i-part-1-of-2-installation3771
 
ESIGate dev meeting #4 21-11-2013
ESIGate dev meeting #4 21-11-2013ESIGate dev meeting #4 21-11-2013
ESIGate dev meeting #4 21-11-2013
 
Using Delta Lake to Transform a Legacy Apache Spark to Support Complex Update...
Using Delta Lake to Transform a Legacy Apache Spark to Support Complex Update...Using Delta Lake to Transform a Legacy Apache Spark to Support Complex Update...
Using Delta Lake to Transform a Legacy Apache Spark to Support Complex Update...
 
Liquibase få kontroll på dina databasförändringar
Liquibase   få kontroll på dina databasförändringarLiquibase   få kontroll på dina databasförändringar
Liquibase få kontroll på dina databasförändringar
 
Spring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applicationsSpring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applications
 
Upgrading to SharePoint 2010 - Teched Middle East
Upgrading to SharePoint 2010 - Teched Middle EastUpgrading to SharePoint 2010 - Teched Middle East
Upgrading to SharePoint 2010 - Teched Middle East
 
Tackling performance in the WordPress ecosystem at scale
Tackling performance in the WordPress ecosystem at scaleTackling performance in the WordPress ecosystem at scale
Tackling performance in the WordPress ecosystem at scale
 
Oracle RAC BP for Upgrade & More by Anil Nair and Markus Michalewicz
Oracle RAC BP for Upgrade & More by Anil Nair and Markus MichalewiczOracle RAC BP for Upgrade & More by Anil Nair and Markus Michalewicz
Oracle RAC BP for Upgrade & More by Anil Nair and Markus Michalewicz
 
Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12
 
Java EE8 - by Kito Mann
Java EE8 - by Kito Mann Java EE8 - by Kito Mann
Java EE8 - by Kito Mann
 
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?Extreme Availability using Oracle 12c Features: Your very last system shutdown?
Extreme Availability using Oracle 12c Features: Your very last system shutdown?
 
SSDT unleashed
SSDT unleashedSSDT unleashed
SSDT unleashed
 
Django Proposal.pdf
Django Proposal.pdfDjango Proposal.pdf
Django Proposal.pdf
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal info
 
Application depolyment
Application depolymentApplication depolyment
Application depolyment
 
Javaone 2014
Javaone 2014Javaone 2014
Javaone 2014
 

Mehr von Peter Eisentraut

Programming with Python and PostgreSQL
Programming with Python and PostgreSQLProgramming with Python and PostgreSQL
Programming with Python and PostgreSQLPeter Eisentraut
 
Getting Started with PL/Proxy
Getting Started with PL/ProxyGetting Started with PL/Proxy
Getting Started with PL/ProxyPeter Eisentraut
 
Linux distribution for the cloud
Linux distribution for the cloudLinux distribution for the cloud
Linux distribution for the cloudPeter Eisentraut
 
Porting Applications From Oracle To PostgreSQL
Porting Applications From Oracle To PostgreSQLPorting Applications From Oracle To PostgreSQL
Porting Applications From Oracle To PostgreSQLPeter Eisentraut
 
XML Support: Specifications and Development
XML Support: Specifications and DevelopmentXML Support: Specifications and Development
XML Support: Specifications and DevelopmentPeter Eisentraut
 
PostgreSQL: Die Freie Datenbankalternative
PostgreSQL: Die Freie DatenbankalternativePostgreSQL: Die Freie Datenbankalternative
PostgreSQL: Die Freie DatenbankalternativePeter Eisentraut
 
The Road to the XML Type: Current and Future Developments
The Road to the XML Type: Current and Future DevelopmentsThe Road to the XML Type: Current and Future Developments
The Road to the XML Type: Current and Future DevelopmentsPeter Eisentraut
 
Access ohne Access: Freie Datenbank-Frontends
Access ohne Access: Freie Datenbank-FrontendsAccess ohne Access: Freie Datenbank-Frontends
Access ohne Access: Freie Datenbank-FrontendsPeter Eisentraut
 
Replication Solutions for PostgreSQL
Replication Solutions for PostgreSQLReplication Solutions for PostgreSQL
Replication Solutions for PostgreSQLPeter Eisentraut
 
Access ohne Access: Freie Datenbank-Frontends
Access ohne Access: Freie Datenbank-FrontendsAccess ohne Access: Freie Datenbank-Frontends
Access ohne Access: Freie Datenbank-FrontendsPeter Eisentraut
 
Docbook: Textverarbeitung mit XML
Docbook: Textverarbeitung mit XMLDocbook: Textverarbeitung mit XML
Docbook: Textverarbeitung mit XMLPeter Eisentraut
 
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail Sy...
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail Sy...Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail Sy...
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail Sy...Peter Eisentraut
 
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail S...
Collateral Damage:
Consequences of Spam and Virus Filtering for the E-Mail S...Collateral Damage:
Consequences of Spam and Virus Filtering for the E-Mail S...
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail S...Peter Eisentraut
 
The Common Debian Build System (CDBS)
The Common Debian Build System (CDBS)The Common Debian Build System (CDBS)
The Common Debian Build System (CDBS)Peter Eisentraut
 
The Lives of Others: Open-Source Development Practices Elsewhere
The Lives of Others: Open-Source Development Practices ElsewhereThe Lives of Others: Open-Source Development Practices Elsewhere
The Lives of Others: Open-Source Development Practices ElsewherePeter Eisentraut
 

Mehr von Peter Eisentraut (20)

Programming with Python and PostgreSQL
Programming with Python and PostgreSQLProgramming with Python and PostgreSQL
Programming with Python and PostgreSQL
 
Getting Started with PL/Proxy
Getting Started with PL/ProxyGetting Started with PL/Proxy
Getting Started with PL/Proxy
 
Linux distribution for the cloud
Linux distribution for the cloudLinux distribution for the cloud
Linux distribution for the cloud
 
Porting Applications From Oracle To PostgreSQL
Porting Applications From Oracle To PostgreSQLPorting Applications From Oracle To PostgreSQL
Porting Applications From Oracle To PostgreSQL
 
PostgreSQL and XML
PostgreSQL and XMLPostgreSQL and XML
PostgreSQL and XML
 
XML Support: Specifications and Development
XML Support: Specifications and DevelopmentXML Support: Specifications and Development
XML Support: Specifications and Development
 
PostgreSQL: Die Freie Datenbankalternative
PostgreSQL: Die Freie DatenbankalternativePostgreSQL: Die Freie Datenbankalternative
PostgreSQL: Die Freie Datenbankalternative
 
The Road to the XML Type: Current and Future Developments
The Road to the XML Type: Current and Future DevelopmentsThe Road to the XML Type: Current and Future Developments
The Road to the XML Type: Current and Future Developments
 
Access ohne Access: Freie Datenbank-Frontends
Access ohne Access: Freie Datenbank-FrontendsAccess ohne Access: Freie Datenbank-Frontends
Access ohne Access: Freie Datenbank-Frontends
 
PostgreSQL and PL/Java
PostgreSQL and PL/JavaPostgreSQL and PL/Java
PostgreSQL and PL/Java
 
Replication Solutions for PostgreSQL
Replication Solutions for PostgreSQLReplication Solutions for PostgreSQL
Replication Solutions for PostgreSQL
 
PostgreSQL News
PostgreSQL NewsPostgreSQL News
PostgreSQL News
 
PostgreSQL News
PostgreSQL NewsPostgreSQL News
PostgreSQL News
 
Access ohne Access: Freie Datenbank-Frontends
Access ohne Access: Freie Datenbank-FrontendsAccess ohne Access: Freie Datenbank-Frontends
Access ohne Access: Freie Datenbank-Frontends
 
Docbook: Textverarbeitung mit XML
Docbook: Textverarbeitung mit XMLDocbook: Textverarbeitung mit XML
Docbook: Textverarbeitung mit XML
 
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail Sy...
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail Sy...Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail Sy...
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail Sy...
 
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail S...
Collateral Damage:
Consequences of Spam and Virus Filtering for the E-Mail S...Collateral Damage:
Consequences of Spam and Virus Filtering for the E-Mail S...
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail S...
 
Spaß mit PostgreSQL
Spaß mit PostgreSQLSpaß mit PostgreSQL
Spaß mit PostgreSQL
 
The Common Debian Build System (CDBS)
The Common Debian Build System (CDBS)The Common Debian Build System (CDBS)
The Common Debian Build System (CDBS)
 
The Lives of Others: Open-Source Development Practices Elsewhere
The Lives of Others: Open-Source Development Practices ElsewhereThe Lives of Others: Open-Source Development Practices Elsewhere
The Lives of Others: Open-Source Development Practices Elsewhere
 

Kürzlich hochgeladen

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Kürzlich hochgeladen (20)

Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Most Wanted: Future PostgreSQL Features

  • 1. Most Wanted Future PostgreSQL Features Peter Eisentraut petere@postgresql.org PostgreSQL Core Team Senior Software Engineer, F-Secure FOSDEM 2010
  • 2. Top 5 Priorities 2008/before PostgreSQL 8.3 1. Easy installation of PostgreSQL + accessories 2. Simple built-in replication 3. Getting rid of VACUUM 4. Upgrade-in-place 5. Driver quality and maintenance http://it.toolbox.com/blogs/database-soup/ postgresql-development-priorities-31886 http://wiki.postgresql.org/wiki/PgCon_2009_ Developer_Meeting#Top_Adoption_Issues http://www.postgresql.org/community/survey.55
  • 3. Top 5 Priorities 2008/before PostgreSQL 8.3 1. Easy installation of PostgreSQL + accessories " 2. Simple built-in replication 3. Getting rid of VACUUM " 4. Upgrade-in-place 5. Driver quality and maintenance http://it.toolbox.com/blogs/database-soup/ postgresql-development-priorities-31886 http://wiki.postgresql.org/wiki/PgCon_2009_ Developer_Meeting#Top_Adoption_Issues http://www.postgresql.org/community/survey.55
  • 4. Top 5 Priorities 2009/before PostgreSQL 8.4 1. Simple built-in replication 2. Upgrade-in-place 3. Administration and monitoring tools 4. Driver quality and maintenance 5. Modules and extension management
  • 5. Top 5 Priorities 2009/before PostgreSQL 8.4 1. Simple built-in replication 2. Upgrade-in-place " 3. Administration and monitoring tools 4. Driver quality and maintenance 5. Modules and extension management
  • 6. Top 5 Priorities 2010/before PostgreSQL 9.0 1. Simple built-in replication 2. (Upgrade in place) 3. Administration and monitoring tools 4. Driver quality and maintenance 5. Modules and extension management
  • 7. Top 5 Priorities 2010/before PostgreSQL 9.0 1. Simple built-in replication " 2. (Upgrade in place) " 3. Administration and monitoring tools 4. Driver quality and maintenance 5. Modules and extension management
  • 8. Top Priorities after PostgreSQL 9.0 Administration and monitoring tools Driver quality and maintenance Modules and extension management Per-column locale/collation VLDB? Cloud?
  • 9. UserVoice http://postgresql.uservoice.com/
  • 10. Top Requests on UserVoice 1. Materialized views 2. Synchronous replication 3. Parallel query 4. Index-only scans 5. MERGE/UPSERT/REPLACE 6. Administration and monitoring tools 7. In-place upgrades 8. Partitioning
  • 11. Status: Materialized Views User-space toolkit exists: http://tech.jonathangardner. net/wiki/PostgreSQL/Materialized_Views No core work planned
  • 12. Status: Synchronous Replication 9.0 will have “Hot Standby” and “Streaming Replication” Synchronous replication might be expected for 9.1 More refinement work on streaming replication
  • 13. Status: Parallel Query Conflicts with commercial interests Doubtful for the near future
  • 14. Status: Parallel Query Conflicts with commercial interests Doubtful for the near future Wait! . . . Just in: Simon will fix it. http://database-explorer.blogspot.com/2010/02/ parallel-query-1.html
  • 15. Status: Index-Only Scans In progress Might be expected for 9.1
  • 16. Status: MERGE/UPSERT/REPLACE Example: MERGE INTO table1 AS t USING table1 o ON (t.id = o.id) WHEN MATCHED THEN UPDATE SET a = 1, b = 2, c = 3 WHEN NOT MATCHED THEN INSERT (id, a, b, c) VALUES (0, 1, 2, 3) http://en.wikipedia.org/wiki/Merge_(SQL)
  • 17. Status: MERGE/UPSERT/REPLACE Example: MERGE INTO table1 AS t USING table1 o ON (t.id = o.id) WHEN MATCHED THEN UPDATE SET a = 1, b = 2, c = 3 WHEN NOT MATCHED THEN INSERT (id, a, b, c) VALUES (0, 1, 2, 3) http://en.wikipedia.org/wiki/Merge_(SQL) No plans? Standardized since SQL:2003 All other relevant SQL databases support some variant of this. Potential major blocker: new (predicate?) locking support
  • 18. Status: Administration and Monitoring Tools ?
  • 19. Status: Administration and Monitoring Tools ? Dozens of tools exist Problems need to be defined
  • 20. Status: In-Place Upgrades 8.3 -> 8.4 didn’t work very well 8.4 -> 9.0 can be expected to work Will require new effort for each release
  • 21. Status: Partitioning Constraint exclusion doesn’t scale Some work was proposed during 9.0 cycle Possible for 9.1
  • 22. Status: Driver Quality and Maintenance Problem: most are underrecognized or “one-man” projects Need lots of help
  • 23. Status: Per-column locale/collation Open question: glibc vs. ICU Could happen any day or never . . .
  • 24. Status: Module and Extension Management Various ideas are/have been in prototype phases Current approach: PGAN Possible for 9.1
  • 25. Crystal Ball Possible 9.1 features: Synchronous replication Index-only scans Partitioning PGAN
  • 26. Crystal Ball Possible 9.1 features: Synchronous replication Index-only scans Partitioning PGAN ???
  • 27. Rights and Attributions This presentation “Most Wanted: Future PostgreSQL Features” was authored by Peter Eisentraut and is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported license.