Cassandra 卡桑德拉能处理一个包含200亿条信息的表格吗?

Cassandra 卡桑德拉能处理一个包含200亿条信息的表格吗?,cassandra,Cassandra,我知道Cassandra具有很大的可扩展性,但它目前有一个 用于存储20亿条单独的信息 现在,假设我想在一个表中存储信息,我有200亿个数据点。例如,每个用户可以存储多个设备(台式PC、移动设备等),而地球上有70多亿个人(可能的用户)。由于每人拥有多台设备,数据集可以达到200多亿条记录 卡桑德拉能应付这种情况吗?如果可能的话,怎么做 如果没有,如何处理这种情况 是的,卡桑德拉可以存储200亿或更多的单个数据。 单个分区中的最大单元数(行x列)为20亿 这是你提到的,但比你的解释更具体。具体来

我知道Cassandra具有很大的可扩展性,但它目前有一个 用于存储20亿条单独的信息

现在,假设我想在一个表中存储信息,我有200亿个数据点。例如,每个用户可以存储多个设备(台式PC、移动设备等),而地球上有70多亿个人(可能的用户)。由于每人拥有多台设备,数据集可以达到200多亿条记录

  • 卡桑德拉能应付这种情况吗?如果可能的话,怎么做
  • 如果没有,如何处理这种情况
  • 是的,卡桑德拉可以存储200亿或更多的单个数据。 单个分区中的最大单元数(行x列)为20亿

    这是你提到的,但比你的解释更具体。具体来说,这个限制是针对单个分区的。如果要在一个分区中插入最多2 x 109条记录,则至少需要10个单独的分区来共同存储假设的20B记录。创建10个分区很容易

    这是对原始问题中“如何”的回答:当应用程序开发人员将数据分割到多个分区时,Cassandra的扩展超出了此限制。

    事实上,一个设计良好、健康的Cassandra集群将由数千或数百万(或更多)个单独分区组成。虽然理论上每个分区可以包含一组唯一的20亿个数据点,但在实践中,您不太可能看到分区增长到那么大,并且您不应该为了达到该限制而设计模式。(毕竟,这是一个限制,应该避免。)

    Cassandra集群中的单个节点(单独的机器)可以存储多个分区,但每个分区的数据必须能够完全驻留在一个节点中。当对其数据进行更改时,该节点还必须对分区执行排序操作。您可以想象,在接近10亿个数据点的任何位置进行排序都需要相当长的时间。相反,Cassandra希望您通过将数据分布到多个节点来“大规模”扩展工作。生产集群可以很容易地由几十个、数百个甚至数千个单独的节点组成

  • 通过跨多个分区分割数据,避免接近2B/分区限制
  • 根据其磁盘容量,每个节点将能够容纳有限数量的分区
  • 通过向集群添加更多节点,从而在更多磁盘上分发相同的数据,避免受到磁盘空间的限制
  • 是的,卡桑德拉可以存储200亿或更多的单个数据。 单个分区中的最大单元数(行x列)为20亿

    这是你提到的,但比你的解释更具体。具体来说,这个限制是针对单个分区的。如果要在一个分区中插入最多2 x 109条记录,则至少需要10个单独的分区来共同存储假设的20B记录。创建10个分区很容易

    这是对原始问题中“如何”的回答:当应用程序开发人员将数据分割到多个分区时,Cassandra的扩展超出了此限制。

    事实上,一个设计良好、健康的Cassandra集群将由数千或数百万(或更多)个单独分区组成。虽然理论上每个分区可以包含一组唯一的20亿个数据点,但在实践中,您不太可能看到分区增长到那么大,并且您不应该为了达到该限制而设计模式。(毕竟,这是一个限制,应该避免。)

    Cassandra集群中的单个节点(单独的机器)可以存储多个分区,但每个分区的数据必须能够完全驻留在一个节点中。当对其数据进行更改时,该节点还必须对分区执行排序操作。您可以想象,在接近10亿个数据点的任何位置进行排序都需要相当长的时间。相反,Cassandra希望您通过将数据分布到多个节点来“大规模”扩展工作。生产集群可以很容易地由几十个、数百个甚至数千个单独的节点组成

  • 通过跨多个分区分割数据,避免接近2B/分区限制
  • 根据其磁盘容量,每个节点将能够容纳有限数量的分区
  • 通过向集群添加更多节点,从而在更多磁盘上分发相同的数据,避免受到磁盘空间的限制

  • 世界人口只有70亿。你将如何进入200亿的记录?你的要求毫无意义。@Raedwald编辑完成了。世界人口只有70亿。你将如何进入200亿的记录?您的要求毫无意义。@Raedwald Edit Make.Thumb up for“事实上,一个设计良好、健康的Cassandra集群将由数千或数百万(或更多)个单独分区组成”,感谢William的回答,但由于有更多关于Cassandra限制和解释的其他文档,这似乎仍然令人困惑。到目前为止,我所理解的是-1。使用分区键,我们可以创建任意数量的分区2。在每个分区(每行)中,它可以有2B列值。分区!=一行列按行存储。行存储在分区中。分区存储在节点中。一个或多个节点组成集群。所有这些术语都是不同的东西。一个分区中所有行的所有列的计数必须为@William。请检查以下链接?
    。事实上,一个直截了当的例子很容易理解和解释