第7章
创建Replicas和Scheduling Replication
这一章节是解释怎样去创建Replicas和Scheduling Replication。
Replicas
你可以创建Replicas使得用户在不同的地方,不同的网络,不同的时间区域去使用数据库。所有的Replicas都共同分享同一个replica ID, 这个replica ID是数据库创建的时候所赋予的。两个replicas的文件名字可以不同,同时每一个replica可以包含不同的文档或者有不同的design,然而,如果他们的replica ID是相同的话,replication就可以在他们之间发生。
但用户对一个数据库的不同replicas进行增加,修改或删除文档的时候,这些replicas的内容就不再相同。为了确保所有的replicas的内容的同步性,你可以使用Connection document在储存这这些replicas的服务器中运行schedule replication。这样不同的sites, teams, users就可以修改一个数据库和分享这些改变给所有有权限访问的人。另外,使用replicas和scheduling replication可以减少网络的堵塞。用户不需要去连接核心服务器去访问只有一个replica的特定数据库。相反,他们可以在一个或多个服务器中去访问这个数据库的replicas.
这种分布式的replicas也可以用作运行在不同服务器上的Web站点。用户通过Internet去访问特定的应用时,他们不需要去依赖一台服务器。如果一台服务器不可用了,用户也可以访问另外服务器上的数据库replica.你也可以使用replicas去管理进行中的Web站点的design. 在一个服务器上,你可以架起一个Web临时框架区域来进行你的设计和测试。当设计被测试完和准备好做release后,你可以复制这个服务器到那个用户正在使用的服务器上。这样子,你就可以防止Web用户看到你正在工作了。
一个数据库的replica并不等于一个你使用File->Database->Copy而复制出来的数据库。尽管复制出来的数据库看起来跟原本的数据库一摸一样,但是复制品并不能跟原本的数据库分享同一个replica ID,所以也不能与原本的数据库进行复制。
决定什么时候创建replica
小心计划你的replica计划,和只有当你必须的时候才创建replicas。更多的replicas只会导致对服务器更多的需求,更多的网络资源和更多的配置。为了防止不必要的replicas增加,只会对少量的管理员赋以创建Replica服务器的权限。所以如果需要有新的replica,通常告诉用户或者应用开发人员去联系这些管理员。
创建一个数据库有以下有点:
对使用率很高的数据库提升效率;
分散网络的堵塞;
当你进行再次修改版本的时候,保持一个数据库的正式版本;
尽是一个服务器坏了,仍然保持数据库的可用性;
用户通过远程仍然可以使用数据库;
......
需要注意的是,两个replicas之间会存在小小的不一样。如果用户需要从一个数据库中访问最更新的信息,你可以在聚群服务器上创建replicas,然后在集群服务器中建立replication。在一个集群里,所有的replicas总是相一致的,因为每一次的修改都会立刻复制到集群里面的其他服务器上。