Cassandra的哪些限制使其在特定场景下不如其他数据库?

2026-05-25 11:520阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计941个文字,预计阅读时间需要4分钟。

Cassandra的哪些限制使其在特定场景下不如其他数据库?

当家庭使用Cassandra时,往往容易忽视Cassandra本身的限制。在Wiki中,我们可以看到Cassandra的局限性包括:

+ Cassandra的局限+ Cassandra的设计局限+ 这类局限是在当前体系结构中无法改变的。

大家在使用Cassandra的时候,往往容易忽视Cassandra本身的限制。

在Wiki中,我们可以看到Cassandra的限制:CassandraLimitations

Cassandra的设计限制

这一类限制是在当前的体系架构中无法改变的。

每一个key对应的value不能超过磁盘本身的容量限制。

这是因为Cassandra是将每一个key对应的value存储在本地磁盘上面的,所以当某一个key对应的vaule的大小超过了本地磁盘的容量上限,那么当Cassandra记录commitlog的时候就会失败,写入到SSTable中同样会失败。

这一点与Hadoop中的DFS不同,DFS是将本机分块存储的,所以无所谓文件的最大上限。

Cassandra当前的版本限制

这一类限制是在可以通过修改代码和版本升级改变的。

key的长度大小限制在65535之内

这个限制是由于Cassandra内部在将key写入到磁盘的时候,采用的是java.io.DataOutputStream.writeUTF(String, DataOutput),这个方法内部对key的大小有一个65535的限制。

阅读全文

本文共计941个文字,预计阅读时间需要4分钟。

Cassandra的哪些限制使其在特定场景下不如其他数据库?

当家庭使用Cassandra时,往往容易忽视Cassandra本身的限制。在Wiki中,我们可以看到Cassandra的局限性包括:

+ Cassandra的局限+ Cassandra的设计局限+ 这类局限是在当前体系结构中无法改变的。

大家在使用Cassandra的时候,往往容易忽视Cassandra本身的限制。

在Wiki中,我们可以看到Cassandra的限制:CassandraLimitations

Cassandra的设计限制

这一类限制是在当前的体系架构中无法改变的。

每一个key对应的value不能超过磁盘本身的容量限制。

这是因为Cassandra是将每一个key对应的value存储在本地磁盘上面的,所以当某一个key对应的vaule的大小超过了本地磁盘的容量上限,那么当Cassandra记录commitlog的时候就会失败,写入到SSTable中同样会失败。

这一点与Hadoop中的DFS不同,DFS是将本机分块存储的,所以无所谓文件的最大上限。

Cassandra当前的版本限制

这一类限制是在可以通过修改代码和版本升级改变的。

key的长度大小限制在65535之内

这个限制是由于Cassandra内部在将key写入到磁盘的时候,采用的是java.io.DataOutputStream.writeUTF(String, DataOutput),这个方法内部对key的大小有一个65535的限制。

阅读全文