Hi

ZongZhi, Thanks for feedback.


I have read prior thread on this email, and know your settings, when did the testing, checkpoint_timeout set to 30s is too small, it's not a reasonable setting ,

the value of checkpoint_timeout is determined by shared_buffers and the workload, in real product environment, we usually set it to 30min or longer, even 1 hours, when the setting is correct, FPW will not be a problem or issue.

other issue is introduced by double write that is the recovery procedure and replications, it is not a small project.

if you really focus on the write or read latency, I would like to advice you to take a look for OrioleDB storage engine, I believe that's the correct direction. it is more efficient reads and writes, resolving many known overheads and issues in PostgreSQL


Regards

Tony


On 2026/2/28 03:11, 陈宗志 wrote:
Hi Tony,

Personally believe that the Double Write is very smart for MySQL InnoDB,
but not a good ideal for Postgres, currently, WAL is the best solution
for Postgres,
maybe the next generation log system for Postgres could use OrioleDB's
storage engine.
Just to clarify from a technical perspective, both MySQL and PostgreSQL
use Write-Ahead Logging (WAL) as their fundamental transaction logging
mechanism, so there is no difference in that regard.

The comparison here is specifically between Full-Page Writes (FPW) and
the Double Write Buffer (DWB). Neither of these concepts conflicts with
or replaces the core WAL design. Instead, both are simply different
techniques implemented to solve the exact same issue: preventing torn
pages during a crash.

My proposal is aimed at discussing the performance tradeoffs and
implementation details between these two specific torn-page protection
mechanisms, rather than replacing WAL itself.

Regards,
Baotiao


Reply via email to