1

我正在考虑存储每行列数在 100-2.5 亿之间的数据,列族中最多有 2-3k 行。我将使用复合列来允许对数据进行切片,并将切片范围限制为可以在进程内存限制内处理的合理值。

一个 CF 将没有列值,只有具有 100-250 百万列的列名,而其他 CF 将具有相同数量的列,但每列值大约有 20-30kb 数据。

我假设切片不需要加载所有列名等来切片数据。

将有 5% 的行具有如此多的列数,其余的最多将有 15-20 百万。

任何人都尝试过 Column Family 中每行如此大量的列,性能如何......

如果上述工作正常,它可以为我节省大量管理多个 CF 的工作。

谢谢

4

1 回答 1

0

我处理的数据量与您所描述的数据量接近。范围切片不是很快,但在增加数据大小时并没有真正变慢,除了开销导致 cassandra 必须返回更多列。但是,最快的查询方法是如果您事先知道要查询的所有键。

您的设置几乎没有缺点,因为您没有使用超列并且具有扁平的数据结构,这正是 Cassandra 的优势所在,毕竟它是一个键值对存储。

于 2013-06-08T23:01:31.173 回答