Book Image

PostgreSQL Replication, Second Edition

Book Image

PostgreSQL Replication, Second Edition

Overview of this book

Table of Contents (22 chapters)
PostgreSQL Replication Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Durability and availability


When designing data storage systems, it is important to distinguish between the properties of availability and durability. Availability is a measure of the probability that the system is able to accept reads and writes at any given point in time. Durability is a measure of the probability that once a write has been accepted (in PostgreSQL, this means a successful transaction commit), that information will not be lost. All real systems must pick a compromise between availability, durability, performance, and cost.

For a simple example, we can consider a cluster consisting of two database servers. One is running as the primary server, accepting writes from our application. The other one is running as a standby, replicating to the primary changes if something bad, such as a crash, happens. The question we have to answer now is how many changes we can afford to lose and how often. In some systems, such as those collecting sensor statistics, it's not a huge tragedy...