gpt4 book ai didi

database - Postgresql 数据库的文件存储系统

转载 作者:搜寻专家 更新时间:2023-10-30 23:29:23 27 4
gpt4 key购买 nike

我目前有一个需要存储大量文件的数据库。但是,我还存储有关特定文件的信息。我希望能够将文件与包含此元数据的数据库一起存储,我想知道如何最好地做到这一点。这些文件是自动生成的,并且处于适合文件系统的层次结构中。

最初的想法是将路径存储到包含所有文件的文件系统的根目录,然后引用与此相关的文件(例如../file_group_1/file_1)。在研究这个问题时,很难找到一种方法将文件存储在这个文件系统中,而不用说,在管理文件系统的数据库旁边运行一个单独的服务器。

我查看了 Large Objects输入 Postgresql,但我也担心安全隐患。对此有更好的解决方案吗?

最佳答案

将文件存储在数据库之外通常会更好,因为访问速度更快并且数据库大小保持较小。不利的一面是,您的应用程序将不得不在面对崩溃、事务中止等情况时管理数据库和文件系统之间的一致性。

我会用元数据存储文件的完整路径;将其拆分并不会节省很多,而且会使查询更加复杂。

为了保持数据库和文件系统之间的一致性,您始终可以先写入文件,永远不要删除文件,除非在特殊的垃圾收集运行期间,此时您还可以识别并删除孤儿。

如果文件存储在数据库中,bytea优于大对象,除非文件非常大或者需要分段读写。

关于database - Postgresql 数据库的文件存储系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51364182/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com