Vertica for MultiDC High Availability
What options currently exist to deploy Vertica is a distributed HA configuration. I want to deploy vertica in a cluster in one DC and have a standby cluster in another geographically separated DC.
I have read that the recommended approach is "Dual Load", which is fine for the data, but what about user accounts, projections, views etc... that could be created by my users, how do I sync these changes to the standby cluster?
How do people solve this issue today or what is the vertica recommended solution for this type of deployment?
0
Comments
Hello, ad.
You are recognizing the challenge with change management. The best practices for change management that I would personally recommend are to use a repository (such as SVN, git, or other) which has your schema and permissions.
You can contribute changes as "deltas" as .sql files such that you have the following sort of files:
./0001_new_database.sql
./0002_basic_users.sql
./0003_new_table.sql
./0004_adjust_privilege.sql
As time goes on, you might add 0005, 0006, etc. You can apply those changes by cloning (checking out) the repository to the different clusters and running the .sql.
If you want to get fancy, you could have a dbadmin-only table in the database that record which version of the schema has been applied and create a small 'driver' that can inspect that table and compare to the local files to decide what needs to happen next.
I've seen this approach (or something very close to it) used in a variety of scenarios; databases and non-databases.
Let us know how it goes!
- Derrick