【发布时间】:2018-07-18 18:10:48
【问题描述】:
最近在面试一份工作时,有人问我,如果我正在构建视频流服务,我会使用什么存储系统来存储视频数据。
我提出了一个解决方案,我将实际视频存储在分布式文件系统(例如 HDFS/S3)上,并将有关视频的元数据(HDFS 的路径、共享权限等)存储在关系数据库表中。这对我来说很有意义,并且似乎是一个干净的解决方案。然而,面试官一直问我为什么我们不能使用关系数据库来存储实际的视频本身(作为 blob 数据)。我给了他一些我认为合适的理由——视频是文件,文件系统经过优化可以更好地存储文件、文件系统缓存、读/写性能等。但他对一切的反驳是——“你可以用数据库来做到这一点好...”。
是否有明确的理由说明视频作为文件而不是 mysql 数据库更好地存储在磁盘上?
【问题讨论】:
标签: architecture filesystems relational-database system-design