Cassandra表现:分裂CF与否?

时间:2013-02-01 16:38:31

标签: performance cassandra

我正在设计一个Cassandra数据库来了解它。但我有一个问题,我希望有专家帮助我澄清一下:

我已经读过每个列族的行通过节点分布,因此每个节点都有给定列族的一部分行。是否意味着将列族划分为多个列族并不是一个好主意,即使该列族有数百万行也是不明智的?

我对RDBMS的经验表明,最好将非常大的表分成较小的表以获得更好的性能,但似乎在Cassandra中不需要这个,甚至更多,如果我有很多列族,我会需要更多记忆。我对吗?是否更好地保留列族中的许多行以获得比在多列中拆分列族更好的性能?

谢谢!

1 个答案:

答案 0 :(得分:3)

没有必要在Cassandra中对列族进行分片。您可以将多少数据放在一个CF中,因为您有存储空间和机器来存储它。但是,要考虑的一件事是,使用许多小型机器可以获得比使用大型驱动器的机器更好的性能。而且您不希望将所有数据放在共享存储上。 Cassandra通过并行顺序读写来获得速度。

你要注意的一件事是无限的行增长 - 即。以无限制的方式向行添加列。如果需要,可以通过分割密钥来解决这个问题。但即使这样,你也可以连续写出数百万列。