gpt4 book ai didi

performance - CouchDB 中允许的最大 View 是多少

转载 作者:行者123 更新时间:2023-12-04 03:19:24 25 4
gpt4 key购买 nike

我正在构建一个流量跟踪应用程序。我最终使用 CouchDB 来存储所有流量日志,应用程序可以根据用户的查询和自定义数据动态创建 View 。

我想创建数千(或可能多达数百万)个 View 。有限制吗?太多 View 会影响 CouchDB 性能吗?

最佳答案

观看次数没有硬性限制。不过,我会推荐一些东西:

首先,将您的 View 分解到许多设计文档中。我的第一个想法是每个用户 1 个,但您可能可以根据您实际拥有的 View 数量进一步分割它们。

View 按设计文档进行内部分组,这会影响 View 的重建时间、存储位置等。因此,保持事物分区将有助于防止 1 个用户的 View 影响任何其他用户的性能。

此外,如果不定期压缩数据库,每个文档(包括设计文档)都会在不同的写入过程中保留旧副本,这也是 CouchDB 使用大量磁盘空间的原因之一。 (它使用更多的磁盘空间来换取快速写入的能力)

其次,对 View 中 emit() 的值要非常保守。避免诸如 emit(key, doc) 之类的事情。如果您在 View 中发出整个文档,它将被视为 View 索引的一部分(与主数据库索引分开存储)并创建文档的多个副本。如果您需要在 View 中访问源文档,则应使用 include_docs=true

根据具体情况,您可能还需要考虑跨多个数据库进行分区。这可能是不可能的,具体取决于您想要如何编写查询等,但值得一提。如果您可以对数据库进行分区,这将使创建备份变得更加容易,并且从长远来看可以更好地扩展。

主要的一点是,CouchDB 非常灵活,这是我最喜欢它的地方之一,因为它将权力交给了开发人员。

关于performance - CouchDB 中允许的最大 View 是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35523361/

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