如何决定是在Postgres还是在文件中存储二进制数据?

时间:2016-02-06 10:13:21

标签: postgresql binaryfiles binary-data postgresql-9.5

我正在开发一个Postgres支持的系统,其中将存储许多二进制文件。

我至少有两个选择:

  1. 将它们存放在Postgres中。
  2. 将它们存储为文件。
  3. 我需要考虑哪些标准才能做出最佳决策?

1 个答案:

答案 0 :(得分:7)

我会考虑以下事项:

  • 效果即可。在文件系统中存储二进制文件通常在读写方面表现更好。
  • 安全即可。对文件系统中文件的访问由操作系统控制,但是如果将文件存储在数据库中,则应用PostgreSQL访问规则。
  • 备份一致性。如果单独存储数据(文件系统和数据库)很难有一致的备份。文件系统备份和数据库备份可能不同步。
  • 交易属性。文件系统不是事务性的,但显然PostgreSQL是。