Polyhedra development was started in 1991 by Perihelion Technology Ltd, a subsidiary of Perihelion Software Ltd (PSL); initially, the project had a working title the "Perihelion Application Toolkit", but was soon renamed Polyhedra (using a left-over trademark from another PSL project). There was a management buyout of PTL in 1994, and the company name changed to Polyhedra plc to match the name of the product. Polyhedra plc was in turn acquired by Enea AB in 2001.23 All development and support is still done in the English town of Shepton Mallet, where PSL was based.
Tim King, the founder of Perihelion Software Ltd, developed a relational DBMS for historical data as part of his PhD work;4 Dave Stoneham, who set up PTL, had previously developed a SCADA system. Building on these experiences, Polyhedra was originally developed "to bring the benefits of relational technology to the embedded market". To this end, it had to be small footprint, very fast... and it had to avoid the need for polling, which is a performance killer. Consequently, it was designed from the start to:
Polyhedra IMDB achieves data persistence through the use of snapshots and journal logging; Polyhedra Flash DBMS uses shadow paging, with 2 levels of recursion. In addition, Polyhedra can be used in hot-standby configurations for improved availability. The transactional model used by all Polyhedra products ensures atomicity, consistency and isolation (as defined by the ACID properties); durability is enforced in Polyhedra Flash DBMS, while in Polyhedra IMDB clients can choose the durability model when they issue their transactions.
"The Polyhedra DBMS system is fundamentally different compared to other relational systems, because of its active behaviour. This is achieved through two mechanisms, active queries and by the control language (CL). An active query looks quite like a normal query where some data is retrieved and/or written, but instead the query stays in the database until explicitly aborted. When a change in the data occurs that would alter the result of the query, the application is notified. The CL, which is a fully object-oriented script language that supports encapsulation, information hiding and inheritance, can determine the behaviour of data in the database. This means that methods, private or public, can be associated with data performing operations on them without involving the application."6
Polyhedra is not a general-purpose DBMS, as the restricted transactional model does not meet all needs, and its fault-tolerance model is based on the hot-standby approach (to minimise hardware costs) rather than clustering (which is better for load-sharing). However, its limitations are benefits in embedded use, where the emphasis in a deployed application is on performance and cost rather than handling continually varying usage patterns.
Most of the Polyhedra products are made available for purchase under a proprietary license, but in 2012 Enea released Polyhedra Lite under a freeware license.7
Enea Announces Flash-Based Relational Database Management System Archived 17 May 2008 at the Wayback Machine http://www.enea.com/templates/Extension____8923.aspx ↩
Business Wire: Enea Acquires Polyhedra http://www.allbusiness.com/technology/software-services-applications/6050443-1.html ↩
thefreelibrary.com: Enea Acquires UK Company Polyhedra - Strengthens OSE With Database Technology http://www.thefreelibrary.com/Enea+Acquires+UK+Company+Polyhedra+-+Strengthens+OSE+With+Database...-a072311343 ↩
Tim King – Home Page http://www.tim-king.com/ ↩
Handling time-series data in Polyhedra IMDB, White Paper, Enea. http://developer.polyhedra.com/polyhedra-features/historian ↩
Aleksandra Tešanović, Dag Nyström, Jörgen Hansson, Christer Norström: Embedded databases for embedded real-time systems: a component-based approach (2002) http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.6688 ↩
Polyhedra® Lite In-Memory Relational Database System Freeware Available Now from Enea, Press Release, EECatalog. http://eecatalog.com/embeddedlinux/2012/10/11/polyhedra-lite-in-memory-relational-database-system-freeware-available-now-from-enea/ ↩
Free real-time relational database for the Raspi, Raspberry Pi forum. http://www.raspberrypi.org/phpBB3/viewtopic.php?t=20065&p=330703 ↩
Embedded DBMS gains locking and cascaded deletes, LinuxGizmos.com. http://linuxgizmos.com/embedded-dbms-gains-locking-and-cascaded-deletes/ ↩
Enea AB: Enea Protects the Communication between Database Server and Client Applications, Regulatory news, SPi World news. http://www.sectorpublishingintelligence.co.uk/news/843220/enea+ab+enea+protects+the+communication+between+database+server+and+client+applications ↩