Polyhedra (software): Difference between revisions
note that Polyhedra 8.4 was release in December 2010 |
Fgnievinski (talk | contribs) m Fgnievinski moved page Polyhedra DBMS to Polyhedra (software) Tags: Mobile edit Mobile web edit Advanced mobile edit |
||
(45 intermediate revisions by 24 users not shown) | |||
Line 5: | Line 5: | ||
| caption = |
| caption = |
||
| developer = [[ENEA AB]] |
| developer = [[ENEA AB]] |
||
| released = 1993 |
| released = {{start date and years ago|df=yes|1993|06|30}} |
||
| latest release version = 9.7 |
|||
| latest_release_version = 8.4 |
|||
| latest release date = {{start date and years ago|df=yes|2021|12|17}} |
|||
| latest_release_date = 30 December 2010 |
|||
| latest preview version = |
|||
| latest_preview_version = |
|||
| |
| latest preview date = |
||
| operating system = [[Linux]], [[Windows]], [[Solaris (operating system)|Solaris]], [[VxWorks]], [[LynxOS]], [[Integrity (operating system)|Integrity]], [[Operating System Embedded|OSE]] |
|||
| release_location = |
|||
| programming language = <!--Cite a source, please!--> |
|||
| operating system = [[Cross-platform]] ([[#Platforms|List]]) |
|||
| language = <!--Human languages, not programming languages!--> |
|||
| programming language = [[C++]], plus [[Java (programming language)|Java]] for the [[JDBC]] driver |
|||
| language = [[C (programming language)|C]]/[[C++]], [[Java (programming language)|Java]] |
|||
| genre = [[In-memory database|in-memory]] [[Relational database management system|RDBMS]]; [[Flash file system|flash-based]] [[Relational database management system|RDBMS]] |
| genre = [[In-memory database|in-memory]] [[Relational database management system|RDBMS]]; [[Flash file system|flash-based]] [[Relational database management system|RDBMS]] |
||
| license = [[Proprietary software|Proprietary]], with Polyhedra Lite available as [[Freeware]]<ref name = "poly_lite">{{Citation | url = http://eecatalog.com/embeddedlinux/2012/10/11/polyhedra-lite-in-memory-relational-database-system-freeware-available-now-from-enea/ | series = Press Release | publisher = EECatalog | title = Polyhedra® Lite In-Memory Relational Database System Freeware Available Now from Enea }}.</ref> |
|||
| license = [[Proprietary software|Proprietary]] |
|||
| website = |
| website = {{URL|enea.com/polyhedra}} |
||
}} |
}} |
||
'''Polyhedra''' is a family of [[relational database management system]]s offered by [[ENEA AB]], a [[Sweden|Swedish]] company. The original version of Polyhedra (now referred to as Polyhedra IMDB) was an [[ |
'''Polyhedra''' is a family of [[relational database management system]]s offered by [[ENEA AB]], a [[Sweden|Swedish]] company. The original version of Polyhedra (now referred to as Polyhedra IMDB) was an [[in-memory database|in-memory database management system]] which could be used in [[high availability]] configurations; in 2006 Polyhedra Flash DBMS was introduced to allow [[database]]s to be stored in [[flash memory]].<ref>[http://www.enea.com/templates/Extension____8923.aspx Enea Announces Flash-Based Relational Database Management System] {{webarchive|url=https://web.archive.org/web/20080517120341/http://www.enea.com/templates/Extension____8923.aspx |date=17 May 2008 }}</ref> All versions employ the [[client–server model]] to ensure the data are protected from misbehaving application software, and they use the same [[SQL]], [[ODBC]] and [[JDBC type 4 driver#Type 4 Driver - Native-Protocol Driver|type-4 JDBC]] interfaces. Polyhedra is targeted primarily for [[Embedded system|embedded]] use by [[Original Equipment Manufacturer]]s (OEMs), and big-name customers include [[Ericsson]], [[ABB Group|ABB]], [[Emerson Electric Company|Emerson]], [[Lockheed Martin]], [[United Utilities]] and [[Siemens AG]]. |
||
== |
==Company== |
||
Polyhedra development was started in 1991 by Perihelion Technology Ltd, a subsidiary of [[Perihelion Software| Perihelion Software Ltd]] (PSL); initially, the project had a working title the |
Polyhedra development was started in 1991 by Perihelion Technology Ltd, a subsidiary of [[Perihelion Software| 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.<ref>Business Wire: [http://www.allbusiness.com/technology/software-services-applications/6050443-1.html Enea Acquires Polyhedra]</ref><ref>thefreelibrary.com: [http://www.thefreelibrary.com/Enea+Acquires+UK+Company+Polyhedra+-+Strengthens+OSE+With+Database...-a072311343 Enea Acquires UK Company Polyhedra - Strengthens OSE With Database Technology]</ref> All development and support is still done in the [[England|English]] town of [[Shepton Mallet]], where PSL was based. |
||
== |
==Features== |
||
Tim King, the founder of [[Perihelion Software| Perihelion Software Ltd]], developed a relational DBMS for historical data as part of his PhD work;<ref>[http://www.tim-king.com/ Tim King |
Tim King, the founder of [[Perihelion Software| Perihelion Software Ltd]], developed a relational DBMS for historical data as part of his PhD work;<ref>[http://www.tim-king.com/ Tim King – Home Page<!-- Bot generated title -->]</ref> 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 (computer science)|polling]], which is a performance killer. Consequently, it was designed from the start to: |
||
* keep the working copy of the data in-memory (though there is now a variant that keeps the data in a [[Flash memory|flash]]-based file); |
* keep the working copy of the data in-memory (though there is now a variant that keeps the data in a [[Flash memory|flash]]-based file); |
||
* use a client–server architecture to protect the data from corruption by rogue application code; |
* use a client–server architecture to protect the data from corruption by rogue application code; |
||
* have an 'active query' mechanism to update client applications when relevant database changes occur; |
* have an 'active query' mechanism to update client applications when relevant database changes occur; |
||
* have a very simple processing model where a [[Database transaction|transaction]] is either a schema change, a query, or a request for a set of inserts, updates and/or deletes - such alterations can either be expressed via SQL statements or by updating through the active queries with (in conjunction with active queries) an [[Optimistic concurrency control|optimistic concurrency mechanism]] to handle clashing updates; |
* have a very simple processing model where a [[Database transaction|transaction]] is either a schema change, a query, or a request for a set of inserts, updates and/or deletes - such alterations can either be expressed via SQL statements or by updating through the active queries with (in conjunction with active queries) an [[Optimistic concurrency control|optimistic concurrency mechanism]] to handle clashing updates; |
||
* have a table [[Inheritance ( |
* have a table [[Inheritance (object-oriented programming)|inheritance]] mechanism which, when combined with [[Database trigger]]s (via the CL language, see below), allows the database designer to program the database in an object-oriented fashion. Table inheritance also avoids or reduces the need for supplementary tables whose primary key is a foreign key to another table, and thus can simplify many queries and updates. |
||
* have a [[Operational historian|Historian]]<ref>{{Citation | url = http://developer.polyhedra.com/polyhedra-features/historian | series = White Paper | publisher = Enea | title = Handling time-series data in Polyhedra IMDB }}.</ref> module to allow large volumes of times-series data to be captured, stored, archived and queried in an efficient fashion. |
|||
Polyhedra IMDB achieves data persistence through the use of [[Snapshot ( |
Polyhedra IMDB achieves data persistence through the use of [[Snapshot (computer storage)#In databases|snapshots]] and [[Transaction log|journal logging]]; Polyhedra Flash DBMS uses [[shadow paging]], with 2 levels of recursion. In addition, Polyhedra can be used in [[Hot spare|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."<ref>Aleksandra Tešanović, Dag Nyström, Jörgen Hansson, Christer Norström: [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.6688 Embedded databases for embedded real-time systems: a component-based approach] (2002)</ref> |
|||
"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."<ref>Aleksandra Tešanović, Dag Nyström, Jörgen Hansson, Christer Norström: [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.6688 Embedded databases for embedded real-time systems: a component-based approach] (2002)</ref> |
|||
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 [[Computer cluster|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. |
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 [[Computer cluster|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 software|proprietary]] license, but in 2012 Enea released Polyhedra Lite under a freeware license.<ref name="poly_lite"/> |
|||
⚫ | |||
[[Image:Polyhedra releases.png|thumb|Summary of Polyhedra release history|485px]] |
|||
⚫ | |||
* 1991 Development started. |
* 1991 Development started. |
||
* 1993 Polyhedra 1.0: first commercial release of an in-memory [[DBMS# |
* 1993 '''Polyhedra 1.0''': first commercial release of an in-memory [[DBMS#Relational DBMS|Relational DBMS]] (RDBMS). |
||
* 1995 Ported to [[Microsoft Windows|Windows]] and [[Linux]]. |
* 1995 Ported to [[Microsoft Windows|Windows]] and [[Linux]]. |
||
* 1996 Polyhedra 2.0: added [[hot spare|hot standby]] configurations for use in applications needing [[high availability]]. First port to an [[RTOS]] ([[pSOS]]) |
* 1996 '''Polyhedra 2.0''': added [[hot spare|hot standby]] configurations for use in applications needing [[high availability]]. First port to an [[RTOS]] ([[pSOS (real-time operating system)|pSOS]]) |
||
* 1997 Polyhedra 3.0: new in-memory data storage engine, for improved space and time efficiency. |
* 1997 '''Polyhedra 3.0''': new in-memory data storage engine, for improved space and time efficiency. |
||
* 1999 Polyhedra 3.1: adds new data types, [[ODBC]] [[API]]. [[Operating System Embedded|OSE]] port. |
* 1999 '''Polyhedra 3.1''': adds new data types, [[ODBC]] [[API]]. [[Operating System Embedded|OSE]] port. |
||
* 2001 Polyhedra 4.0: [[JDBC]] support, additional index type, read-only replicas, multi-threading. |
* 2001 '''Polyhedra 4.0''': [[JDBC]] support, additional index type, read-only replicas, multi-threading. |
||
* 2002 Polyhedra 4.1: [[client–server]] comms overhauled for substantial performance improvements, especially for client apps using the ODBC API (now deemed the 'native' [[API]] for all platforms). |
* 2002 '''Polyhedra 4.1''': [[client–server]] comms overhauled for substantial performance improvements, especially for client apps using the ODBC API (now deemed the 'native' [[API]] for all platforms). |
||
* 2003 Polyhedra 5.0: [[UNICODE]], schema migration ([[Alter (SQL)|SQL 'ALTER TABLE']]). |
* 2003 '''Polyhedra 5.0''': [[UNICODE]], schema migration ([[Alter (SQL)|SQL 'ALTER TABLE']]). |
||
* 2004 Polyhedra 6.0: 64-bit support re-introduced, for [[Linux]] and [[Solaris (operating system)|Solaris]]. (It previously had been available on [[DEC Alpha]] under [[Tru64 UNIX|Digital UNIX]] until usage of that platform generally died out.) Polyhedra64 has subsequently been ported to [[ |
* 2004 '''Polyhedra 6.0''': 64-bit support re-introduced, for [[Linux]] and [[Solaris (operating system)|Solaris]]. (It previously had been available on [[DEC Alpha]] under [[Tru64 UNIX|Digital UNIX]] until usage of that platform generally died out.) Polyhedra64 has subsequently been ported to [[Microsoft Windows#64-bit operating systems|Windows x64]]. |
||
* 2006 Polyhedra |
* 2006 '''Polyhedra Flash DBMS''' introduced, based on a fork of the Polyhedra IMDB code base. |
||
* 2007 Polyhedra 7.0: Polyhedra IMDB and Polyhedra |
* 2007 '''Polyhedra 7.0''': Polyhedra IMDB and Polyhedra Flash DBMS code bases unified, for ease of support and greater commonality of features. Also, enhanced resource management and multi-threading. |
||
* 2008 Polyhedra 8.0: Polyhedra |
* 2008 '''Polyhedra 8.0''': Polyhedra Flash DBMS now supports [[hot spare|hot standby]] configurations for use in applications needing [[high availability]], in a similar way to Polyhedra IMDB. Polyhedra 8.1 added Linux/MIPS support, the ability to monitor active queries, and enhancements to the historian. |
||
* 2009 Polyhedra 8.2: Linux ODBC drivers and IPv6 |
* 2009 '''Polyhedra 8.2''': Linux ODBC drivers and IPv6 |
||
* 2010 |
|||
* |
::* '''Polyhedra 8.3''': Some SQL enhancements and streaming output from historian. |
||
::* '''Polyhedra 8.4''': performance enhancements |
|||
==Platforms== |
|||
* 2011 '''Polyhedra 8.5''': better integration with 3rd-party tools, and improved performance on Windows. Replica servers can be used in a fan-out configuration for better scaling. |
|||
Polyhedra IMDB runs in 32-bit mode on |
|||
* 2012 '''Polyhedra 8.6''': 64-bit integer data type. '''Polyhedra Lite''' introduced:<ref name="poly_lite"/> a free-to-use, reduced-functionality version of Polyhedra32 IMDB, available for Windows, and for Linux on x86 and the [[Raspberry Pi]].<ref>{{Citation | url = http://www.raspberrypi.org/phpBB3/viewtopic.php?t=20065&p=330703 | publisher = Raspberry Pi forum | title = Free real-time relational database for the Raspi }}.</ref> |
|||
[[Linux]] (first ported to this platform in 1995), |
|||
* 2013 |
|||
[[Microsoft Windows|Windows]] (since 1995), |
|||
::* '''Polyhedra 8.7''':<ref name = "poly_87">{{Citation | url = http://linuxgizmos.com/embedded-dbms-gains-locking-and-cascaded-deletes/ | publisher = LinuxGizmos.com | title = Embedded DBMS gains locking and cascaded deletes }}.</ref> [[Locking (computer science)#Database locks|locking]] and [[Propagation constraint|cascaded deletes]]. |
|||
[[AIX]] (1994), |
|||
::* '''Polyhedra 8.8''':<ref name = "poly_88a">{{Citation | url = http://www.sectorpublishingintelligence.co.uk/news/843220/enea+ab+enea+protects+the+communication+between+database+server+and+client+applications | series = Regulatory news | publisher = SPi World news | title = Enea AB: Enea Protects the Communication between Database Server and Client Applications }}.</ref> [[Encryption|encrypted]] communications |
|||
and [[Solaris (operating system)|Solaris]] (1994); |
|||
* 2014 '''Polyhedra 8.9''': SQL enhancements ([[SQL#Queries|GROUP BY and HAVING]], DISTINCT, [[Join (SQL)|outer joins]]), security enhancements, and online backups for time-series data. |
|||
if the operating system is running in 64-bit mode, the 64-bit version of Polyhedra IMDB (also known as Polyhedra64) will also run on the platform, which gives greater memory addressability and thus greater capacity. Polyhedra32 will also run on various [[RTOS|real-time operating systems]] including |
|||
* 2015 '''Polyhedra 9.0''': read-only partial database replication via a subscription mechanism, an [[ADO.NET data provider]] for Polyhedra, and enhancements to the proprietary 'callback API' that can yield significant performance enhancements. |
|||
[[Wind River Systems]] [[VxWorks]] (since 1996; currently both VxWorks5.5 and VxWorks6 are supported), |
|||
* 2016 '''Polyhedra 9.1''': bi-directional subscription and partial table replication, internal resource monitoring, and a [[Python (programming language)|Python]] DB-API module with extensions for Polyhedra-specific features such as active queries. |
|||
[[LynuxWorks]] [[LynxOS]] (2004), |
|||
* 2017 |
|||
[[Green Hills Software|Green Hills]] [[Integrity (operating system)|INTEGRITY]] (2005), |
|||
::* '''Polyhedra 9.2''': reduced memory usage, RDI (Remove Device Interface) API, [[OPC Unified Architecture|OPC UA]] RDI, and SQL EXPLAIN command. |
|||
[[Microsoft]] [[Windows CE]] (2005) |
|||
::* '''Polyhedra 9.3''': server initiated replication. |
|||
and of course the [[Operating System Embedded|OSE]] operating system from [[ENEA AB]] (since 1999). In the past, Polyhedra was also available on the following operating systems, all now (sadly) defunct or not used in the target markets: |
|||
* 2018 '''Polyhedra 9.4''': Embedded database API and limited SQL function-based indexes. |
|||
[[Tru64 UNIX|Digital UNIX]], |
|||
* 2019 '''Polyhedra 9.5''': Backup standby, MQTT interface and Grafana interface. |
|||
[[IRIX]], |
|||
* 2020 '''Polyhedra 9.6''': REST API, WebSocket Server and IMDB API Enhancements. |
|||
[[pSOS]], |
|||
* 2021 '''Polyhedra 9.7''': IMDB API BLOB caching, multiple database support. |
|||
[http://www.modcomp.com/realtime/documents/tech_docs/c_and_c/c_and_c.html REAL/IX], |
|||
[[SCO_OpenServer#SCO_UNIX.2FSCO_Open_Desktop|SCO UNIX]], |
|||
[[Ultrix|ULTRIX]], |
|||
and [[OpenVMS|Vax VMS]]. |
|||
==References== |
==References== |
||
{{reflist}} |
|||
<references /> |
|||
⚫ | |||
==External links== |
|||
*{{Official website|enea.com/polyhedra}} |
|||
{{Authority control}} |
|||
⚫ | |||
{{DEFAULTSORT:Polyhedra Dbms}} |
|||
[[Category:Proprietary database management systems]] |
[[Category:Proprietary database management systems]] |
Revision as of 04:37, 24 August 2024
Developer(s) | ENEA AB |
---|---|
Initial release | 30 June 1993 |
Stable release | 9.7
/ 17 December 2021 |
Operating system | Linux, Windows, Solaris, VxWorks, LynxOS, Integrity, OSE |
Type | in-memory RDBMS; flash-based RDBMS |
License | Proprietary, with Polyhedra Lite available as Freeware[1] |
Website | enea |
Polyhedra is a family of relational database management systems offered by ENEA AB, a Swedish company. The original version of Polyhedra (now referred to as Polyhedra IMDB) was an in-memory database management system which could be used in high availability configurations; in 2006 Polyhedra Flash DBMS was introduced to allow databases to be stored in flash memory.[2] All versions employ the client–server model to ensure the data are protected from misbehaving application software, and they use the same SQL, ODBC and type-4 JDBC interfaces. Polyhedra is targeted primarily for embedded use by Original Equipment Manufacturers (OEMs), and big-name customers include Ericsson, ABB, Emerson, Lockheed Martin, United Utilities and Siemens AG.
Company
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.[3][4] All development and support is still done in the English town of Shepton Mallet, where PSL was based.
Features
Tim King, the founder of Perihelion Software Ltd, developed a relational DBMS for historical data as part of his PhD work;[5] 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:
- keep the working copy of the data in-memory (though there is now a variant that keeps the data in a flash-based file);
- use a client–server architecture to protect the data from corruption by rogue application code;
- have an 'active query' mechanism to update client applications when relevant database changes occur;
- have a very simple processing model where a transaction is either a schema change, a query, or a request for a set of inserts, updates and/or deletes - such alterations can either be expressed via SQL statements or by updating through the active queries with (in conjunction with active queries) an optimistic concurrency mechanism to handle clashing updates;
- have a table inheritance mechanism which, when combined with Database triggers (via the CL language, see below), allows the database designer to program the database in an object-oriented fashion. Table inheritance also avoids or reduces the need for supplementary tables whose primary key is a foreign key to another table, and thus can simplify many queries and updates.
- have a Historian[6] module to allow large volumes of times-series data to be captured, stored, archived and queried in an efficient fashion.
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."[7]
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.[1]
Release history
- 1991 Development started.
- 1993 Polyhedra 1.0: first commercial release of an in-memory Relational DBMS (RDBMS).
- 1995 Ported to Windows and Linux.
- 1996 Polyhedra 2.0: added hot standby configurations for use in applications needing high availability. First port to an RTOS (pSOS)
- 1997 Polyhedra 3.0: new in-memory data storage engine, for improved space and time efficiency.
- 1999 Polyhedra 3.1: adds new data types, ODBC API. OSE port.
- 2001 Polyhedra 4.0: JDBC support, additional index type, read-only replicas, multi-threading.
- 2002 Polyhedra 4.1: client–server comms overhauled for substantial performance improvements, especially for client apps using the ODBC API (now deemed the 'native' API for all platforms).
- 2003 Polyhedra 5.0: UNICODE, schema migration (SQL 'ALTER TABLE').
- 2004 Polyhedra 6.0: 64-bit support re-introduced, for Linux and Solaris. (It previously had been available on DEC Alpha under Digital UNIX until usage of that platform generally died out.) Polyhedra64 has subsequently been ported to Windows x64.
- 2006 Polyhedra Flash DBMS introduced, based on a fork of the Polyhedra IMDB code base.
- 2007 Polyhedra 7.0: Polyhedra IMDB and Polyhedra Flash DBMS code bases unified, for ease of support and greater commonality of features. Also, enhanced resource management and multi-threading.
- 2008 Polyhedra 8.0: Polyhedra Flash DBMS now supports hot standby configurations for use in applications needing high availability, in a similar way to Polyhedra IMDB. Polyhedra 8.1 added Linux/MIPS support, the ability to monitor active queries, and enhancements to the historian.
- 2009 Polyhedra 8.2: Linux ODBC drivers and IPv6
- 2010
- Polyhedra 8.3: Some SQL enhancements and streaming output from historian.
- Polyhedra 8.4: performance enhancements
- 2011 Polyhedra 8.5: better integration with 3rd-party tools, and improved performance on Windows. Replica servers can be used in a fan-out configuration for better scaling.
- 2012 Polyhedra 8.6: 64-bit integer data type. Polyhedra Lite introduced:[1] a free-to-use, reduced-functionality version of Polyhedra32 IMDB, available for Windows, and for Linux on x86 and the Raspberry Pi.[8]
- 2013
- Polyhedra 8.7:[9] locking and cascaded deletes.
- Polyhedra 8.8:[10] encrypted communications
- 2014 Polyhedra 8.9: SQL enhancements (GROUP BY and HAVING, DISTINCT, outer joins), security enhancements, and online backups for time-series data.
- 2015 Polyhedra 9.0: read-only partial database replication via a subscription mechanism, an ADO.NET data provider for Polyhedra, and enhancements to the proprietary 'callback API' that can yield significant performance enhancements.
- 2016 Polyhedra 9.1: bi-directional subscription and partial table replication, internal resource monitoring, and a Python DB-API module with extensions for Polyhedra-specific features such as active queries.
- 2017
- Polyhedra 9.2: reduced memory usage, RDI (Remove Device Interface) API, OPC UA RDI, and SQL EXPLAIN command.
- Polyhedra 9.3: server initiated replication.
- 2018 Polyhedra 9.4: Embedded database API and limited SQL function-based indexes.
- 2019 Polyhedra 9.5: Backup standby, MQTT interface and Grafana interface.
- 2020 Polyhedra 9.6: REST API, WebSocket Server and IMDB API Enhancements.
- 2021 Polyhedra 9.7: IMDB API BLOB caching, multiple database support.
References
- ^ a b c Polyhedra® Lite In-Memory Relational Database System Freeware Available Now from Enea, Press Release, EECatalog.
- ^ Enea Announces Flash-Based Relational Database Management System Archived 17 May 2008 at the Wayback Machine
- ^ Business Wire: Enea Acquires Polyhedra
- ^ thefreelibrary.com: Enea Acquires UK Company Polyhedra - Strengthens OSE With Database Technology
- ^ Tim King – Home Page
- ^ Handling time-series data in Polyhedra IMDB, White Paper, Enea.
- ^ Aleksandra Tešanović, Dag Nyström, Jörgen Hansson, Christer Norström: Embedded databases for embedded real-time systems: a component-based approach (2002)
- ^ Free real-time relational database for the Raspi, Raspberry Pi forum.
- ^ Embedded DBMS gains locking and cascaded deletes, LinuxGizmos.com.
- ^ Enea AB: Enea Protects the Communication between Database Server and Client Applications, Regulatory news, SPi World news.
External links