gpt4 book ai didi

architecture - 用于存储视频数据的关系数据库

转载 作者:行者123 更新时间:2023-12-04 15:56:40 24 4
gpt4 key购买 nike

最近在面试工作时,有人问我如果要构建视频流服务,我将使用什么存储系统来存储视频数据。

我提出了一个解决方案,将实际视频存储在分布式文件系统(如 HDFS/S3)上,并将有关视频的元数据(HDFS 路径、共享权限等)存储在关系数据库表中。这对我来说很有意义,而且似乎是一个干净的解决方案。然而,面试官一直盘问我为什么我们不能使用关系数据库来存储实际视频本身(作为 blob 数据)。我给了他一些我认为合适的理由——视频是文件,文件系统经过优化以更好地存储文件、文件系统缓存、读/写性能等。但他对一切的反驳是——“你可以用数据库来做到这一点出色地...”。

与 mysql 数据库相比,将视频作为文件存储在磁盘上有更好的理由吗?

最佳答案

为了获得更好的可扩展性,最好将视频文件存储在不同的存储设备上,以便更好地利用与数据库的连接。提供视频文件可能会保持连接很长时间。通过这种方法,您可以使用单独的服务来提供实际视频。更多的优势是,当您的服务必须以新格式提供视频时,当您将所有现有视频转换为新格式时,更新数据库将花费更少的时间,因为您只需添加指向新格式文件的链接。此外,在对数据库进行分片时,您永远不会知道哪个分片会有更多负载,将存储添加到单个池比将存储添加到不同分片后面的不同池更好。

将视频保存在同一个数据库中对于系统的可维护性来说是灾难性的。

关于architecture - 用于存储视频数据的关系数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51408470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com