Replication
Replication copies data from one Vertica database to another in native format. Usually, you use replication to keep a table or schema in the target database up to date with corresponding table or schema in the source database. Replication automatically determines what has changed in the source database and only transfers those changes to the target database.
Replication is also useful for disaster recovery (DR) and isolating workloads. For example:
- Keep a "hot spare" Vertica database that can fill in if the primary database goes down.
- Give geographically separated teams their own local databases.
- Fully isolate ETL workloads from analytics workloads by giving each their own Vertica database.
Vertica supports two forms of replication:
- vbr-based replication that uses the backup script to copy ROS containers from one database to another.
- Server-based replication that copies shards directly from one database's communal storage to another.
vbr-based replication
The vbr-replication method works between either Eon Mode or Enterprise Mode databases. You cannot replicate data between databases running in different modes or cloud platforms. The databases must have the same number of nodes (when in Enterprise Mode) or primary nodes (in Eon Mode). If replicating between Eon Mode databases, the databases must have the same shard segmentation and primary subcluster node subscriptions.
For more information about vbr-based replication, see Replicating objects to another database cluster.
Server-based replication
Server-based replication transfers data between Eon Mode databases by copying shard files from one communal storage location to another. This method supports Eon Mode databases in different clouds or on-premises. The target database must have access to the source database's communal storage, and the shard count and shard segmentation in the two databases must be the same.
Choosing between vbr-based and server-based replication
As server-based replication only works between Eon Mode databases, you only have to choose between the two types of replication if both the source and target database run in Eon Mode.
When choosing between the two modes, consider:
- Server-based replication is usually more efficient because it works within Vertica. Also, unlike vbr-based replication, server-based replication does not use SSH tunneling for encryption, avoiding potential security risks.
- For vbr-based replication, your databases must have more in common than databases using server-based replication. For example, in vbr-based replication, the source and target databases must have the same shard segmentation, primary subcluster node subscriptions, communal storage type, and number of nodes in their primary subcluster. For server-based replication, the only requirement is that the two databases have the same shard segmentation.