0

随着我们的 Cassandra DB 的增长,我试图了解 Cassandra 的局限性。从“ http://wiki.apache.org/cassandra/Cas​​sandraLimitations ”中读取,它说单个分区中的最大单元数(行 x 列)为 20 亿。. 虽然“ http://www.pcworld.idg.com.au/article/373483/new_cassandra_can_pack_two_billion_columns_into_row/ ”表示它可以将 20 亿列打包成一行。我的理解是一行不会被分成不同的分区。因此,这意味着一个分区必须能够容纳超过 20 亿个单元格,这与第一篇文章形成鲜明对比。那么,真正的限制是什么?

4

1 回答 1

1

这些文章令人困惑,因为它们对同一事物使用了两个不同的名称。

Cassandra 列族中的任何给定行最多可以存储 20 亿列,并且同一列族中的下一行可能有另外 20 亿个与前一行截然不同的列。

宽行肯定会在磁盘上拆分为单独的 SSTable 文件,但它们不会在网络上进行分区。列在物理上进行排序(按名称)并彼此相邻存储在磁盘上。

Cassandra 压缩过程的目的是将行和列族的 SSTable 文件分组到尽可能少的文件中,以保持最大的性能,并且有不同的压缩选项可以为读取繁重和写入繁重提供更好的性能(默认) 情景。

于 2013-11-12T23:03:05.200 回答