Polyhedra es una familia de sistemas de gestión de bases de datos relacionales ofrecidos por ENEA AB , una empresa sueca . La versión original de Polyhedra (ahora denominada Polyhedra IMDB) era un sistema de gestión de bases de datos en memoria que se podía utilizar en configuraciones de alta disponibilidad ; en 2006 se introdujo Polyhedra Flash DBMS para permitir que las bases de datos se almacenen en la memoria flash . [2] Todas las versiones emplean el modelo cliente-servidor para garantizar que los datos estén protegidos contra el mal funcionamiento del software de aplicación, y utilizan el mismo SQL , ODBC y JDBC de tipo 4.interfaces. Polyhedra está destinado principalmente para el uso integrado por los fabricantes de equipos originales (OEM), y los clientes de renombre incluyen Ericsson , ABB , Emerson , Lockheed Martin , United Utilities y Siemens AG .
Desarrollador (es) | ENEA AB |
---|---|
Versión inicial | 30 de junio de 1993 |
Lanzamiento estable | 9.6 / 16 de diciembre de 2020 |
Sistema operativo | Linux , Windows , Solaris , VxWorks , LynxOS , Integrity , OSE |
Tipo | RDBMS en memoria ; RDBMS basado en flash |
Licencia | Propietario , con Polyhedra Lite disponible como software gratuito [1] |
Sitio web | enea |
Empresa
El desarrollo de Polyhedra se inició en 1991 por Perihelion Technology Ltd, una subsidiaria de Perihelion Software Ltd (PSL); Inicialmente, el proyecto tenía un título provisional de "Perihelion Application Toolkit", pero pronto se le cambió el nombre a Polyhedra (usando una marca registrada sobrante de otro proyecto de PSL). Hubo una compra por parte de la gerencia de PTL en 1994 y el nombre de la empresa cambió a Polyhedra plc para que coincida con el nombre del producto. Polyhedra plc, a su vez, fue adquirida por Enea AB en 2001. [3] [4] Todo el desarrollo y el apoyo aún se realizan en la ciudad inglesa de Shepton Mallet , donde PSL tenía su sede.
Características
Tim King, el fundador de Perihelion Software Ltd , desarrolló un DBMS relacional para datos históricos como parte de su trabajo de doctorado; [5] Dave Stoneham, quien creó PTL, había desarrollado previamente un sistema SCADA . Sobre la base de estas experiencias, Polyhedra se desarrolló originalmente "para llevar los beneficios de la tecnología relacional al mercado integrado". Con este fin, tenía que ocupar un espacio reducido, muy rápido ... y tenía que evitar la necesidad de realizar una encuesta , que es un asesino del rendimiento. En consecuencia, fue diseñado desde el principio para:
- mantener la copia de trabajo de los datos en la memoria (aunque ahora existe una variante que mantiene los datos en un archivo basado en flash );
- utilizar una arquitectura cliente-servidor para proteger los datos de la corrupción por código de aplicación falso;
- tener un mecanismo de "consulta activa" para actualizar las aplicaciones del cliente cuando se produzcan cambios relevantes en la base de datos;
- tener un modelo de procesamiento muy simple donde una transacción es un cambio de esquema, una consulta o una solicitud de un conjunto de inserciones, actualizaciones y / o eliminaciones; tales alteraciones pueden expresarse a través de declaraciones SQL o mediante la actualización a través de las consultas activas con (junto con consultas activas) un mecanismo de simultaneidad optimista para manejar actualizaciones en conflicto;
- tienen un mecanismo de herencia de tablas que, cuando se combina con los activadores de la base de datos (a través del lenguaje CL, ver más abajo), permite al diseñador de la base de datos programar la base de datos de una manera orientada a objetos. La herencia de tablas también evita o reduce la necesidad de tablas complementarias cuya clave principal sea una clave externa a otra tabla y, por lo tanto, puede simplificar muchas consultas y actualizaciones.
- tienen un módulo Historian [6] para permitir que grandes volúmenes de datos de series de tiempo sean capturados, almacenados, archivados y consultados de manera eficiente.
Polyhedra IMDB logra la persistencia de datos mediante el uso de instantáneas y registro de diario ; Polyhedra Flash DBMS utiliza paginación en la sombra , con 2 niveles de recursividad. Además, Polyhedra se puede utilizar en configuraciones de espera en caliente para mejorar la disponibilidad . El modelo transaccional utilizado por todos los productos Polyhedra asegura la atomicidad, la consistencia y el aislamiento (según lo definido por las propiedades de ACID ); La durabilidad se aplica en Polyhedra Flash DBMS, mientras que en Polyhedra IMDB los clientes pueden elegir el modelo de durabilidad cuando emiten sus transacciones.
"El sistema Polyhedra DBMS es fundamentalmente diferente en comparación con otros sistemas relacionales, debido a su comportamiento activo. Esto se logra a través de dos mecanismos, consultas activas y mediante el lenguaje de control (CL). Una consulta activa se parece bastante a una consulta normal donde algunos datos se recupera y / o escribe, pero en cambio la consulta permanece en la base de datos hasta que se aborta explícitamente. Cuando ocurre un cambio en los datos que alteraría el resultado de la consulta, se notifica a la aplicación. El lenguaje de script que admite encapsulación, ocultación de información y herencia, puede determinar el comportamiento de los datos en la base de datos. Esto significa que los métodos, privados o públicos, pueden asociarse con datos que realizan operaciones en ellos sin involucrar a la aplicación ". [7]
Polyhedra no es un DBMS de propósito general, ya que el modelo transaccional restringido no satisface todas las necesidades, y su modelo de tolerancia a fallas se basa en el enfoque de espera en caliente (para minimizar los costos de hardware) en lugar de la agrupación (que es mejor para la carga). intercambio). Sin embargo, sus limitaciones son beneficios en el uso integrado, donde el énfasis en una aplicación implementada está en el rendimiento y el costo en lugar de manejar patrones de uso que varían continuamente.
La mayoría de los productos Polyhedra están disponibles para su compra bajo una licencia propietaria , pero en 2012 Enea lanzó Polyhedra Lite bajo una licencia gratuita. [1]
Historial de versiones
- 1991 Se inicia el desarrollo.
- 1993 Polyhedra 1.0 : primer lanzamiento comercial de un DBMS relacional en memoria (RDBMS).
- 1995 Portado a Windows y Linux .
- 1996 Polyhedra 2.0 : configuraciones de espera en caliente agregadas para su uso en aplicaciones que necesitan alta disponibilidad . Primer puerto a un RTOS ( pSOS )
- 1997 Polyhedra 3.0 : nuevo motor de almacenamiento de datos en memoria, para mejorar la eficiencia del espacio y el tiempo.
- 1999 Polyhedra 3.1 : agrega nuevos tipos de datos, API ODBC . Puerto OSE .
- 2001 Polyhedra 4.0 : compatibilidad con JDBC , tipo de índice adicional, réplicas de solo lectura, subprocesos múltiples.
- 2002 Polyhedra 4.1 : se revisaron las comunicaciones cliente-servidor para obtener mejoras sustanciales en el rendimiento, especialmente para las aplicaciones cliente que utilizan la API de ODBC (ahora considerada la API "nativa" para todas las plataformas).
- 2003 Polyhedra 5.0 : UNICODE , migración de esquema ( SQL 'ALTER TABLE' ).
- 2004 Polyhedra 6.0 : reintroducción del soporte de 64 bits para Linux y Solaris . (Anteriormente había estado disponible en DEC Alpha bajo Digital UNIX hasta que el uso de esa plataforma en general desapareció). Polyhedra64 se ha portado posteriormente a Windows x64 .
- 2006 Se introdujo Polyhedra Flash DBMS , basado en una bifurcación del código base Polyhedra IMDB.
- 2007 Polyhedra 7.0 : bases de código Polyhedra IMDB y Polyhedra Flash DBMS unificadas, para facilitar el soporte y una mayor uniformidad de características. Además, gestión de recursos mejorada y subprocesos múltiples.
- 2008 Polyhedra 8.0 : Polyhedra Flash DBMS ahora admite configuraciones de espera activa para su uso en aplicaciones que necesitan alta disponibilidad , de manera similar a Polyhedra IMDB. Polyhedra 8.1 agregó compatibilidad con Linux / MIPS, la capacidad de monitorear consultas activas y mejoras en el historial.
- 2009 Polyhedra 8.2 : controladores ODBC de Linux e IPv6
- 2010
- Polyhedra 8.3 : algunas mejoras de SQL y salida de transmisión de historiador.
- Polyhedra 8.4 : mejoras de rendimiento
- 2011 Polyhedra 8.5 : mejor integración con herramientas de terceros y rendimiento mejorado en Windows. Los servidores réplica se pueden utilizar en una configuración de distribución para un mejor escalado.
- 2012 Polyhedra 8.6 : tipo de datos enteros de 64 bits. Polyhedra Lite presentó: [1] una versión de uso gratuito y funcionalidad reducida de Polyhedra32 IMDB, disponible para Windows y para Linux en x86 y Raspberry Pi . [8]
- 2013
- Poliedros 8.7 : [9] bloqueos y eliminaciones en cascada .
- Polyhedra 8.8 : [10] comunicaciones cifradas
- 2014 Polyhedra 8.9 : mejoras de SQL ( GROUP BY y HAVING , DISTINCT, uniones externas ), mejoras de seguridad y copias de seguridad en línea para datos de series temporales.
- 2015 Polyhedra 9.0 : replicación de base de datos parcial de solo lectura a través de un mecanismo de suscripción, un proveedor de datos ADO.NET para Polyhedra y mejoras en la 'API de devolución de llamada' patentada que pueden producir mejoras significativas en el rendimiento.
- 2016 Polyhedra 9.1 : suscripción bidireccional y replicación de tabla parcial, monitoreo interno de recursos y un módulo Python DB-API con extensiones para características específicas de Polyhedra, como consultas activas.
- 2017
- Polyhedra 9.2 : uso reducido de memoria, API RDI (Eliminar interfaz de dispositivo), OPC UA RDI y comando SQL EXPLAIN.
- Polyhedra 9.3 : replicación iniciada por el servidor.
- 2018 Polyhedra 9.4 : API de base de datos integrada e índices limitados basados en funciones SQL.
- 2019 Polyhedra 9.5 : respaldo en espera, interfaz MQTT e interfaz Grafana.
- 2020 Polyhedra 9.6 : API REST, WebSocket Server e IMDB API Mejoras.
Referencias
- ^ a b c Polyhedra® Lite In-Memory Relational Database System Freeware disponible ahora de Enea , Comunicado de prensa, EECatalog.
- ^ Enea anuncia un sistema de gestión de bases de datos relacionales basado en Flash. Archivado el 17 de mayo de 2008 en Wayback Machine.
- ^ Business Wire: Enea adquiere poliedros
- ^ thefreelibrary.com: Enea adquiere Polyhedra de la compañía del Reino Unido - Fortalece OSE con tecnología de base de datos
- ^ Tim King - Página de inicio
- ^ Manejo de datos de series de tiempo en Polyhedra IMDB , White Paper, Enea.
- ^ Aleksandra Tešanović, Dag Nyström, Jörgen Hansson, Christer Norström: Bases de datos integradas para sistemas integrados en tiempo real: un enfoque basado en componentes (2002)
- ^ Base de datos relacional gratuita en tiempo real para Raspi , foro de Raspberry Pi.
- ^ DBMS integrado gana bloqueos y eliminaciones en cascada , LinuxGizmos.com.
- ^ Enea AB: Enea protege la comunicación entre el servidor de base de datos y las aplicaciones del cliente , noticias regulatorias, noticias de SPi World.
enlaces externos
- Página web oficial
- Información para usuarios de Polyhedra