gpt4 book ai didi

ruby-on-rails - 从文件系统而不是数据库提供我的文本?

转载 作者:数据小太阳 更新时间:2023-10-29 07:33:15 25 4
gpt4 key购买 nike

我正在开发一个内容管理应用程序,其中存储在数据库中的数据非常通用。在这个特定的例子中,一个容器有很多资源,这些资源映射到某种数字 Assets ,无论是图片、电影、上传的文件还是纯文本。

我已经和一位同事争论了一个星期了,因为除了存储图片等之外,他们还想将文本 Assets 存储在文件系统上,并让应用程序查找文件位置(从数据库中)并在服务于客户端应用程序之前读入文本文件(从文件系统)。

常识似乎对我尖叫,这太荒谬了,如果我们费心从数据库中查找某些内容,我们不妨将文本存储在数据库列中,并将其与行查找一起提供。数据库查找 + 文件 IO 听起来比数据库查找慢得无法控制。来来回回一段时间后,我决定运行一些基准测试,发现结果有点令人惊讶。在基准时间方面似乎几乎没有一致性。基准测试中唯一明显的赢家是从数据库中提取大型数据集并迭代结果以显示文本 Assets ,但是一次从数据库中提取一个对象并显示其文本内容似乎是并驾齐驱。

现在我知道运行基准测试的局限性,我什至不确定我运行的“测试”想法是否正确(例如,文件系统写入比数据库写入快得离谱,我不知道!)。我想我的问题是为了确认。文件 I/O 是否可与数据库文本存储/查找相媲美?我在这里错过了一部分论点吗?提前感谢您的意见/建议!

A quick work about what I am using: This is a Ruby on Rails application, using Ruby 1.8.6 and Sqlite3. I plan on moving the same codebase to MySQL tomorrow and see if the benchmarks are the same.

最佳答案

不使用文件系统的主要好处是数据库将正确管理并发访问。假设 2 个进程需要同时修改相同的文本,与文件系统的同步可能会导致竞争条件,而数据库中的所有内容都没有问题。

关于ruby-on-rails - 从文件系统而不是数据库提供我的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1096635/

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