Building upon my previous blog post, where I declared Postgres was “good
enough”, I want to explore what “good enough” means. I will use an aircraft design analogy. (You might remember me exploring a
Postgres/aircraft parallel before.)
In aircraft design, everything is a tradeoff between weight, cost, reliability, and safety. Let’s look at safety — what would be the
safest material to use in constructing an airplane? One logical selection would be to make it from the same material as the
flight data recorder, i.e. the black box.
It is designed to withstand the most serious crashes, so obviously, it would be the safest.
Of course, the problem is that an aircraft made with material of the same strength as a flight data recorder would be so heavy it would
never get off the ground. A material must be chosen that is safe enough, and light enough so the plane can fly. Obviously, measuring
best in only one dimension leads to impractical problems in other areas.