我想在数据库中存储大量声音文件,但是我不知道这是一个好习惯。我想知道这样做的利弊。
我还考虑了与这些文件建立“链接”的可能性,但这也许会带来比解决方案更多的问题。对此方向的任何经验都将受到欢迎:)
注意:数据库将是MySQL。
我所知道的每个存储大量大文件的系统都将它们存储在数据库的外部。您将文件的所有可查询数据(标题,艺术家,长度等)以及文件的部分路径存储在数据库中。当需要检索文件时,您可以提取文件的路径,在其前面添加一些文件根(或URL),然后将其返回。
因此,您将有一个“位置”列,其中包含部分路径,例如“ a / b / c / 1000”,然后将其映射到:“ http:// myserver / files / a / b / c /1000.mp3 ”
确保您有一种简便的方法将媒体数据库指向其他服务器/目录,以防万一需要进行数据恢复。另外,您可能需要一个例程,该例程将数据库与文件归档的内容重新同步。
此外,如果您要拥有成千上万个媒体文件,请不要将它们全部存储在一个巨型目录中-这是某些文件系统上的性能瓶颈。而是将它们分解为多个平衡的子树。