Polyhedra 9.0

Polyhedra 9.0 was released on schedule in June 2015. Full details are in the release notes that accompany the release kits, but the three main improvements are summarised below.
  • Controlled information sharing between separate databases

To enhance the scalability of Polyhedra-based systems, if it now possible (simply by creating control records) to instruct a database to 'subscribe' to selected information from other 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. 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. If the connection between databases is lost, the subscribing database still has a cache of the retrieved information, which is automatically brought up to date when the connection is re-established.

More details of this new functionality can be found here, and there is an example of its use in the Polyhedra release kits.

  • Improved performance for client applications

The callback API is a proprietary API for writing client applications. In Polyhedra 9.0 this has been enhanced to enable a client application to ask for the SQL statements that it is likely to be using frequently to be prepared in advance, and then later executed as needed. The statements can contain positional or named parameters, and values for the parameters would be supplied by the client application when the statements are to be executed. As the SQL does not have to be parsed every time the statement is executed, they can be executed more efficiently, and a further performance gain comes from the reduced size of the messages from the client and server when invoking a prepared statement. Applications taking advantage of this new functionality will run substantially faster, and the callback API is the recommended API to use if you want to maximise performance.

  • Polyhedra ADO.NET data provider 

previously, .NET applications wanting to access a Polyhedra database would have had to use Microsoft's ODBC or OLE DB Data providers in conjunction with the appropriate driver from Polyhedra. The new Polyhedra ADO.NET data provider allows a more direct and more efficient route, and as well as enabling  the .NET application to make use of active queries it also allows it to take explicit control of features such as fault-tolerant connections and safe-commit mode.

Together, these enhancements can improve the performance of Polyhedra-based systems and make it much easier to set up data sharing between multiple Polyhedra systems.