我想迁移一个现有的应用程序,它大约有。1000 万条记录存储在 CouchDB 的关系数据库中。我喜欢 CouchDB 的一点是易于复制和快速缓存视图。我不喜欢的是写入和查看创建速度对于 1000 万个文档来说会非常慢。
我必须解决这些潜在瓶颈的一个想法是拥有三个 CouchDB 实例:
- 只写实例:这是主实例。我们的单点真理。这里只允许更新、插入和删除。此实例没有读取和视图。
- View creation only instance:仅用于创建和缓存视图。此实例上没有读取或写入。
- 只读实例:通过复制视图进行读取访问。
实例 2 是从实例 1 复制而来的。由于不会有任何应用程序使用实例 2,因此可以在不影响生产应用程序的情况下创建新视图。
实例 3 从包含所有缓存视图的实例 2 复制而来。
这是一个可行的解决方案吗?