gpt4 book ai didi

Cassandra 机架概念和数据库结构

转载 作者:行者123 更新时间:2023-12-04 14:45:09 25 4
gpt4 key购买 nike

我是 Cassandra 的新手,我想更多地了解 Cassandra 的机架和结构。

假设我在 Cassandra 中有大约 70 个列族和两个 AWS2 实例。

  • 将使用多少个数据中心?
  • 每个机架将有多少个节点?
  • 是否可以在多个键空间中划分列族?
  • 最佳答案

    让 Cassandra 了解逻辑机架和数据中心的目的是提供额外的容错级别。这个想法( as described in this document ,在“网络拓扑策略”下)是,如果一个机架或数据中心变暗,应用程序应该仍然能够运行。本质上, Cassandra ...

    places replicas in the same data center by walking the ring clockwise until reaching the first node in another rack. NetworkTopologyStrategy attempts to place replicas on distinct racks because nodes in the same rack (or similar physical grouping) often fail at the same time due to power, cooling, or network issues.



    这样,您还可以通过 LOCAL_QUORUM 查询您的数据,其中 QUORUM ((replication_factor/2) + 1) 仅从与协调器节点位于同一数据中心的节点计算。这减少了数据中心间延迟的影响。

    至于你的问题:
  • 使用多少数据中心完全取决于您。如果您只有两个 AWS 实例,则可以将它们放在不同的逻辑数据中心,但只有在您计划使用一致性级别 ONE 时才有意义。同样,如果一个实例出现故障,您的应用程序只需要担心找到另一个副本。但即便如此,snitch只能在一个实例或另一个实例上查找数据。
  • 同样,您可以为每个机架定义您希望拥有的节点数。但正如我在 #1 中指出的那样,如果您只有两个实例,将它们拆分到不同的数据中心或机架中并没有什么好处。
  • 我不相信将列族划分为多个键空间是可能的。但我想我知道你在说什么。每个 key 空间都将在每个实例上创建。由于您有 2 个实例,您将能够指定 1 或 2 的复制因子。如果您有 3 个实例,您可以将复制因子设置为 2,然后如果您丢失了 1 个实例,您仍然可以访问所有数据。由于您只有 2 个实例,您需要能够处理一个变暗的情况,因此您需要确保两个实例的每一行都有一个副本(复制因子为 2)。

  • 实际上,随着集群中节点数量的增加,逻辑数据中心/机架结构变得更加有用。只有两个,用额外的逻辑障碍分割它们几乎没有什么好处。有关更多信息,请通读我上面链接的两个文档:

    Apache Cassandra 2.0: Data Replication

    Apache Cassandra 2.0: Snitches

    关于Cassandra 机架概念和数据库结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22294555/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com