Polyhedra 9.0 introduced a new feature, to help with producing scalable systems: selective data distribution between separate databases. This is implemented via a subscription mechanism, allowing one database to specify what information it wants to cache from another database. Thus, if a site has a number of separate Polyhedra-based SCADA systems (each running part of the production line, water distribution network or whatever), then it is easy to set up an overview database with information about, say, all the analog(ue) sensors in all the subsystems. To do this, you would simply create a record in the central database to tell it about each of the subsidiary databases:
This assumes, of course, that you have already defined the
The final step is to enable all the subscriptions:
Assuming the other databases are all running, the central database will now be populated with information retrieved form the remote databases, and kept up to date as values change. If the connection to one of the remote databases is lost for any reason, the relevant information in the central database will be kept in a frozen form, and brought up to date when the connection is re-established.
This is a very powerful feature, and can be used for a variety of purposes. Another use case would be to have some information in a central database (a table of users and their passwords and access privileges, say) to which all the remote databases subscribe; the information would only need to be adjusted in one place and the change would automatically propagate to all databases that subscribe to it.
The Polyhedra release kits contains another example illustrating the use of the subscription feature, and further details can be found in the description of the
Polyhedra features >