在Cassandra中存储二进制数据,就像MYSQL的BLOB二进制一样。

7

我们能否将二进制数据存储到Apache Cassandra中?

我在考虑将图片存储到Apache Cassandra中。

2个回答

6
卡桑德拉的公共API基于Thrift,没有流式传输能力——任何写入或获取的值都必须适合内存。这是Thrift设计的固有特性,因此不太可能改变。因此,将大型对象支持添加到卡桑德拉需要一个特殊的API,手动将大型对象分成几个部分。一种潜在的方法在http://issues.apache.org/jira/browse/CASSANDRA-265中进行了描述。与此同时的解决方法是,您可以将文件手动分割成您感到舒适的任意大小块,并使文件对应一行,其中块作为列值。
来源:CassandraLimitations

4

这取决于大小,Cassandra不适合存储大型二进制对象,每个列最多可以分成1 MB并存储2 GB。您可以将文件存储在文件系统中(或Web的CDN),并将链接和预览保存到Cassandra中,或者您可以查看MongoDB+GridFS。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接