3 ms·
Is there something specific that you worry about when running a database on a networked file system? I would imagine that any database which is correctly fsync'
by huntaub 2y ago
Is there something specific that you worry about when running a database on a networked file system? I would imagine that any database which is correctly fsync'ing the data to the write-ahead-log should work just fine.
- weinzierl 2y agoFirst of all databases don't support running on NFS. It is an unsupported configuration. The deeper reason for that is, that the consistency guarantees from NFS (close-to-open consistency) are a lot weaker than what you get from POSIX.
- huntaub 2y agoI don’t know if I agree, for example, Postgres has this [1] to say about using NFS as the backing store. I think that part of the challenge is that there are so many implementation details that differ between NFS servers and many configuration options that teams can fiddle with (Postgres specifically calls out “async” as dangerous). Close to open semantics are actually stronger than what something like XFS offers (because XFS isn’t required to flush data to disk on file close), and databases should be fsyncing their write ahead logs from the application layer. Like said though, this doesn’t mean that there aren’t certain configurations of NFS which won’t work (async for example means that NFS servers won’t actually write to non-volatile storage on fsync, which is of course dangerous for any application). [1] https://www.postgresql.org/docs/current/creating-cluster.html https://www.postgresql.org/docs/current/creating-cluster.htm...