Find out the features of the Polyhedra family of relational DBMS products, and how to use them!

This web site contains a lot of information about the Polyhedra family of relational DBMS products, including descriptions of the special features, a number of technical notes, and a copy of the reference manuals for the latest release of Polyhedr. A good place to start, though, is to have a quick look at a webcast giving a 5-minute demo of Polyhedra. Then, use the links in the left-hand tool bar to find out more!

Polyhedra Support

Customers who have purchased Polyhedra developer licenses for particular platform(s) can take out annual support licenses, which allows them to contact the Polyhedra support desk to report bugs and problems; it also allows them to obtain new releases as they become available for their licensed platforms, including upgrades.

About this site

This site is maintained by Enea staff, and we try to keep it accurate. However, as described here, errors will creep in; if in doubt, check with the reference manuals, all of which are available in PDF form for off-line reading.  If you spot an error on this site and you have a support contract, you can report it via the Polyhedra support desk; if not, please report it via an email to (Please do not send support questions to the webmaster!)

Site updates

When we make significant changes to the site, the Polyhedra webmaster will post something to the Twitter account @PolyhedraDBMS

Latest news

  • Polyhedra 9.6 released: REST API, WebSocket Server and IMDB API Enhancements

Polyhedra 9.6 adds REST API Server functionality. This provides database access to clients using the HTTP protocol, allowing HTTP clients to perform queries and DML operations on the database. This new component in described in the Polyhedra REST API manual.A Polyhedra WebSocket Server is included in this release. This provides database access to clients using the WebSocket protocol, allowing WebSocket clients to execute stored SQL procedures as either transactions, fixed queries or active queries. This new component is described in the Polyhedra WebSocket Server manual. The IMDB API for embedding a Polyhedra database within an application has been enhanced to provide standard Polyhedra server functionality, i.e. the database can accept external client connections using Polyhedra client-server transports. An external client is able to perform all standard Polyhedra server functionality including SQL, active queries and stored procedures.The IMDB API now provides MQTT client functionality. This is made available via a set of tables, MQTT_CLIENT, MQTT_MESSAGE, MQTT_PUBLISH and MQTT_SUBSCRIBE, which are now included in the database. These enhancements to the API are described in the Polyhedra IMDB API manual. The tables for monitoring external client connections and provide MQTT functionality are described in the Utility Classes manual.

Older news

  • Polyhedra 9.5 released: Backup Standbys, MQTT interface, Grafana historian interface and CL SetEnv function

Polyhedra 9.5 adds a Backup Standby mode of operation for an RTRDB that is operating under control of an arbitrator. This new mode obtains its journal stream from both the master and standby and is capable of promotion to master or standby and is described in the RTRDB manual. The RTRDB now supports a set of tables that provide MQTT version 3.1.1 client functionality. This new feature is described in the Utility Classes manual.  A new Polyhedra interface for allowing Historian data to be displayed in the Grafana time-series display application is included in this release. Both parts of the new Grafana interface can be found in the grafana directory within the release kits and is described in the readme file in that directory. A new Control Language global function SetEnv for setting the value of an environment is supported by both the CLC and RTRDB. The new function is described in the Control Language Reference manual. 

  • Polyhedra 9.4 released: Embedded database API and limited SQL function-based indexes
Polyhedra 9.4 adds significant functionality by allowing a Polyhedra database to be embedded directly in a customers application. It is designed to maximise database performance by having the database in the application’s address space and allowing application code to directly access the database without any inter-process communication. It also makes managing applications easier as the database is part of the application build, installed together with the application. There is a new manual giving details of how to use the Embedded database API. Polyhedra SQL now also supports a limited form of function-based indexing that speeds access to a lower-case value of a column. This new indexing capability is described in the Polyhedra SQL Reference manual. 
  • Polyhedra 9.3 Server initiated replica connection and new SCADA sample

Polyhedra 9.2 makes it possible to configure a fault tolerant replica connection so that the master and standby connect to the replica rather than the replica connecting to the master and standby. These connections are configured and monitored using a new JournalReplicaConnection table. This new feature is described in the Real-Time Relational Database and Utility Classes manuals. Also, a new sample application is included . It demonstrates Polyhedra used in a simple SCADA setting. This new sample can be found within the release kits, including those for Polyhedra Lite.

  • Polyhedra 9.2 released: reduced memory usage, RDI API, OPC UA RDI and SQL EXPLAIN

Polyhedra 9.2 significantly reduces the memory overhead when storing many records in a table, simplifies the writing of Remote Device Interfaces (RDI) by providing a new C++ RDI API, includes a sample OPC UA RDI implemented using the new RDI API, which is an OPC UA client providing access to data stored in an OPC UA server, and allows easier user optimisation of SQL queries by providing a new SQL EXPLAIN command that describes how SQL queries are executed.

  • Polyhedra 9.1 released: enhanced data subscription, performance monitoring and Python interface
Polyhedra 9.1 significantly enhances the data subscription feature introduced in Polyhedra 9.0 with the addition of bi-directional subscription and partial table replication, introduces a way to monitor the internal resources used by a running RTRDB, such as memory, threads and client connections, and adds a new standard Python DB-API client interface with extensions for Polyhedra-specific features such as active queries.
  • running the ADO.NET data provider for Polyhedra
There is a new video which show how the ADO.NET data provider for Polyhedra can be installed, and then goes on to compile and run a C# program that uses this new API to monitor (via an active query) and update a Polyhedra database. We have also updated the page on connecting to a Polyhedra server to cover this new API.
  • a new video showing the database subscription feature in action
This 4-minute video illustrates why Polyhedra is so well suited for SCADA, Industrial control and Internet of Things (IoT) applications. It shows a fault-tolerant Polyhedra database capturing information from a remote database by means of the database subscription feature, with time-series being stored in the Polyhedra historian ready for use in trend diagrams and for off-line analysis. The remote database has been set up to record recent readings in case the link to the main database is down, so that the historian can be back-filled when the connection is re-established. There is also a 'how-to' guide giving details of the set-up.
  • Polyhedra 9.0 released: faster, more flexible and more scaleable!
Polyhedra 9.0 introduces substantial performance improvements, a way of allowing a database to keep a live cache of information retrieved from other Polyhedra databases, and an ADO.NET data provider that allows the .NET programmer to take advantage of Polyhedra-specific features such as active queries. For more details, click here. (There are now videos on the two new features, see above!)
  • Using Enea Element to control Polyhedra fault tolerance
If you are using Enea's Element product to monitor and control complex embedded systems that need high availability, it makes sense to control Polyhedra via Element as well. We have just created a new section on using Polyhedra with Element, and the first topic covered is an Element 'shim' that acts as an arbitrator for Polyhedra. We have also published a one-minute video showing this shim in action! 
  • Polyhedra on the Pi2
The Raspberry Pi Foundation has released the Pi 2 board, which uses a faster processor and has double the about of RAM. To get full advantage of this processor applications will have to be recompiled using the ARM11 instruction set - but existing code will work on it, and Polyhedra will run 4-8 times faster! We've posted a comment about the performance improvement over on the Raspberry Pi forum.