gpt4 book ai didi

database - 为什么不将文件存储在数据库中?

转载 作者:太空狗 更新时间:2023-10-30 01:51:55 25 4
gpt4 key购买 nike

在将部署在 heroku 上的应用中....

我需要允许用户上传缩略图。

heroku 部署的应用程序当然没有持久的本地文件存储。

这里的典型做法是谷歌搜索,似乎是将文件存储在 Amazon S3 或可能是其他 AWS 托管的云存储中。

但是如果我只是将图像粘贴到 postgres blob 列中呢?

这样做的缺点是什么?好处是,不必为其他存储付费,不必处理额外的外部系统,而这些外部系统有更多的错误和中断机会。但似乎没有人这样做肯定有一些充分的理由,它们是什么?

最佳答案

数据库和S3是两种不同的存储机制。它们有何不同?

关于 S3

Amazon S3 是一个高度特化的文件存储系统。它最大限度地减少了您可以对基本读/写/删除文件操作执行的操作,并优化了缓存以提供存储的整个文件的数据。

关于 Postgres

Postgres 是一种 SQL 关系数据库,具有极大的灵 active ,可以为各种操作存储和索引数据。您可以很好地将二进制图像数据填充到 Postgres 中的一行中。

比较成本/可扩展性

为什么选择 S3 而不是 Postgres?成本和可扩展性。 Postgres 是一个昂贵的、高技能的多面手。在 Heroku 上,根据数据量和流量规模,运行 Postgres 数据库可能每月花费数百或数千美元。

Amazon S3 是一种价格低廉且高度可扩展的解决方案,可完美满足您的需求(编写图像,在网页上下文中提供图像)。

TL;DR:Amazon S3 针对图像等文件进行了高度优化,高度可扩展且相对便宜。

关于database - 为什么不将文件存储在数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18981628/

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