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

DP_*_*DP_ 5 postgresql binaryfiles binary-data postgresql-9.5

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

我至少有两个选择:

  1. 将它们存放在Postgres中.
  2. 将它们存储为文件.

我需要考虑哪些标准才能做出最佳决策?

Jes*_*pez 7

我会考虑以下几点:

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