#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.
- Creating an UPR Session
- Streaming all data from a cluster
- Using filters on a tap stream
#####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