Couchbase索引大小调整

Couchbase索引大小调整,couchbase,Couchbase,我有一个集群和一个节点 社区版本5.1.1构建5723。 我正试图找出磁盘需求 我有大约3.2亿个文档,250G的数据(压缩后) 和4个GSI指数 文档键长60个字符,索引键长42个字符和一个数字(长) 使用{“延迟构建”:true}从发送历史(从,块号)创建索引 当我使用单个2 Tera SSD时,磁盘空间用完了 我删除索引,只运行其中一个(如上面的示例),大小达到800 gig,但在压缩后,它只打开100 gig 此特定索引将保存所有文档,其余索引将更小 在我看来,我需要1 TB的ssd来存

我有一个集群和一个节点

社区版本5.1.1构建5723。 我正试图找出磁盘需求

我有大约3.2亿个文档,250G的数据(压缩后) 和4个GSI指数

文档键长60个字符,索引键长42个字符和一个数字(长)

使用{“延迟构建”:true}从发送历史(从,块号)创建索引

当我使用单个2 Tera SSD时,磁盘空间用完了

我删除索引,只运行其中一个(如上面的示例),大小达到800 gig,但在压缩后,它只打开100 gig

此特定索引将保存所有文档,其余索引将更小

在我看来,我需要1 TB的ssd来存储数据,2 TB?甚至更多(单独的磁盘)用于索引,但这是压缩要求的唯一原因

我的问题是:

  • 如何计算最准确的磁盘大小
  • 减小尺寸的最佳方法是什么

    • 文档密钥不能更短
  • 谢谢,
    Ady.

    以下是沙发床的一般尺寸指南:

    Couchbase使用Snappy库以压缩格式存储文档。它这样做已经有相当一段时间了(如果我没弄错的话,从3.x版开始)。CB 5.5企业版中的新特性处理在RAM中压缩文档;这是一个每桶设置

    您的特定设置存在一些性能问题:

    • 在单个节点上运行大型数据集,并混合使用键/值操作和N1QL查询。至少,应该考虑具有足够RAM、CPU和磁盘空间的多个节点。
    • 你应该考虑优化索引。你的帖子中的索引定义将有3200多条记录。这里有一篇文章可以帮助您入门(查看部分索引部分):

    Couchbase N1QL指南中也有大量N1QL信息(可通过PDF下载):

    以下是Couchbase的一般尺寸调整指南:

    Couchbase使用Snappy库以压缩格式存储文档。它这样做已经有相当一段时间了(如果我没弄错的话,从3.x版开始)。CB 5.5企业版中的新特性处理在RAM中压缩文档;这是一个每桶设置

    您的特定设置存在一些性能问题:

    • 在单个节点上运行大型数据集,并混合使用键/值操作和N1QL查询。至少,应该考虑具有足够RAM、CPU和磁盘空间的多个节点。
    • 你应该考虑优化索引。你的帖子中的索引定义将有3200多条记录。这里有一篇文章可以帮助您入门(查看部分索引部分):

    Couchbase N1QL指南(可下载PDF格式)中也有大量N1QL信息:

    tx历史存储桶中有多少文档?3.2亿和不断增长的Couchbase 5.5+支持压缩。geuss将在某种程度上有助于节省存储。5.5是企业版,我是community.FWIW的一员。community edition使用的是一个较旧的存储引擎,用于GSI索引,这对于这些大规模使用案例来说不是最理想的。在没有看到日志和统计数据的情况下,我假设您更多地遇到了写放大问题,而不是稳态大小调整问题(尽管有人可能会说这两者没有区别……无论如何都需要磁盘空间)。您是否在3200万项之上从头开始建立新索引?最好先创建索引,然后逐步添加项目,看看是否有差异。这将使您更好地了解稳态大小。tx历史记录存储桶中有多少文档?3.2亿和不断增长的Couchbase 5.5+支持压缩。geuss将在某种程度上有助于节省存储。5.5是企业版,我是community.FWIW的一员。community edition使用的是一个较旧的存储引擎,用于GSI索引,这对于这些大规模使用案例来说不是最理想的。在没有看到日志和统计数据的情况下,我假设您更多地遇到了写放大问题,而不是稳态大小调整问题(尽管有人可能会说这两者没有区别……无论如何都需要磁盘空间)。您是否在3200万项之上从头开始建立新索引?最好先创建索引,然后逐步添加项目,看看是否有差异。这将使您更好地了解稳态尺寸。