首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web应用程序的文件存储:文件系统对DB和NoSQL引擎

Web应用程序的文件存储:文件系统对DB和NoSQL引擎
EN

Stack Overflow用户
提问于 2010-05-23 01:56:14
回答 4查看 26.9K关注 0票数 35

我有一个web应用程序,它存储大量用户生成的文件。目前,这些文件都存储在服务器文件系统上,这对我来说有几个缺点。

当我们移动“文件夹”(由我们的应用程序定义)时,我们还必须将文件移动到磁盘上(尽管这更多地是由于原始开发人员的奇怪的设计决策,而不是要求在filesystem).

  • It's上存储东西,很难为文件系统操作编写测试;我有一个模拟文件系统类,它记录诸如move、delete等操作,而不执行这些操作,这或多或少是完成工作的,但我对测试没有100%的信心。

  • 我将添加一些其他作业,它们需要访问其他服务中的文件来执行其他任务(例如,在Solr中索引、生成缩略图、电影格式转换),所以我需要远程获取文件。在网络共享上这样做似乎是dodgy...

  • Dealing具有文件系统上的权限,这在过去有时会给我们带来问题,尽管现在我们已经转移到了一个纯Linux环境中,这应该不是什么问题。

所以,我的主要问题是

在Cassandra?

  • Does中将文件存储为BLOB的缺点是什么?

  • 与NoSQL系统存在相同的问题吗?任何人都有其他可能合适的建议,例如MogileFS等?
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-05-23 15:31:21

不是一个直接的答案,而是一些指向非常有趣和类似的问题的指示(是的,它们是关于气泡和图像的,但这是国际海事组织可比的)。

在MySQL中将文件存储为BLOB的缺点是什么?

,像卡桑德拉这样的NoSQL系统也存在同样的问题吗?

PS:我不想让人扫兴,但我不认为任何NoSQL解决方案都能解决你的问题(NoSQL对大多数企业来说都是无关紧要的)。

票数 9
EN

Stack Overflow用户

发布于 2010-05-23 01:59:59

也许是一种混合解决方案。

使用数据库存储每个文件的元数据,并使用文件系统实际存储文件。

对“文件夹”的任何重组都可以在DB中建模,并从实际的OS位置取消引用。

票数 4
EN

Stack Overflow用户

发布于 2010-05-23 22:30:57

通过将文件分割成大约1MB的列,可以轻松地在Cassandra中存储高达2GB的文件。这很常见。

您也可以将其存储为一个大列,但是在访问它时,必须将整个内容读入内存。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2890452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档