启用因果一致性
在Active-Active数据库中启用因果一致性。
当您在Active-Active数据库中启用因果一致性时,特定键上的操作顺序将在所有Active-Active数据库实例中保持一致。
例如,如果操作A和B被应用于同一个键,并且在B被应用于该键之前,发起B的实例观察到了A的效果。 那么,Active-Active数据库的所有实例在观察到B的效果之前都会观察到A的效果。 这样,任何对同一键的操作之间的因果关系也会被每个副本观察并维护。
启用因果一致性
当您创建一个Active-Active数据库时,您可以在集群管理器用户界面中启用因果一致性:
数据库创建后,您只能使用REST API或crdb-cli
来开启或关闭因果一致性。
更新后的设置仅影响更改后接收到的命令和操作。
因果一致性副作用
当启用因果一致性选项时,每个实例都会维护从另一个实例接收到的操作顺序,并将该信息传递给所有其他N-2个实例,其中N表示Active-Active数据库使用的实例数量。
因此,网络流量增加了(N-2)倍。 当启用因果一致性时,每个实例消耗的内存和整体性能也会受到影响。