数据文件是否应存储在数据库存储在同一台计算机(服务器)上?

时间:2011-05-24 19:59:10

标签: database url networking storage

目前在我们的研究小组中,我们在三台服务器和一些运行不同操作系统的个人计算机上存储了许多“数据文件”。

我们希望构建一个数据库,除了这些各种“数据文件”的URL之外,还会存储一些信息。我的问题是,我们是否必须复制所有数据文件并将它们放在数据库所在的同一服务器的目录中?或者它们可以保留在不同的计算机上吗?如果第二种情况没问题,那么“数据文件”网址的格式是什么?

3 个答案:

答案 0 :(得分:0)

不确定你在这里问的是什么......

如果您希望数据库引擎读取填充了数据的文件,那么存储它们的位置可能无关紧要 - 尽管这可能取决于您使用的数据库。你在使用MySQL吗? MS-SQL Server?甲骨文?

许多数据库供应商提供相对易于使用的管理工具,可让您选择要加载的文件,通常文件选择器dialoge允许您浏览网络,以便您可以通过网络加载文件。有关如何执行此操作的详细信息有所不同,请参阅数据库引擎的手册,以便从预先存在的文件中加载数据。

请注意,如果数据库位于计算机A上并且数据是通过网络从计算机B加载的,那么它可能比数据与数据库在同一台计算机上的速度慢。

答案 1 :(得分:0)

无论如何文件都存储在数据库之外并不重要。

有关该广告的更多信息,请参阅Storing Images in DB - Yea or Nay?

如果网址可以访问的文件,您可以使用元数据存储该文件,例如
http://server1/folder/file.ext,file:// \ server1 \ folder \ file.ext或“file:// P:\ folder \ file.ext”

需要考虑的事项:

  • 备份
  • 性能
  • 元数据与数据之间的同步

答案 2 :(得分:0)

这实际上取决于您的目标是什么以及您目前的设置是什么

  • 如果文件当前位于网络上的某个位置,并且您需要应用程序可用于访问它们的路径,则只需存储网络路径(Windows环境中的\\server\share\file)数据库,然后读取它并访问该路径以访问文件。您需要确保每个人都具有对它们的读取权限。

  • 如果目前通过内部或外部网站网址访问这些文件,那么您只需要存储该网址(或其中某些部分)(http://mywebsite.com/myfilehttp://servername/myfile)并访问。

  • 如果上述任何一个目前都不正确,但您希望它们是,那么您需要设置一个新的共享/网络服务器并将文件放在那里。并不要求这是与数据库相同的服务器,但如果是这样的话,它可以提供更好的备份。

  • 如果您希望文件本身位于数据库中,则应查看Bob Fanger的链接。