Skip to content

Latest commit

 

History

History
70 lines (40 loc) · 2.95 KB

README.md

File metadata and controls

70 lines (40 loc) · 2.95 KB

#UPR Project

UPR stands for "Universal Protocol for Replication" and the purpose of this project is to revamp the replication so that it can be used by all modules in the Couchbase ecosystem as well as third party applications.

###UPR High-level Details

###Use Cases

#####VBucket Move

A cluster rebalance is made up of multiple VBucket moves. Below are links to the current (2.x) and future (3.x) procedures.

#####Indexing

In future versions of Couchbase indexing will no longer read from disk and instead get there data from an UPR replication stream. Below are links to the current (2.x) and future (3.x) strategy.

#####XDCR

XDCR currently reads items from disk in order to replicate them accross wide area networks. Future versions will stream data directly to the XDCR replicators via an UPR stream. Below are links to the current (2.x) and future (3.x) strategy.

#####Consistent Views

A major feature that has been asked for by customers is the ability to support consistent views. This means that when a user does a "set" command they can immediately query the view and expect to see the data that was set in the view. Below are links to the current (2.x) and future (3.x) plan.

#####Third-Party

The current tap implementation is too difficult to use and laks the features needed to build third-party applications. Below are links to use cases for how UPR can be used to succesfully build new applications.

#####Backwards Compatibility

we need to support upgrades from 2.x to 3.x. The link below describes how the upgrade process will work.

#####Testing Resources

#####Other

###Deprecated Documents