For system all on local network and servers running in server cluster as VMs
(redundancy / data protection is outside the scope of this question)
We are planning on 3 ignition gateway IO servers (Backend1-3)
And 1 gateway IO server (Frontend1)
For Database should we have (best practice / better efficiency)
- Single Database that everything points to? In the neighborhood of 1-3 million tags. (however only a very small portion of these will change with any significant frequency)
- Each IO server has DB on the same virtual machine for tag history and that data is synced to main DB (best way to sync that data so history query only references single DB.
- We will have some configuration / data tables (outside of ignition created) + Audit log + history + Alarm log + ignition config (ignition created tables) Is there a reason to split these into different database schema, or keep them all in the same database connection / schema? For example Audit and Alarm log in a different DB Schema/connection then history.
For the purpose of this I am not concerned with programming that writes / deletes from the wrong table in the DB and using different connections to prevent this type of program error.
I think for simplicity sake it would be easier if everything was under 1 database connection, but if we need to for performance reasons we can make multiple DB connections.