Polyhedra DBMS

Last updated
Polyhedra DBMS
Developer(s) ENEA AB
Initial release30 June 1993;28 years ago (1993-06-30)
Stable release
9.7 / 17 December 2021;5 months ago (2021-12-17)
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.com/polyhedra

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.

Contents

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:

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

  • Polyhedra 8.3: Some SQL enhancements and streaming output from historian.
  • Polyhedra 8.4: performance enhancements
  • Polyhedra 9.2: reduced memory usage, RDI (Remove Device Interface) API, OPC UA RDI, and SQL EXPLAIN command.
  • Polyhedra 9.3: server initiated replication.

Related Research Articles

Database Organized collection of data in computing

In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases spans formal techniques and practical considerations including data modeling, efficient data representation and storage, query languages, security and privacy of sensitive data, and distributed computing issues including supporting concurrent access and fault tolerance.

MySQL SQL database engine software

MySQL is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter, and "SQL", the abbreviation for Structured Query Language. A relational database organizes data into one or more data tables in which data may be related to each other; these relations help structure the data. SQL is a language programmers use to create, modify and extract data from the relational database, as well as control user access to the database. In addition to relational databases and SQL, an RDBMS like MySQL works with an operating system to implement a relational database in a computer's storage system, manages users, allows for network access and facilitates testing database integrity and creation of backups.

Microsoft Access Database manager that is part of the Microsoft Office package

Microsoft Access is a database management system (DBMS) from Microsoft that combines the relational Access Database Engine (ACE) with a graphical user interface and software-development tools. It is a member of the Microsoft 365 suite of applications, included in the Professional and higher editions or sold separately.

IBM Db2 Relational model database server

Db2 is a family of data management products, including database servers, developed by IBM. They initially supported the relational model, but were extended to support object–relational features and non-relational structures like JSON and XML. The brand name was originally styled as DB/2, then DB2 until 2017 and finally changed to its present form.

In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An application written using ODBC can be ported to other platforms, both on the client and server side, with few changes to the data access code.

Btrieve is a transactional database software product. It is based on Indexed Sequential Access Method (ISAM), which is a way of storing data for fast retrieval. There have been several versions of the product for DOS, Linux, older versions of Microsoft Windows, 32-bit IBM OS/2 and for Novell NetWare.

Oracle TimesTen In-Memory Database is an in-memory, relational database management system with persistence and high availability. Originally designed and implemented at Hewlett-Packard labs in Palo Alto, California, TimesTen spun out into a separate startup in 1996 and was acquired by Oracle Corporation in 2005.

H2 (DBMS)

H2 is a relational database management system written in Java. It can be embedded in Java applications or run in client-server mode.

Virtuoso Universal Server Computer software

Virtuoso Universal Server is a middleware and database engine hybrid that combines the functionality of a traditional relational database management system (RDBMS), object–relational database (ORDBMS), virtual database, RDF, XML, free-text, web application server and file server functionality in a single system. Rather than have dedicated servers for each of the aforementioned functionality realms, Virtuoso is an "universal server"; it enables a single multithreaded server process that implements multiple protocols. The free and open source edition of Virtuoso Universal Server is also known as OpenLink Virtuoso. The software has been developed by OpenLink Software with Kingsley Uyi Idehen and Orri Erling as the chief software architects.

Microsoft SQL Server is a relational database management system developed by Microsoft. As a database server, it is a software product with the primary function of storing and retrieving data as requested by other software applications—which may run either on the same computer or on another computer across a network. Microsoft markets at least a dozen different editions of Microsoft SQL Server, aimed at different audiences and for workloads ranging from small single-machine applications to large Internet-facing applications with many concurrent users.

Raima Database Manager

Raima Database Manager is an ACID-compliant embedded database management system designed for use in embedded systems applications. RDM has been designed to utilize multi-core computers, networking, and on-disk or in-memory storage management. RDM provides support for multiple application programming interfaces (APIs): low-level C API, C++, and SQL(native, ODBC, JDBC, ADO.NET, and REST). RDM is highly portable and is available on Windows, Linux, Unix and several real-time or embedded operating systems. A source-code license is also available.

Raima

Raima is a multinational technology company headquartered in Seattle, USA. The company was founded in 1982. Raima develops, sells and supports in-memory and disk-based Relational Database Management Systems that can either be embedded within the application or be in a client/server mode. The company's focus is on OLTP databases with high-intensity transactional processing. Their cross-platform, small-footprint products are made to collect, store, manage and move data.

RDM Server

RDM Server is an embeddable, heterogeneous, client/server database management system supporting both C/C++ and SQL APIs for programming flexibility. The databases can be disk resident and/or memory resident. RDM Server implements multi-user locking, hot database backup, and a fully ACID-compliant transaction logging system with automatic crash recovery. It is currently supported on many 32- and 64-bit enterprise and embedded operating systems. The database library can optionally be run in-process with the application, eliminating client/server remote procedure calls.

An embedded database system is a database management system (DBMS) which is tightly integrated with an application software; it is "embedded in the application". It is actually a broad technology category that includes

Empress Embedded Database is a relational database management system that has been embedded into applications, including medical systems, network routers, nuclear power plant monitors, satellite management systems. Empress is an ACID compliant relational database management system (RDBMS) with two-phase commit and several transaction isolation levels for real-time embedded applications. It supports both persistent and in-memory storage of data and works with text, binary, multimedia, as well as traditional data.

Java Database Connectivity (JDBC) is an application programming interface (API) for the programming language Java, which defines how a client may access a database. It is a Java-based data access technology used for Java database connectivity. It is part of the Java Standard Edition platform, from Oracle Corporation. It provides methods to query and update data in a database, and is oriented toward relational databases. A JDBC-to-ODBC bridge enables connections to any ODBC-accessible data source in the Java virtual machine (JVM) host environment.

eXtremeDB is a high performance, low-latency, ACID-compliant embedded database management system using an in-memory database system (IMDS) architecture and designed to be linked into C/C++ based programs. It works on Windows, Linux, and other real-time and embedded operating systems.

Actian Zen is an ACID-compliant database management system (DBMS) developed by Pervasive Software. It is optimized for embedding in applications and used in several different types of packaged software applications offered by independent software vendors (ISVs) and original equipment manufacturers (OEMs). It is available for software as a service (SaaS) deployment due to a file-based architecture enabling partitioning of data for multitenancy needs.

The following outline is provided as an overview of and topical guide to MySQL:

The history of Microsoft SQL Server begins with the first Microsoft SQL Server database product - SQL Server v1.0, a 16-bit Relational Database for the OS/2 operating system, released in 1989.

References

  1. 1 2 3 Polyhedra® Lite In-Memory Relational Database System Freeware Available Now from Enea, Press Release, EECatalog.
  2. Enea Announces Flash-Based Relational Database Management System Archived 17 May 2008 at the Wayback Machine
  3. Business Wire: Enea Acquires Polyhedra
  4. thefreelibrary.com: Enea Acquires UK Company Polyhedra - Strengthens OSE With Database Technology
  5. Tim King – Home Page
  6. Handling time-series data in Polyhedra IMDB, White Paper, Enea.
  7. Aleksandra Tešanović, Dag Nyström, Jörgen Hansson, Christer Norström: Embedded databases for embedded real-time systems: a component-based approach (2002)
  8. Free real-time relational database for the Raspi, Raspberry Pi forum.
  9. Embedded DBMS gains locking and cascaded deletes, LinuxGizmos.com.
  10. Enea AB: Enea Protects the Communication between Database Server and Client Applications, Regulatory news, SPi World news.