Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Многогранники семейство реляционных систем управления базами данных , предлагаемых ЭНЕА AB , в шведской компании. Первоначальная версия Polyhedra (теперь называемая Polyhedra IMDB) представляла собой систему управления базами данных в памяти, которую можно было использовать в конфигурациях высокой доступности ; В 2006 году была представлена ​​СУБД Polyhedra Flash, позволяющая хранить базы данных во флэш-памяти . [2] Все версии используют модель клиент-сервер, чтобы гарантировать защиту данных от некорректного поведения прикладного программного обеспечения, и они используют один и тот же 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 году. [3] [4] Вся разработка и поддержка по-прежнему осуществляется в английском городе Шептон-Маллет , где базировалась PSL.

Особенности [ править ]

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

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

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

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

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

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

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

  • 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 и потоковый вывод от архиватора.
  • Многогранники 8.4 : улучшения производительности
  • 2011 Polyhedra 8.5 : лучшая интеграция со сторонними инструментами и повышенная производительность в Windows. Серверы-реплики можно использовать в разветвленной конфигурации для лучшего масштабирования.
  • 2012 Polyhedra 8.6 : 64-битный целочисленный тип данных. Polyhedra Lite представила: [1] бесплатную версию Polyhedra32 IMDB с ограниченной функциональностью, доступную для Windows, а также для Linux на x86 и Raspberry Pi . [8]
  • 2013
  • Многогранники 8.7 : [9] блокирующие и каскадные удаления .
  • Многогранники 8.8 : [10] зашифрованных сообщений
  • 2014 Polyhedra 8.9 : усовершенствования SQL ( GROUP BY и HAVING , DISTINCT, внешние соединения ), улучшения безопасности и оперативное резервное копирование данных временных рядов.
  • 2015 Polyhedra 9.0 : частичная репликация базы данных только для чтения с помощью механизма подписки, поставщика данных ADO.NET для Polyhedra, а также усовершенствования проприетарного «API обратного вызова», которые могут значительно повысить производительность.
  • 2016 Polyhedra 9.1 : двунаправленная подписка и частичная репликация таблиц, мониторинг внутренних ресурсов и модуль Python DB-API с расширениями для специфичных для многогранников функций, таких как активные запросы.
  • 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.

Ссылки [ править ]

  1. ^ a b c Система реляционных баз данных в памяти Polyhedra® Lite теперь доступна бесплатно от Enea , пресс-релиз, EECatalog.
  2. ^ Enea объявляет о выпуске системы управления реляционными базами данных на основе флэш-памяти, заархивированной 17 мая 2008 г. на Wayback Machine
  3. Деловая переписка: Энеа приобретает многогранники
  4. ^ thefreelibrary.com: Enea приобретает британскую компанию Polyhedra - усиливает операционную среду с помощью технологии баз данных
  5. ^ Тим Кинг - Домашняя страница
  6. ^ Обработка данных временных рядов в Polyhedra IMDB , White Paper, Enea.
  7. ^ Александра Тешанович, Даг Нистрем, Йорген Ханссон, Кристер Норстрём: Встроенные базы данных для встроенных систем реального времени: компонентный подход (2002)
  8. ^ Бесплатная реляционная база данных в реальном времени для форума Raspi , Raspberry Pi.
  9. ^ Встроенная СУБД получает блокировку и каскадное удаление , LinuxGizmos.com.
  10. ^ Enea AB: Enea защищает обмен данными между сервером базы данных и клиентскими приложениями , нормативные новости, новости SPi World.

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Информация для пользователей Многогранников