Couchbase - 巨大数据库的价值驱逐至完全驱逐

时间:2016-06-15 15:17:37

标签: spring-data couchbase

我们的生产服务器具有大量数据和价值驱逐桶。由于我们的内存耗尽,我们决定将驱逐模式更改为完全驱逐。如果我们这样做

  1. 对现场操作有影响吗?
  2. 是否有任何进程在运行? (例如:重新平衡)
  3. 有什么优点和缺点?

1 个答案:

答案 0 :(得分:1)

  1. 是的。没有多少,但该操作需要同时在所有节点上重新启动memcached进程并预热缓存。因此,您当然会遇到停机时间。多少取决于几个因素。
  2. 不是我能想到的。它只需要重新启动进程。
  3. 优点:由于除了值之外现在还会弹出元数据,因此RAM中有更多空间。缺点:如果你的代码中有它来执行任何先检查对象是否存在的操作,那么它会慢得多。我会举个例子。如果执行upsert,则DB必须首先检查该对象是否作为进程的一部分存在。如果您正在运行值驱逐,它会检查RAM中的元数据对象是否超级快。该对象ID是否存在。如果你在完全驱逐下运行,现在Couchbase必须转到磁盘才能查看那里的元数据。正如您可能想象的那样,这会受到惩罚,这取决于某些因素可能很大。
  4. 国际海事组织,内存耗尽并不足以成为彻底驱逐的理由。你需要有一个功能性的原因。如果不了解更多信息(常驻比率,RAM大小,缓存大小等等),您可能最好添加更多服务器或更大的服务器,这是您的选择。与大多数数据库一样,保持Couchbase的大小,但特别是Couchbase对于运行良好的系统至关重要。如果您与Couchbase签订了企业合同,他们的支持团队可以为您提供帮助。如果没有,请在开启此功能之前仔细阅读本文档。就像我说的那样,除了“我正在耗尽RAM”之外,还有更改数据库工作方式的原因,否则你可能会弊大于利。