我是一名本科生,还没有使用过任何实际的数据库,所以如果我误解/误用任何术语,我深表歉意。我的问题来自我的一项作业,但这是我学习的尝试,而不是让我做作业。
任务,解释一下:
某大学的打印服务允许校园内的学生将文件上传到系统,并将上传的文件发送到大学的一台打印机进行打印...系统记录所有学生完成的所有打印,记录学生的 ID、使用哪台打印机、打印文件的名称以及打印时间。系统管理员应该能够查看过滤到任何学生、打印机和/或时间段的日志文件(据我所知,这需要索引)。
我遇到的一个问题是我应该使用哪种数据存储方法(数据库或文件系统)来存储学生的文件和日志文件,这两者都是频繁增长的数据。
从这个SO问题我了解到,频繁更新的文件最好存储为文件系统存储,并且从这个问题可以将文件存储在带有blob的数据库中。
我的问题是:
- 日志文件应该存储在数据库还是文件系统中?(或者我认为决定性的问题是“是否可以在不建立索引的情况下按多个值进行过滤?”)
- 如果学生文件与数据库表中与学生相关的 blob 一起存储,是否每个学生只能访问自己的文件?
- 为什么文件系统更适合频繁增长的文件?
- 服务器是否可能(或实用)同时使用数据库和文件系统?