对以下问题有什么好的解决方案 -
我有44秒的10秒音频剪辑。这使得文件(.ogg或.wav格式)类似于7056000位(10secs * 44.1 * 10 ^ 3样本/秒* 16位/样本(例如PCM)(??))或者说0.85MB。顺便说一句,如果我的信封计算结束了,请更正。
无论如何,我有这些音频片段。我想将它们保存在Web数据库中,并尽快检索它们以发送给请求客户端。长期存储不是一个问题。
鉴于我想做什么,我应该使用什么样的现代数据库技术来做到这一点?我是否会将文件上传到存储库并将其文件路径保存在数据库中?然后让客户在请求时下载它们?抱歉范围广,但这适用于网络项目。
答案 0 :(得分:1)
我使用Azure存储blob几乎是一样的。它超级便宜,比任何数据库解决方案都便宜。
答案 1 :(得分:1)
所以基本上你的问题是哪里是存放短片的最佳位置&基本上是BLOB( B inary L arge OB ject)数据库中的数据,或者只是数据库中引用文件系统的文件指针或甚至是URL?
在我看来,将二进制数据存储在数据库中绝不是一个好主意。它使数据库复杂化,使数据库备份和恢复痛苦。如果数据库崩溃,那么就把它全部置于危险之中。特别是如果您正在使用的数据增长&增长。
我建议只使用数据库来存储文件路径。或者也许只是代码库逻辑的文件名在某种程度上处理路径逻辑。只需要获取数据库中剪辑的基本位置即可。
剪辑本身应存储在文件系统中。它不会比DB更累或更快/更慢。以及更好的长期可扩展性设置。
DB做了它最擅长的事情。文件系统做了它最擅长的事情。而你的代码将两者结合起来以平衡两者。