每个节点是否需要能够容纳完整的数据库?

Does each node need to be able to hold the full database?

理论上,我可以拥有 10,000 个节点,所有节点都具有 1 gig hd,并在它们之间存储 100 gig db 吗?

我需要为此设置某些选项吗?或者我需要的配置?

谢谢。

每个节点不需要保存整个数据库。

cockroach 二进制文件检查它 运行 所在的机器并找到可用磁盘 space;此信息通过 Gossip 协议与其他节点共享,Cockroach 通过算法决定如何最好地存储数据(由您的 Replication Zones 控制)。

但是,可用的聚合磁盘 space 应该大于数据库大小的 3 倍。例如,一个 100gig 的数据库在集群中的 all 机器上总共需要至少 300gigs。

回答您的后续问题:

  • 理论上你可以有 10,000 个节点,每个节点有一个 1gig 的硬盘驱动器,在它们之间存储一个 100gig 的数据库。但这并不现实,因为 Cockroach 目前(从 1.0.1 开始)可能在 10,000 个节点通信时出现一些问题。 Cockroach Labs 只是还没有测试过那个体积的任何东西。
  • 不需要特殊设置或配置。就像我提到的,一切都是通过算法处理的。