IDE喜欢系统 - 用于存储的数据库或文件系统

时间:2012-02-28 20:45:38

标签: mysql sql ide filesystems

该项目是一个开源的 IDE系统,用于为学生编辑代码,更改图像,,运行代码等。

它包含档案/文件夹的上传,其特征是:

  • 上传档案,最多包含30个文件(txt,js,xul,xml,php,gif / png / jpg),av.size总计500kb
  • 用户可以编辑和分叉
  • 所有文件都可以通过Codemirror编辑(就像在jsfiddle上使用的那样)
  • 所有Gif / Png / Jpg都可以更换(每个档案10到40个)
  • 我们预计每天至少有1000个新的上传/分叉,平均有20个文件,总分最小。 500 mb

我们的环境:

  • PHP
  • 最有可能的MySQL数据库
  • 的Linux

要考虑:

  • 我们要求搜索全局范围内的文件夹/文件
  • 用户保存的数据是原样的,从来没有任何必要的更改

国家的最发展:

  • 准备除了存储问题及其所有依赖项

您会建议使用SQL还是简单的文件系统?

在开始项目之前,我们100%确定使用MySQL,但是增加了图像修改功能和不断增长的数据库(atm 80 / k文件,2GB),我们很难。阅读here也让我们犹豫不决。

MYSQL的优势无疑是系统的易维护性和简单的未来重组。 虽然它可以快速搜索到一个巨大的数据库。

通过使用全局php入口文件来读取基于URL参数的Filesystem,可以省略搜索并直接显示带有内容的获取目录。

我们在管理大数据方面缺乏经验,并且依赖于已经面临这种情况的人的经验。

请不要只是投票支持数据库或文件系统,而是考虑自己的提示,以便让这个环境更有效地运行(例如indexing,结构,表格等。)或详细说明你的决定。

非常感谢你的任何提示

btw,该项目将在git

上托管

1 个答案:

答案 0 :(得分:1)

我认为最好的选择是文件系统考虑您的要求。这个选择的优点是

  1. 更好的数据库性能,因为该表只保存指向存储文件的文件系统的链接。
  2. 备份数据库更容易。
  3. 您可以通过定义规则将文件存储在不同的位置。这使您可以灵活地管理存储。
  4. 当我们遇到在服务台应用程序中存储附件的类似问题时,我们选择使用文件系统。直到现在一切都按预期工作。

    我希望我的回答对你有所帮助。