存储与数据库中数据相关的二进制文件的最佳位置是什么?你应该:
(1) 的优点是(除其他外)事务的原子性得以保留。代价是您可能会显着增加存储(和相关的流/备份)要求
(3) 的目标是在某种程度上保留原子性 - 如果您可以强制您正在写入的文件系统不允许更改或删除文件,并且始终具有正确的哈希作为文件名。这个想法是在允许引用哈希的插入/更新之前将文件写入文件系统 - 如果此事务在文件系统写入之后但在数据库 DML 之前失败,那很好,因为文件系统“假装”是所有的存储库可能的文件和哈希值 - 是否有一些文件没有被指向并不重要(如果你小心的话,你可以定期清理它们)
编辑:
看起来一些 RDBMS 以各自的方式涵盖了这一点 - 我很想知道其他人是如何做到的 - 特别是在 postgres 的解决方案中