we're thinking about moving to Postgres from some other DB backend we're currently using. From what I've really seen, it's very reliable, stable and efficient. I realized I really like Postgres - it performs very well, compared to some other trendy things. However, the use case might be odd so I'm a bit concerned about my decision.
What we want is a simple key-value storage for hundreds of millions of rows. Each row is very different in size - from 10 kb to megabytes (but not more than 10 megabytes). Keys are strings, values are binary data.
We need only the PK and the Key index, no indexes for values.
However, since we use SSDs, I'd like to keep the disk usage as low as possible. So what is the HDD overhead in Postgres? Is there any formula to estimate it?
What would be the best storage engine for that (keeping the lowest HDD usage)? We need very fast writes but it's ok to have relatively slow reads.