Business Continuity/Disaster Recovery¶
Replication¶
| Feature | Std/Ent | BC/VPS |
|---|---|---|
| Database Replication | Y | Y |
| Share Replication | Y | Y |
| Replication Group | Y | Y |
| Account Objects | Y | |
| Failover Group | Y |
- Inbound share replication is not supported; only outbound shares are replicated
GRANTs are replicated only when the roles are replicated- Database level: not supported:
- External, Event, Hybrid, Iceberg tables; clustering, FK (unless in other database)
- Semantic views
- Stages, Pipes supported for replication and failover groups.
- historical usage data (most
%_historyviews) aren't replicated, so data files can be loaded again at the recovery site - Dangling references
- only non-materialized view replication will succeed because it uses name based replication v/s ID based replication
- costs: compute costs (~ 10-13 credits/TB) + egress
- replicating
rolesalso replicates inter role permissions
| feature | replication effect |
|---|---|
| time travel | only active data replicated at the time of refresh => time-travel produces different result |
| data retention | determined by when the DML operation was performed on primary database |
| clones | replicated physically => double storage |
Group based Replication¶
- replication group parameters:
object_types(Databases, shares, users, roles, warehouses, resource monitors, integrations, network policies, account parameters)allowed_databases,allowed_shares,allowed_integration_typesallowed_accountsreplication_schedule
- if account objects already exist in the target account, instead of replication dropping them, use
system$link_account_objects_by_name(<rg>) - Must disable database level replication if it was enabled earlier
- Group based Replication/Failover is required to replicate account level objects
- An account can be replicated to another region within the same region group
- Replicates
- On primary/source account, create Replication group to include
- on secondary/target accounts
- to manually failover,
alter failover group <name> primary
Failover groups¶
- similar to replication group but allow altering a failover group to make it primary
Client Redirect¶
- connection can be used as URL:
<org>-<connection>.snowflakecomputing.com - For private connectivity, the customer must update the DNS record