Hub and spoke database design

So it looks like I’m leaning towards two different ways I could implement a hub and spoke style design.

  1. Create a database provider on the hub and have all the remote system connect to it as driving providers

  2. Create unique providers for each remote system on the hub and connect to the unique providers on the hub using driving providers.

All the above is still subjective to scale as well I suppose. We’re looking at a final configuration with 15-40 nodes per hub. Any suggestions or guidance on setting up a hub and spoke architecture that can scale?


We have similar case where need to use over 20 remote nodes and redundant server with redundant SQL.

I have planned lay-out like this.

Primary and Secondary servers will be located in central place where is backbone 1Gb connection to 2 MySQL servers.
All HMI stuff is located in servers and all historian is located in MySQL server.

My remote nodes includes SQL Bridge and OPC-Ua server.
OPC-UA is configure to read plc:s locally and SQL Bridge is storing historian to central MySQL using Store and Forward function. So we are pushing data to up.

Primary and Secondary gateways are configured to use remote OPC-UA server so communication between server and nodes is OPC-UA. Also “instant” trending is done only in Central servers by SQL Tags historian.

I dont know is this best or even good way to do this but we have tested this quite a lot and it looks quite simple and working solution.

We will have over 100 000 I/O from over 1000 substations.
All OS will be OSx based and also hardware will be Apple machines.

Tommi Vahtera
THT Control Oy