Polyhedra is an in-memory RDBMS for developers, targeted both to embedded systems and standard client/server implementations. It is deployed and utilized in client/server configurations, with client applications connecting to the server via TCP/IP or a platform specific transport. Multiple operating systems--included embedded systems--are supported, and, provided the connectivity is appropriate (TCP/IP, UDB), clients on a specific platform are able to communicate with a server operating on a separate platform.
As an in-memory database, disk I/O for data operations is necessary only on initial start up, when preserving information via a "snapshot," (which allows for the saving of persistent data information on an as-needed basis; FTP and FLASH storage are also supported), and when write-behind journalling--which allows for data persistence at an object-by-object level as well as the creation of hot-standy databases--is enabled. As alluded to, fail-over functionality in the server--when used in combination with data journalling--allows for the automatic switch over of data queries and access to a hot-standy database should the master database go down. "Active Queries" (discussed below) are automatically maintained over such a fail-over action; and the standy database itself can be made available at all times for read-only queries. Read-only "replica" databases can also be configured; and, like the standy database, needn't be deployed on the same platform as the master DB.
Interacting with the database server is accomplished via its support for several standard interface mechanisms; including an ODBC API, a Native Type 4 JDBC driver, and an OLE/DB provider. A C/C++ API using the callback model is also available. Data is defined through an extended, object-oriented extension of ANSI standard SQL that allows for the definition and usage of custom data classes via inheritance from built-in SQL data types or user defined classes. The vendor's own Control Language (CL), an object oriented scripting language, can be utilized to automatically equate methods/behaviors to individual tables (similar to triggers/stored procedures) such as when objects are created and deleted, or when attribute values are changed. CL can also be used to rapidly prototype access clients. Both SQL Grant and Revoke are supported for the assignment of access rights to tables and attributes.
Other key features of Polyhedra include:
- Active Query support, which allows for a specific SQL query to remain active (persistent) within the DB, automatically sending notifications to all interested clients whenever the results of the query change
- The ability to operate as a Web server, providing in-memory DB functionality accessible by a Web browser
- An interactive SQL Command Interpreter for ad-hoc data queries
Polyhedra is available now; with pricing starting at $11,995 for a single development license.