Group commit

From PostgreSQL wiki

(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
 
== Group commit ==
 
== Group commit ==
  
'Group commit'' is a feature planned for PostgreSQL 9.2 .  
+
''Group commit'' is a feature planned for PostgreSQL 9.2 .  
  
 
=== Description of feature ===
 
=== Description of feature ===

Revision as of 14:53, 17 January 2012

Group commit

Group commit is a feature planned for PostgreSQL 9.2 .

Description of feature

The feature is being developed by Simon Riggs and Peter Geoghegan. The latest -hackers thread on the feature is: http://archives.postgresql.org/pgsql-hackers/2012-01/msg00804.php .

Broadly speaking, a group commit feature enables PostgreSQL to commit a group of transactions in batch, amortizing the cost of flushing WAL. The proposed implementation this page describes is heavily based on the existing synchronous replication implementation. It supercedes the commit_siblings "group commit" implementation of prior versions. This earlier implementation was never really considered to be effective, and its use was weighed down by caveats, so in practice it was only used very infrequently. It is anticipated that the proposed implementation will be turned on by default, and it may not be possible to turn off.

Benchmark

Benchmarking of this feature has been performed by Greg Smith's pgbench tool (https://github.com/gregs1104/pgbench-tools) . Here are results for the initial benchmark:

http://wiki.postgresql.org/images/5/50/Group-commit-pgbench-tools.pdf

These results were obtained on an ext4 (Linux kernel 3.1) filesystem with LVM. The harddisk used was a WDC WD3200BEKT-08PVMT1 7200 RPM sata disk, with write caching enabled.

Personal tools