Polyhedra DBMS

Polyhedra DBMS

Infobox Software
name = Polyhedra DBMS



caption =
developer = ENEA AB
released = 1993
latest_release_version = 8.0
latest_release_date = 4 July 2008
latest_preview_version =
latest_preview_date =
release_location =
operating system = Cross-platform (List)
programming language = C++, plus Java for the JDBC driver
language = C/C++, Java
genre = in-memory RDBMS
license = Proprietary
website = http://www.polyhedra.com/

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 FlashLite was introduced to allow databases to be stored in Flash memory [. [http://www.enea.com/templates/Extension____8923.aspx Enea Announces Flash-Based Dr. Relational Database Management System] ] All versions are fully client-server to ensure the data is protected form misbehaving application software, and 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.

Polyhedra Company History

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. [Business Wire: [http://www.allbusiness.com/technology/software-services-applications/6050443-1.html Enea Acquires Polyhedra] ] [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] ] All development and support is still done in the English town of Shepton Mallet, where PSL was based.

Notable Features

Tim King, the founder of Perihelion Software Ltd, developed a relational DBMS for historical data as part of his PhD work; [ [http://www.tim-king.com/ Tim King - Home Page ] ] 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.

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 throughtwo mechanisms, active queries and by the control language (CL). An active query looksquite like a normal query where some data is retrieved and/or written, but instead the querystays in the database until explicitly aborted. When a change in the data occurs that wouldalter the result of the query, the application is notified. The CL, which is a fully object-orientedscript language that supports encapsulation, information hiding and inheritance,can determine the behaviour of data in the database. This means that methods, private orpublic, can be associated with data performing operations on them without involving theapplication." [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)]

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 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, 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 standby configurations for use in applications needing high availability, in a similar way to Polyhedra IMDB

Platforms

Polyhedra IMDB runs in 32-bit mode on
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, [http://www.modcomp.com/realtime/documents/tech_docs/c_and_c/c_and_c.html REAL/IX] ,
SCO UNIX,
ULTRIX, and Vax VMS.

References

External links

* [http://www.enea.com/ Company website]
* [http://www.polyhedra.com/ Product website]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Polyhedra — may mean:* Polyhedra DBMS, a relational database system *Polyhedron (magazine), a game magazine * Polyhedron (plural form: polyhedra ), a mathematical concept …   Wikipedia

  • Polyhedron — Polyhedra redirects here. For the relational database system, see Polyhedra DBMS. For the game magazine, see Polyhedron (magazine). For the scientific journal, see Polyhedron (journal). Some Polyhedra Dodecahedron (Regular polyhedron) …   Wikipedia

  • Comparison of relational database management systems — Programming language comparisons General comparison Basic syntax Basic instructions Arrays Associative arrays String operations …   Wikipedia

  • ENEA AB — Infobox Company company name = ENEA AB company company type = Public (OMX Nordic Exchange Stockholm [http://omxnordicexchange.com/priceinformation/microsite/Shareinformation/?InstrumentId=SSE1149 Small Cap, ticker: ENEA] ) company slogan =… …   Wikipedia

  • List of software products — This is a list of software by genre, operating system, and type of licensing. Contents 1 Office 1.1 Office suites 1.2 Word processors 1.3 Database management systems …   Wikipedia

  • In-memory database — An in memory database (IMDB; also main memory database system or MMDB) is a database management system that primarily relies on main memory for computer data storage. It is contrasted with database management systems which employ a disk storage… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”