gpt4 book ai didi

cassandra - 在 Cassandra 中存储媒体文件

转载 作者:行者123 更新时间:2023-12-04 03:38:42 24 4
gpt4 key购买 nike

我试图将音频/视频文件存储在数据库中。

Cassandra 能做到吗?如果是,我们如何将媒体文件存储在 cassandra 中。

如何在 cassandra 中存储元数据和原始音频文件

最佳答案

是的,Cassandra 绝对能够将文件存储在其数据库中,作为“blob”,字节字符串。

但是,对于此用例, 不是 的理想选择:

首先,您受到 blob 大小的限制。硬限制是 2GB 大小,所以大视频是不可能的。但更糟糕的是,Datastax(Cassandra 开发背后的商业公司)的文档表明,即使 1 MB (!) 也太大了 - 请参阅 https://docs.datastax.com/en/cql/3.1/cql/cql_reference/blob_r.html

巨大的 blob 成为问题的原因之一是 Cassandra 没有提供用于获取它们的一部分的 API - 您需要在一个 CQL 操作中读取(和写入)一个 blob,这会引发各种问题。因此,如果您想在 Cassandra 中存储大文件,您可能希望将它们分成许多小块 - 而不是一个大块。

下一个问题是,当数据库包含文件时,Cassandra 的某些实现效率低下(即使拆分为一堆较小的 blob)。问题之一是压缩算法,它最终会一遍又一遍地(对数次数)将所有数据复制到磁盘上;为存储文件而优化的实现将分别保存文件数据和元数据,并且仅“压缩”元数据。不幸的是,Cassandra 和 Scylla 都没有实现这样的文件格式。

总而言之,您最好将元数据存储在 Cassandra 中,而将实际文件内容存储在不同的对象存储实现中。

关于cassandra - 在 Cassandra 中存储媒体文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47161185/

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