Polyhedra DBMS
Encyclopedia
Polyhedra is a family of relational database management system
s 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 FlashLite was introduced to allow database
s to be stored in Flash memory
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 Manufacturer
s (OEMs), and big-name customers include Ericsson
, ABB, Emerson
, Lockheed Martin
, United Utilities
and Siemens AG
.
(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. All development and support is still done in the English
town of Shepton Mallet
, where PSL was based.
, developed a relational DBMS for historical data as part of his PhD work; 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 FlashLite uses shadow paging, with 2 levels of recursion. In addition, Polyhedra IMDB 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 FlashLite, 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."
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.
Linux
(first ported to this platform in 1995),
Windows
(since 1995),
AIX (1994),
and Solaris (1994);
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 real-time operating systems including
Wind River Systems
VxWorks
(since 1996; currently both VxWorks5.5 and VxWorks6 are supported),
LynuxWorks
LynxOS
(2004),
Green Hills
INTEGRITY
(2005),
Microsoft
Windows CE
(2005)
and of course the 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:
Digital UNIX
,
IRIX
,
pSOS
,
REAL/IX,
SCO UNIX,
ULTRIX
,
and Vax VMS
.
Relational database management system
A relational database management system is a database management system that is based on the relational model as introduced by E. F. Codd. Most popular databases currently in use are based on the relational database model....
s offered by ENEA AB
ENEA AB
ENEA is global information technology company with its headquarters in Kista, Sweden that provides real-time operating systems and consulting services...
, a Swedish
Sweden
Sweden , officially the Kingdom of Sweden , is a Nordic country on the Scandinavian Peninsula in Northern Europe. Sweden borders with Norway and Finland and is connected to Denmark by a bridge-tunnel across the Öresund....
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
High availability
High availability is a system design approach and associated service implementation that ensures a prearranged level of operational performance will be met during a contractual measurement period....
configurations; in 2006 Polyhedra FlashLite was introduced to allow database
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...
s to be stored in Flash memory
Flash memory
Flash memory is a non-volatile computer storage chip that can be electrically erased and reprogrammed. It was developed from EEPROM and must be erased in fairly large blocks before these can be rewritten with new data...
All versions employ the client–server model to ensure the data are protected from misbehaving application software, and they use the same SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....
, ODBC and type-4 JDBC interfaces. Polyhedra is targeted primarily for embedded
Embedded system
An embedded system is a computer system designed for specific control functions within a larger system. often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal...
use by Original Equipment Manufacturer
Original Equipment Manufacturer
An original equipment manufacturer, or OEM, manufactures products or components that are purchased by a company and retailed under that purchasing company's brand name. OEM refers to the company that originally manufactured the product. When referring to automotive parts, OEM designates a...
s (OEMs), and big-name customers include Ericsson
Ericsson
Ericsson , one of Sweden's largest companies, is a provider of telecommunication and data communication systems, and related services, covering a range of technologies, including especially mobile networks...
, ABB, Emerson
Emerson Electric Company
Emerson Electric Company is a major multinational corporation headquartered in Ferguson, Missouri, United States. This Fortune 500 company manufactures products and provides engineering services for a wide range of industrial, commercial, and consumer markets.Emerson is one of the largest...
, Lockheed Martin
Lockheed Martin
Lockheed Martin is an American global aerospace, defense, security, and advanced technology company with worldwide interests. It was formed by the merger of Lockheed Corporation with Martin Marietta in March 1995. It is headquartered in Bethesda, Maryland, in the Washington Metropolitan Area....
, United Utilities
United Utilities
United Utilities Group PLC is the UK's largest listed water business. The Group owns and manages the regulated water and waste water network in the north west England, through it subsidiary United Utilities Water PLC , which is responsible for the vast majority of the group's assets and...
and Siemens AG
Siemens AG
Siemens AG is a German multinational conglomerate company headquartered in Munich, Germany. It is the largest Europe-based electronics and electrical engineering company....
.
Polyhedra Company History
Polyhedra development was started in 1991 by Perihelion Technology Ltd, a subsidiary of Perihelion Software LtdPerihelion Software
Perihelion Software was a United Kingdom company founded in 1986 by Dr. Tim King along with a number of colleagues who had all worked together at MetaComCo on AmigaOS and written compilers for both the Amiga and the Atari ST....
(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. All development and support is still done in the English
England
England is a country that is part of the United Kingdom. It shares land borders with Scotland to the north and Wales to the west; the Irish Sea is to the north west, the Celtic Sea to the south west, with the North Sea to the east and the English Channel to the south separating it from continental...
town of Shepton Mallet
Shepton Mallet
Shepton Mallet is a small rural town and civil parish in the Mendip district of Somerset in South West England. Situated approximately south of Bristol and east of Wells, the town is estimated to have a population of 9,700. It contains the administrative headquarters of Mendip District Council...
, where PSL was based.
Notable Features
Tim King, the founder of Perihelion Software LtdPerihelion Software
Perihelion Software was a United Kingdom company founded in 1986 by Dr. Tim King along with a number of colleagues who had all worked together at MetaComCo on AmigaOS and written compilers for both the Amiga and the Atari ST....
, developed a relational DBMS for historical data as part of his PhD work; Dave Stoneham, who set up PTL, had previously developed a SCADA
SCADA
SCADA generally refers to industrial control systems : computer systems that monitor and control industrial, infrastructure, or facility-based processes, as described below:...
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
Polling (computer science)
Polling, or polled operation, in computer science, refers to actively sampling the status of an external device by a client program as a synchronous activity. Polling is most often used in terms of input/output , and is also referred to as polled or software driven .Polling is sometimes used...
, 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 flashFlash memoryFlash memory is a non-volatile computer storage chip that can be electrically erased and reprogrammed. It was developed from EEPROM and must be erased in fairly large blocks before these can be rewritten with new data...
-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 transactionDatabase transactionA transaction comprises a unit of work performed within a database management system against a database, and treated in a coherent and reliable way independent of other transactions...
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 mechanismOptimistic concurrency controlIn the field of relational database management systems, optimistic concurrency control is a concurrency control method that assumes that multiple transactions can complete without affecting each other, and that therefore transactions can proceed without locking the data resources that they affect...
to handle clashing updates; - have a table inheritanceInheritance (computer science)In object-oriented programming , inheritance is a way to reuse code of existing objects, establish a subtype from an existing object, or both, depending upon programming language support...
mechanism which, when combined with Database triggerDatabase triggerA database trigger is procedural code that is automatically executed in response to certain events on a particular table or view in a database. The trigger is mostly used for keeping the integrity of the information on the database...
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.
Polyhedra IMDB achieves data persistence through the use of snapshots and journal logging
Transaction log
In the field of databases in computer science, a transaction log is a history of actions executed by a database management system to guarantee ACID properties over crashes or hardware failures...
; Polyhedra FlashLite uses shadow paging, with 2 levels of recursion. In addition, Polyhedra IMDB can be used in hot-standby
Hot spare
A hot spare or hot standby is used as a failover mechanism to provide reliability in system configurations. The hot spare is active and connected as part of a working system. When a key component fails, the hot spare is switched into operation...
configurations for improved availability
Availability
In telecommunications and reliability theory, the term availability has the following meanings:* The degree to which a system, subsystem, or equipment is in a specified operable and committable state at the start of a mission, when the mission is called for at an unknown, i.e., a random, time...
. The transactional model used by all Polyhedra products ensures atomicity, consistency and isolation (as defined by the ACID
ACID
In computer science, ACID is a set of properties that guarantee database transactions are processed reliably. In the context of databases, a single logical operation on the data is called a transaction...
properties); durability is enforced in Polyhedra FlashLite, 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."
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.
Polyhedra Release History
- 1991 Development started.
- 1993 Polyhedra 1.0: first commercial release of an in-memory Relational DBMS (RDBMS).
- 1995 Ported to WindowsMicrosoft WindowsMicrosoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
and LinuxLinuxLinux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
. - 1996 Polyhedra 2.0: added hot standbyHot spareA hot spare or hot standby is used as a failover mechanism to provide reliability in system configurations. The hot spare is active and connected as part of a working system. When a key component fails, the hot spare is switched into operation...
configurations for use in applications needing high availabilityHigh availabilityHigh availability is a system design approach and associated service implementation that ensures a prearranged level of operational performance will be met during a contractual measurement period....
. First port to an RTOS (pSOSPSOSpSOS is a real time operating system , created in about 1982 by Alfred Chao, and developed/marketed for the first part of its life by his company Software Components Group...
) - 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. OSEOperating System EmbeddedThe Operating System Embedded is a real-time embedded operating system created by the Swedish information technology company ENEA AB. Bengt Eliasson, who at the time was a consultant from ENEA with an assignment at Ericsson, wrote the basic parts of the kernel...
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: UNICODEUnicodeUnicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...
, schema migration (SQL 'ALTER TABLE'). - 2004 Polyhedra 6.0: 64-bit support re-introduced, for LinuxLinuxLinux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
and Solaris. (It previously had been available on DEC AlphaDEC AlphaAlpha, originally known as Alpha AXP, is a 64-bit reduced instruction set computer instruction set architecture developed by Digital Equipment Corporation , designed to replace the 32-bit VAX complex instruction set computer ISA and its implementations. Alpha was implemented in microprocessors...
under Digital UNIXTru64 UNIXTru64 UNIX is a 64-bit UNIX operating system for the Alpha instruction set architecture , currently owned by Hewlett-Packard . Previously, Tru64 UNIX was a product of Compaq, and before that, Digital Equipment Corporation , where it was known as Digital UNIX .As its original name suggests, Tru64...
until usage of that platform generally died out.) Polyhedra64 has subsequently been ported to Windows x64, AIX. - 2006 Polyhedra FlashLite introduced, based on a fork of the Polyhedra IMDB code base.
- 2007 Polyhedra 7.0: Polyhedra IMDB and Polyhedra FlashLite code bases unified, for ease of support and greater commonality of features. Also, enhanced resource management and multi-threading.
- 2008 Polyhedra 8.0: Polyhedra FlashLite now supports hot standbyHot spareA hot spare or hot standby is used as a failover mechanism to provide reliability in system configurations. The hot spare is active and connected as part of a working system. When a key component fails, the hot spare is switched into operation...
configurations for use in applications needing high availabilityHigh availabilityHigh availability is a system design approach and associated service implementation that ensures a prearranged level of operational performance will be met during a contractual measurement period....
, 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
Platforms
Polyhedra IMDB runs in 32-bit mode onLinux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
(first ported to this platform in 1995),
Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
(since 1995),
AIX (1994),
and Solaris (1994);
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 real-time operating systems including
Wind River Systems
Wind River Systems
Wind River Systems, Inc. is a company providing embedded systems, development tools for embedded systems, middleware, and other types of software. The company was founded in Berkeley, California in 1981 by Jerry Fiddler and David Wilner. On June 4, 2009, Wind River announced that Intel had bought...
VxWorks
VxWorks
VxWorks is a real-time operating system developed as proprietary software by Wind River Systems of Alameda, California, USA. First released in 1987, VxWorks is designed for use in embedded systems.- History :...
(since 1996; currently both VxWorks5.5 and VxWorks6 are supported),
LynuxWorks
LynuxWorks
LynuxWorks, Inc. is a San Jose, California software company founded in 1988. LynuxWorks produces embedded operating systems and tools for using full virtualization and paravirtualization in embedded systems...
LynxOS
LynxOS
The LynxOS RTOS is a Unix-like real-time operating system from LynuxWorks . Sometimes known as the Lynx Operating System, LynxOS features full POSIX conformance and, more recently, Linux compatibility...
(2004),
Green Hills
Green Hills Software
Green Hills Software is a privately owned company that builds operating systems and development tools for embedded systems. The company was founded in 1982 by Dan O'Dowd and Carl Rosenberg...
INTEGRITY
Integrity (operating system)
INTEGRITY is a real-time operating system produced and marketed by Green Hills Software. It is royalty-free, POSIX-certified, and intended for use in embedded systems needing reliability, availability, and fault tolerance. It is built atop the velOSity microkernel and is intended mainly for modern...
(2005),
Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
Windows CE
Windows CE
Microsoft Windows CE is an operating system developed by Microsoft for embedded systems. Windows CE is a distinct operating system and kernel, rather than a trimmed-down version of desktop Windows...
(2005)
and of course the OSE
Operating System Embedded
The Operating System Embedded is a real-time embedded operating system created by the Swedish information technology company ENEA AB. Bengt Eliasson, who at the time was a consultant from ENEA with an assignment at Ericsson, wrote the basic parts of the kernel...
operating system from ENEA AB
ENEA AB
ENEA is global information technology company with its headquarters in Kista, Sweden that provides real-time operating systems and consulting services...
(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:
Digital UNIX
Tru64 UNIX
Tru64 UNIX is a 64-bit UNIX operating system for the Alpha instruction set architecture , currently owned by Hewlett-Packard . Previously, Tru64 UNIX was a product of Compaq, and before that, Digital Equipment Corporation , where it was known as Digital UNIX .As its original name suggests, Tru64...
,
IRIX
IRIX
IRIX is a computer operating system developed by Silicon Graphics, Inc. to run natively on their 32- and 64-bit MIPS architecture workstations and servers. It was based on UNIX System V with BSD extensions. IRIX was the first operating system to include the XFS file system.The last major version...
,
pSOS
PSOS
pSOS is a real time operating system , created in about 1982 by Alfred Chao, and developed/marketed for the first part of its life by his company Software Components Group...
,
REAL/IX,
SCO UNIX,
ULTRIX
Ultrix
Ultrix was the brand name of Digital Equipment Corporation's native Unix systems. While ultrix is the Latin word for avenger, the name was chosen solely for its sound.-History:...
,
and Vax VMS
OpenVMS
OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...
.