【发布时间】:2012-10-01 17:15:50
【问题描述】:
使用 Play!2 和 Scala 处理文件上传到数据库的推荐方法是什么?
【问题讨论】:
-
注解:根据我的经验,将文件直接存储在数据库中通常不是一个好主意。将它们存储在文件系统中并在数据库中存储引用(路径)通常更有效。
-
在文件系统中存储文件是否可以很好地扩展?
-
嗯,这就是文件系统擅长的。根据您的情况(许多小文件或几个大文件、大量读取或写入、大量创建和/或删除……)某些文件系统可能比其他文件系统更好,但这是一个完全不同的问题,并且不相关到数据库。
-
@HenryHenrinson 您可以使用分布式位置来存储文件,所以我认为它可以具有足够的可扩展性。正如 mhs 所写,在大多数情况下,将文件存储在 DB 中只是比 FS 更昂贵,尤其是当它们非常大时。当带有文件的数据库增长时,创建备份变得越来越可怕。数据库操作也会变慢。
-
这是对的,存储在数据库中不是一个好主意。 Play1 提供了一种“将文件存储在数据库中”的简单方法,但实际上只存储了文件路径,文件本身位于目录中。我在 play2 anorm 包中看不到任何类似的机制。
标签: scala playframework playframework-2.0