СУБД Многогранники - Polyhedra DBMS

СУБД Многогранники
Разработчики) ENEA AB
Первый выпуск 30 июня 1993 г ​​. ; 27 лет назад  ( 1993-06-30 )
Стабильный выпуск
9.6 / 16 декабря 2020 г . ; 25 дней назад  ( 2020-12-16 )
Операционная система Linux , Windows , Solaris , VxWorks , LynxOS , целостность , OSE
Тип СУБД в памяти ; РСУБД на основе флэш-памяти
Лицензия Собственность , Polyhedra Lite доступна как бесплатное ПО
Веб-сайт enea .com / polyhedra

Многогранники семейство реляционных систем управления базами данных , предлагаемых ЭНЕА AB , в шведской компании. Первоначальная версия Polyhedra (теперь называемая Polyhedra IMDB) представляла собой систему управления базами данных в оперативной памяти, которую можно было использовать в конфигурациях высокой доступности ; В 2006 году была представлена ​​СУБД Polyhedra Flash, позволяющая хранить базы данных во флэш-памяти . Все версии используют модель клиент-сервер, чтобы гарантировать защиту данных от некорректного поведения прикладного программного обеспечения, и они используют те же интерфейсы SQL , ODBC и JDBC типа 4 . Polyhedra предназначена в первую очередь для встроенного использования производителями оригинального оборудования (OEM), а среди крупных клиентов - Ericsson , ABB , Emerson , Lockheed Martin , United Utilities и Siemens AG .

Компания

Разработка многогранников была начата в 1991 году компанией Perihelion Technology Ltd, дочерней компанией Perihelion Software Ltd (PSL); Первоначально проект имел рабочее название «Perihelion Application Toolkit», но вскоре был переименован в Polyhedra (с использованием торговой марки, оставшейся от другого проекта PSL). В 1994 году руководство выкупило PTL, и название компании было изменено на Polyhedra plc, чтобы соответствовать названию продукта. Polyhedra plc, в свою очередь, была приобретена Enea AB в 2001 году. Вся разработка и поддержка по-прежнему осуществляется в английском городе Шептон-Маллет , где базируется PSL.

Особенности

Тим Кинг, основатель Perihelion Software Ltd , разработал реляционную СУБД для исторических данных в рамках своей докторской работы; Дэйв Стоунхэм, создавший PTL, ранее разработал систему SCADA . Основываясь на этом опыте, Polyhedra изначально была разработана, чтобы «принести преимущества реляционной технологии на рынок встраиваемых систем». Для этого он должен был быть маленьким, очень быстрым ... и он должен был избегать необходимости в опросе , который убивает производительность. Следовательно, он был разработан с самого начала, чтобы:

  • хранить рабочую копию данных в памяти (хотя теперь есть вариант, который хранит данные в файле на основе флэш-памяти );
  • использовать архитектуру клиент-сервер для защиты данных от повреждения вредоносным кодом приложения;
  • иметь механизм «активного запроса» для обновления клиентских приложений, когда происходят соответствующие изменения в базе данных;
  • иметь очень простую модель обработки, в которой транзакция представляет собой либо изменение схемы, либо запрос, либо запрос набора вставок, обновлений и / или удалений - такие изменения могут быть выражены либо с помощью операторов SQL, либо путем обновления через активные запросы с помощью (в сочетании с активными запросами) оптимистичный механизм параллелизма для обработки конфликтующих обновлений;
  • имеют механизм наследования таблиц, который в сочетании с триггерами базы данных (через язык CL, см. ниже) позволяет разработчику базы данных программировать базу данных объектно-ориентированным способом. Наследование таблиц также позволяет избежать или уменьшить потребность в дополнительных таблицах, первичный ключ которых является внешним ключом для другой таблицы, и, таким образом, может упростить многие запросы и обновления.
  • иметь модуль Historian, позволяющий эффективно собирать, хранить, архивировать и запрашивать большие объемы данных временных рядов.

Polyhedra IMDB обеспечивает постоянство данных за счет использования моментальных снимков и ведения журнала ; В СУБД Polyhedra Flash используется теневое разбиение на страницы с 2 уровнями рекурсии. Кроме того, Polyhedra можно использовать в конфигурациях горячего резервирования для повышения доступности . Транзакционная модель, используемая всеми продуктами Polyhedra, обеспечивает атомарность, согласованность и изоляцию (как определено свойствами ACID ); Долговечность обеспечивается в СУБД Polyhedra Flash, тогда как в Polyhedra IMDB клиенты могут выбирать модель долговечности при выполнении транзакций.

«Система СУБД Polyhedra принципиально отличается от других реляционных систем из-за ее активного поведения. Это достигается с помощью двух механизмов, активных запросов и управляющего языка (CL). Активный запрос выглядит вполне как обычный запрос, в котором некоторые данные извлекается и / или записывается, но вместо этого запрос остается в базе данных до явного прерывания. Когда происходит изменение в данных, которое может изменить результат запроса, приложение уведомляется. CL, который является полностью объектно-ориентированным язык сценариев, который поддерживает инкапсуляцию, скрытие информации и наследование, может определять поведение данных в базе данных. Это означает, что методы, частные или общедоступные, могут быть связаны с данными, выполняющими операции над ними, без участия приложения ».

Polyhedra не является СУБД общего назначения, поскольку модель транзакций с ограничениями не удовлетворяет всем требованиям, а ее модель отказоустойчивости основана на подходе с горячим резервом (для минимизации затрат на оборудование), а не на кластеризации (что лучше для нагрузки. обмен). Однако его ограничения заключаются в преимуществах встроенного использования, где упор в развернутом приложении делается на производительность и стоимость, а не на обработку постоянно меняющихся шаблонов использования.

Большинство продуктов Polyhedra доступны для покупки по частной лицензии, но в 2012 году Enea выпустила Polyhedra Lite по бесплатной лицензии.

История выпуска

  • 1991 Начало разработки.
  • 1993 Polyhedra 1.0 : первый коммерческий выпуск реляционной СУБД в памяти (RDBMS).
  • 1995 г. Переносится на Windows и Linux .
  • 1996 Polyhedra 2.0 : добавлены конфигурации горячего резервирования для использования в приложениях, требующих высокой доступности . Первый порт для RTOS ( pSOS )
  • 1997 Polyhedra 3.0 : новый механизм хранения данных в памяти для повышения эффективности использования пространства и времени.
  • 1999 Polyhedra 3.1 : добавлены новые типы данных, ODBC API . Порт OSE .
  • 2001 Polyhedra 4.0 : поддержка JDBC , дополнительный тип индекса, реплики только для чтения, многопоточность.
  • 2002 год. Polyhedra 4.1 : коммуникация клиент-сервер подверглась капитальному ремонту для существенного улучшения производительности, особенно для клиентских приложений, использующих ODBC API (который теперь считается «родным» API для всех платформ).
  • 2003 Polyhedra 5.0 : UNICODE , миграция схемы ( SQL 'ALTER TABLE' ).
  • 2004 Polyhedra 6.0 : повторно введена поддержка 64-битных версий для Linux и Solaris . (Ранее он был доступен на DEC Alpha под Digital UNIX, пока использование этой платформы не прекратилось.) Polyhedra64 впоследствии был перенесен на Windows x64 .
  • 2006 Представлена СУБД Polyhedra Flash , основанная на ответвлении кодовой базы Polyhedra IMDB.
  • 2007 Polyhedra 7.0 : Унифицированы кодовые базы СУБД Polyhedra IMDB и Polyhedra Flash для упрощения поддержки и большей универсальности функций. Также улучшено управление ресурсами и многопоточность.
  • 2008 Polyhedra 8.0 : СУБД Polyhedra Flash теперь поддерживает конфигурации горячего резервирования для использования в приложениях, требующих высокой доступности , аналогично Polyhedra IMDB. В Polyhedra 8.1 добавлена ​​поддержка Linux / MIPS, возможность отслеживать активные запросы и усовершенствован архиватор.
  • 2009 Polyhedra 8.2 : драйверы ODBC для Linux и IPv6
  • 2010 г.
  • Многогранники 8.3 : Некоторые улучшения SQL и потоковый вывод от Historian.
  • Многогранники 8.4 : улучшения производительности
  • 2011 Polyhedra 8.5 : лучшая интеграция со сторонними инструментами и повышенная производительность в Windows. Серверы-реплики можно использовать в разветвленной конфигурации для лучшего масштабирования.
  • 2012 Polyhedra 8.6 : 64-битный целочисленный тип данных. Представлена Polyhedra Lite : бесплатная версия Polyhedra32 IMDB с ограниченной функциональностью, доступная для Windows, а также для Linux на x86 и Raspberry Pi .
  • 2013
  • 2014 Polyhedra 8.9 : усовершенствования SQL ( GROUP BY и HAVING , DISTINCT, внешние соединения ), улучшения безопасности и оперативное резервное копирование данных временных рядов.
  • 2015 Polyhedra 9.0 : частичная репликация базы данных только для чтения с помощью механизма подписки, поставщика данных ADO.NET для Polyhedra, а также усовершенствования проприетарного «API обратного вызова», которые могут значительно повысить производительность.
  • 2016 Polyhedra 9.1 : двунаправленная подписка и частичная репликация таблиц, мониторинг внутренних ресурсов и модуль Python DB-API с расширениями для специфичных для Polyhedra функций, таких как активные запросы.
  • 2017 г.
  • Polyhedra 9.2 : сокращение использования памяти, RDI (Remove Device Interface) API, OPC UA RDI и команда SQL EXPLAIN.
  • Polyhedra 9.3 : репликация, инициированная сервером.
  • 2018 Polyhedra 9.4 : встроенный API базы данных и ограниченные индексы на основе функций SQL.
  • 2019 Polyhedra 9.5 : резервное копирование, интерфейс MQTT и интерфейс Grafana.
  • 2020 Polyhedra 9.6 : усовершенствования REST API, WebSocket Server и IMDB API.

Рекомендации

внешние ссылки