performance - Cassandra 性能: split CF or not?

标签 performance cassandra

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

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

我使用 RDBMS 的经验表明,最好将非常大的表拆分为较小的表以获得更好的性能,但似乎在 Cassandra 中不需要这样做,而且,如果我有很多列族,我会这样做需要更多内存。我对吗?为了获得更好的性能,在列族中保留许多行是否比将列族拆分为许多行更好?

谢谢!

最佳答案

Cassandra 中无需对列族进行分片。只要您拥有存储空间和存储数据的机器,您就可以在一张 CF 中放入尽可能多的数据。然而,需要考虑的一件事是,使用许多较小的机器会比使用一些具有真正大驱动器的机器获得更好的性能。而且您不想将所有数据放在共享存储上。 Cassandra 通过并行顺序读取和写入来提高速度。

您确实需要注意的一件事是无限制的行增长 - 即。以无限制的方式向行添加列。这是一个非常容易解决的问题,如果需要的话可以通过分片键来解决。但即便如此,您也可以连续写入数百万列。

关于performance - Cassandra 性能: split CF or not?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14650926/

相关文章:

javascript - 当javascript文件全部合并到一个文件中时,它们的顺序是否重要?

Ruby 效率

Cassandra 用于时间序列数据 : how to size the partition?

playframework - 在虚拟机上 Play Framework 2性能问题

c++ - Xeon 每次内存访问会将多少字节带入缓存?

iphone - iOS:使用没有文件扩展名的 [UIImage -imageNamed:] 会导致性能问题吗?

javascript - Cassandra 连接最佳实践

cassandra - 无法更新 Cassandra 中的复制因子

iphone - 如何防止核心动画阻塞我的主线程?

memory - Cassandra 吃掉内存