Hello,
If we are discussing if the ss application will connect to the existing HR database, or have separate data in a separate database, possibly on a separate server then this decision needs some considerations:
- it will be more robust and scalable if on a different database on a different server, but it adds complexity for you to implement all this, and maintain
- a decision also depends on the architecture - if you want the ability to scale, then a way to have more databases/database servers needs to be ready (same for the application)
Which replication mechanism to use depends on the rdbms choice. Most commercial ones nowadays have replication features, but they may not be available in lower-tier editions. Step above is database clustering. There are external tools also to consider, if they work and are reliable, they can cost less than some high-tier editions. And you can always do it by yourself, especially if your case is simple - I have implemented scheduled replication few times, by using timestamps (create, delete, update) - but you don’t want to do it unless you must. However, you mentioned the word “sync” and this looks like clustering in near real time. You will have to research MS SQL about that, and best ask on their forum.
One of the benefits of REST and microservices is that you don’t necessarily need to touch a working component of a system if it’s packaged in a container, and large companies are benefiting because different teams can produce/maintain them with their own languages and tools and others don’t care as long as it works with REST. It will require more work from your side, rather than just simply connecting to the database.
You are solving a system of equations with many variables, and there is more than one solution. Whatever you choose, you need to “ensure your back” - the ability to scale, and to maintain, and that will either cost money, or your time.
Kind regards,
Mladen