【问题标题】:Cassandra schema design viabilityCassandra 模式设计可行性
【发布时间】:2012-05-08 00:54:44
【问题描述】:

我正在为我的一个项目评估 cassandra,我很想知道具有数百万列族和数百万行的基本 cassandra 模式设计的可行性。每行的上限为 30,000 列。这是分布式 cassandra 集群(5-10 个节点)的可行设计,还是我遗漏了什么?

我也很想知道在一个事务中从单行中检索所有列的可行性。我想这样做的原因是在将它们返回给用户之前按它们的值对它们进行排序。

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    数以百万计的列族目前在 cassandra 中不可行。最近版本的上限是数千。此外,您描述的数据集(数百万 cfs x 数百万行)表明至少有 1 万亿行。当然,这取决于集群的具体情况,但是这个行数/数据量将需要比 5-10 个节点更大的集群。 Cassandra 有很多中型节点,而不是非常大和强大的节点。

    关于一次检索所有列,默认的最大请求大小为 15mb。这可以更改,但您几乎可以肯定不想更改它。您的查询很可能不应该接近最大请求,因为像这样的大型分配在 JVM 上是困难的。是否有理由需要在单个事务中进行?您可以轻松地在几个请求中翻阅一行以获取所有列,然后在该点进行排序。

    【讨论】:

    • 感谢您的回答。自从我的原始帖子以来,我已将其范围缩小到具有数百万行和数千列的几个列族。关于最大查询大小的信息非常有用。我想一次获取尽可能多的行,以尽量减少到服务器的往返次数。
    猜你喜欢
    • 1970-01-01
    • 2013-09-04
    • 2016-03-23
    • 2017-04-17
    • 2023-04-06
    • 2013-05-03
    • 1970-01-01
    • 2017-02-24
    • 2010-11-29
    相关资源
    最近更新 更多