我正在开发一个Postgres支持的系统,其中将存储许多二进制文件。
我至少有 2 个选择:
- 将它们存储在Postgres中。
- 将它们存储为文件。
我需要考虑哪些标准才能做出最佳决策?
我会考虑以下几点:
- 性能。在文件系统中存储二进制文件通常执行更好的读取和写入性能。
- 安全性。对文件系统中文件的访问由操作系统控制,但是,如果将文件存储在数据库中,则应用PostgreSQL访问规则。
- 备份一致性。如果将数据分开存储(文件系统和数据库),则很难进行一致的备份。文件系统备份和数据库备份可能不同步。
- 事务属性。文件系统不是事务性的,但显然PostgreSQL是。