most wanted: future postgresql features

27
Most Wanted Future PostgreSQL Features Peter Eisentraut [email protected] PostgreSQL Core Team Senior Software Engineer, F-Secure FOSDEM 2010

Upload: peter-eisentraut

Post on 10-May-2015

2.592 views

Category:

Technology


5 download

DESCRIPTION

Based on user feedback, I discuss the most requested features for PostgreSQL, their implementation status, difficulties, blockers, and future plans. Items include replication, materialized views, parallel queries, in-place upgrade.

TRANSCRIPT

Page 1: Most Wanted: Future PostgreSQL Features

Most WantedFuture PostgreSQL Features

Peter [email protected]

PostgreSQL Core TeamSenior Software Engineer, F-Secure

FOSDEM 2010

Page 2: Most Wanted: Future PostgreSQL Features

Top 5 Priorities 2008/before PostgreSQL 8.3

1. Easy installation of PostgreSQL + accessories

"

2. Simple built-in replication3. Getting rid of VACUUM

"

4. Upgrade-in-place5. Driver quality and maintenance

I http://it.toolbox.com/blogs/database-soup/

postgresql-development-priorities-31886

I http://wiki.postgresql.org/wiki/PgCon_2009_

Developer_Meeting#Top_Adoption_Issues

I http://www.postgresql.org/community/survey.55

Page 3: Most Wanted: Future PostgreSQL Features

Top 5 Priorities 2008/before PostgreSQL 8.3

1. Easy installation of PostgreSQL + accessories"2. Simple built-in replication3. Getting rid of VACUUM"4. Upgrade-in-place5. Driver quality and maintenance

I http://it.toolbox.com/blogs/database-soup/

postgresql-development-priorities-31886

I http://wiki.postgresql.org/wiki/PgCon_2009_

Developer_Meeting#Top_Adoption_Issues

I http://www.postgresql.org/community/survey.55

Page 4: Most Wanted: Future PostgreSQL Features

Top 5 Priorities 2009/before PostgreSQL 8.4

1. Simple built-in replication2. Upgrade-in-place

"

3. Administration and monitoring tools4. Driver quality and maintenance5. Modules and extension management

Page 5: Most Wanted: Future PostgreSQL Features

Top 5 Priorities 2009/before PostgreSQL 8.4

1. Simple built-in replication2. Upgrade-in-place"3. Administration and monitoring tools4. Driver quality and maintenance5. Modules and extension management

Page 6: Most Wanted: Future PostgreSQL Features

Top 5 Priorities 2010/before PostgreSQL 9.0

1. Simple built-in replication

"

2. (Upgrade in place)

"

3. Administration and monitoring tools4. Driver quality and maintenance5. Modules and extension management

Page 7: Most Wanted: Future PostgreSQL Features

Top 5 Priorities 2010/before PostgreSQL 9.0

1. Simple built-in replication"2. (Upgrade in place)"3. Administration and monitoring tools4. Driver quality and maintenance5. Modules and extension management

Page 8: Most Wanted: Future PostgreSQL Features

Top Priorities after PostgreSQL 9.0

I Administration and monitoring toolsI Driver quality and maintenanceI Modules and extension managementI Per-column locale/collationI VLDB?I Cloud?

Page 9: Most Wanted: Future PostgreSQL Features

UserVoice

http://postgresql.uservoice.com/

Page 10: Most Wanted: Future PostgreSQL Features

Top Requests on UserVoice

1. Materialized views2. Synchronous replication3. Parallel query4. Index-only scans5. MERGE/UPSERT/REPLACE6. Administration and monitoring tools7. In-place upgrades8. Partitioning

Page 11: Most Wanted: Future PostgreSQL Features

Status: Materialized Views

I User-space toolkit exists: http://tech.jonathangardner.net/wiki/PostgreSQL/Materialized_Views

I No core work planned

Page 12: Most Wanted: Future PostgreSQL Features

Status: Synchronous Replication

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

Page 13: Most Wanted: Future PostgreSQL Features

Status: Parallel Query

I Conflicts with commercial interestsI Doubtful for the near future

I Wait! . . . Just in: Simon will fix it.http://database-explorer.blogspot.com/2010/02/

parallel-query-1.html

Page 14: Most Wanted: Future PostgreSQL Features

Status: Parallel Query

I Conflicts with commercial interestsI Doubtful for the near futureI Wait! . . . Just in: Simon will fix it.

http://database-explorer.blogspot.com/2010/02/

parallel-query-1.html

Page 15: Most Wanted: Future PostgreSQL Features

Status: Index-Only Scans

I In progressI Might be expected for 9.1

Page 16: Most Wanted: Future PostgreSQL Features

Status: MERGE/UPSERT/REPLACEExample:

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)

I No plans?I Standardized since SQL:2003I All other relevant SQL databases support some variant of

this.I Potential major blocker: new (predicate?) locking support

Page 17: Most Wanted: Future PostgreSQL Features

Status: MERGE/UPSERT/REPLACEExample:

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)

I No plans?I Standardized since SQL:2003I All other relevant SQL databases support some variant of

this.I Potential major blocker: new (predicate?) locking support

Page 18: Most Wanted: Future PostgreSQL Features

Status: Administration and Monitoring Tools

?

I Dozens of tools existI Problems need to be defined

Page 19: Most Wanted: Future PostgreSQL Features

Status: Administration and Monitoring Tools

?I Dozens of tools existI Problems need to be defined

Page 20: Most Wanted: Future PostgreSQL Features

Status: In-Place Upgrades

I 8.3 -> 8.4 didn’t work very well /I 8.4 -> 9.0 can be expected to work ,I Will require new effort for each release

Page 21: Most Wanted: Future PostgreSQL Features

Status: Partitioning

I Constraint exclusion doesn’t scaleI Some work was proposed during 9.0 cycleI Possible for 9.1

Page 22: Most Wanted: Future PostgreSQL Features

Status: Driver Quality and Maintenance

I Problem: most are underrecognized or “one-man” projectsI Need lots of help

Page 23: Most Wanted: Future PostgreSQL Features

Status: Per-column locale/collation

I Open question: glibc vs. ICUI Could happen any day or never . . .

Page 24: Most Wanted: Future PostgreSQL Features

Status: Module and Extension Management

I Various ideas are/have been in prototype phasesI Current approach: PGANI Possible for 9.1

Page 25: Most Wanted: Future PostgreSQL Features

Crystal Ball

Possible 9.1 features:I Synchronous replicationI Index-only scansI PartitioningI PGAN

I ???

Page 26: Most Wanted: Future PostgreSQL Features

Crystal Ball

Possible 9.1 features:I Synchronous replicationI Index-only scansI PartitioningI PGANI ???

Page 27: Most Wanted: Future PostgreSQL Features

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.