【问题标题】:postgresql use bytea blob or file location to store serialized object?postgresql 使用 bytea blob 或文件位置来存储序列化对象?
【发布时间】:2011-06-01 10:21:12
【问题描述】:

我想在某处存储一个序列化对象,环顾四周后,我意识到有几种方法可以做到这一点。

我正在考虑将文件存储在文件系统中的某个位置,并将文件位置存储为表中的条目。

假设文件大约 100-500Kb,这是一种合适的方法吗?还是使用 bytea 或 blob 更好的解决方案?

【问题讨论】:

    标签: database postgresql blob


    【解决方案1】:

    小对象(500Kb)可以像 bytea 一样正常工作。大小的主要限制是您需要首先在服务器上实现整个内存字段,然后在客户端实现(有很多方法,但它们是有限的)。对于半兆字节,这应该不是问题,但如果您开始存储更大的对象,则可能需要考虑一下。

    将其存储在文件系统中并存储位置(或通过 SERIAL 序列中的代理主键命名存储)是处理较大文件的好方法,当然您也可以在这里应用它。缺点是您失去了事务完整性(您无法确定文件系统和数据库都已更新,因此您需要实现某种验证工具来定期运行以比较它们),并且可能更重要的是您可以t 获得一致的备份(如果备份的是文件而不是 db 记录怎么办?或相反)当然也有处理这个问题的方法,但它很快变得比将数据存储在桌子。

    【讨论】:

      猜你喜欢
      • 2014-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-04
      • 2014-02-08
      • 2014-07-10
      • 2021-03-17
      相关资源
      最近更新 更多