我正在制作一个允许用户上传文件(图片和其他类型)的网站。我在这个领域没有任何经验,希望得到一些有关正确存储和索引这些文件的意见。
虽然我希望拥有一个良好的架构来承载大量数据,但目前我并不担心像Facebook、Google那样的极高数据量。
我考虑将文件存储在文件系统中的
/files/{username}/
然后拥有一个名为
uploads
的数据库,每个用户都有自己的表格,其中包含他上传的每个文件(因此也包含URL),以及我想要存储的任何其他额外信息。
然而,将每个用户分配一个独立的表格似乎非常低效,而在单个表格中维护所有文件的记录也不正确,因为每次访问单个文件时都需要搜索整个表格。
我考虑给每个用户分配自己的表格是因为这是一种整洁而独特的方式来将数据分片到表格中,并减少查找时间,以便找到给定用户的文件。