我正在考虑将CouchDB用于一个项目(仍在研究阶段)。我想要的是许多用户,每个用户都有自己的数据库(用于身份验证),以及一个他们都被复制的大型只读数据库,因此我可以生成报告并制作仪表板。现在让我们假设所有数据库都在同一台机器上并在同一个进程中运行。
通常情况下,只有一小部分人类用户会在线和做事,所以我应该能够使max_dbs_open设置远远低于用户总数。 CouchDB应该没有问题确定哪些是空闲的。
但是,我担心额外的数据库会对此产生影响。将所有用户数据库连续复制到一个大型数据库中是否会让它们始终保持清醒状态? (如果是这样,那是不是很糟糕?实际登录的用户是否会失去任何优先级优势并在糟糕的时候遭受打击?)
或者CouchDB是否足够智能,只要没有被查询或写入数据库空闲,即使有持续的连续复制会话?请注意,复制只能在一个方向上进行:大数据库只监视来自用户数据库的更改。
也欢迎有关解决此问题的其他方法的建议。我隐约意识到,如果我有足够的用户使这成为一个问题,那么一个数据库将成为一个笨拙的野兽。
谢谢!