Jump to content

Виртуозный универсальный сервер

Виртуозный универсальный сервер
Разработчик(и) Программное обеспечение OpenLink
Стабильная версия
7.2.7 / 18 мая 2022 г .; 2 года назад ( 18.05.2022 ) [1]
Репозиторий
Написано в С
Операционная система Кросс-платформенный
Тип Triplestore , СУБД , сервер приложений , веб-сервер
Лицензия лицензия GPLv2 [2] и собственность
Веб-сайт виртуоз .openlinksw

Virtuoso Universal Server — это гибрид промежуточного программного обеспечения и ядра базы данных , который сочетает в себе функциональность традиционной системы управления реляционными базами данных (RDBMS), объектно-реляционной базы данных (ORDBMS), виртуальной базы данных , RDF , XML , произвольного текста , сервера веб-приложений и файлового сервера. функциональность в единой системе. Вместо того, чтобы иметь выделенные серверы для каждой из вышеупомянутых функциональных областей, Virtuoso является «универсальным сервером»; он позволяет использовать один многопоточный серверный процесс , реализующий несколько протоколов. Бесплатная версия Virtuoso Universal Server с открытым исходным кодом также известна как OpenLink Virtuoso . Программное обеспечение было разработано OpenLink Software под руководством Кингсли Уи Идехена и Орри Эрлинга в качестве главных архитекторов программного обеспечения .

Структура базы данных

[ редактировать ]

Основной механизм базы данных

[ редактировать ]

Virtuoso предоставляет расширенную объектно-реляционную модель , которая сочетает в себе гибкость реляционного доступа с наследованием , типизацией данных во время выполнения, поздним связыванием и доступом на основе удостоверений . База данных Virtuoso Universal Server включает физические файлы и хранилища в памяти, а также процессы операционной системы, которые взаимодействуют с хранилищем. Существует один основной процесс, который имеет прослушиватели на указанном порту для HTTP , SOAP и других протоколов.

Архитектура

[ редактировать ]

Virtuoso разработан с учетом преимуществ поддержки многопоточности операционной системы и нескольких процессоров. Он состоит из одного процесса с настраиваемым пулом потоков, совместно используемых клиентами. Несколько потоков могут работать с одним индексным деревом с минимальным вмешательством друг в друга. Один кэш страниц базы данных используется всеми потоками, а старые «грязные» страницы записываются обратно на диск в качестве фонового процесса.

База данных всегда имеет чистое состояние контрольной точки и дельту зафиксированных или незафиксированных изменений в этом состоянии контрольной точки. Это позволяет делать чистую резервную копию состояния контрольной точки, пока транзакции продолжаются в состоянии фиксации.

Файл журнала транзакций записывает все транзакции с момента последней контрольной точки. Файлы журнала транзакций могут сохраняться и архивироваться в течение неопределенного времени, обеспечивая полную восстанавливаемую историю базы данных.

Для хранения всех таблиц используется один набор файлов. Для всех временных данных используется отдельный набор файлов. Максимальный размер набора файлов составляет 32 терабайта для страниц 4G × 8K.

Блокировка

[ редактировать ]

Virtuoso обеспечивает динамическую блокировку, начиная с блокировок на уровне строк и заканчивая блокировками на уровне страниц, когда курсор удерживает большой процент строк страницы или когда он имеет историю блокировки целых страниц. Эскалация блокировки происходит только тогда, когда никакие другие транзакции не удерживают блокировки на той же странице, поэтому она никогда не приводит к взаимоблокировкам. Virtuoso SQL предоставляет средства для эксклюзивного чтения и настройки изоляции транзакций.

Транзакции

[ редактировать ]

Поддерживаются все четыре уровня изоляции: грязное чтение, зафиксированное чтение, повторяемое чтение и сериализуемый. Уровень изоляции может определяться поочередно в рамках одной транзакции. Virtuoso также может выступать в качестве менеджера ресурсов и/или координатора транзакций в соответствии с координатором распределенных транзакций Microsoft ( MS DTC ) или XA стандартом .

Целостность данных

[ редактировать ]

База данных Virtuoso ORDBMS поддерживает целостность объектов и ссылочную целостность . Virtuoso гарантирует, что связи между записями в связанных таблицах действительны, обеспечивая ссылочную целостность . Ограничения целостности включают в себя:

  • NOT NULL – в определении таблицы Virtuoso позволяет данным содержать значение NULL. Это значение NULL на самом деле вообще не является значением и считается отсутствием значения. Ограничение NOT NULL приводит к присвоению значения столбцу.
  • Уникальный ключ . Уникальность столбца или набора столбцов означает, что значения в этом столбце или наборе столбцов должны отличаться от всех других столбцов или набора столбцов в этой таблице. Уникальный ключ может содержать значения NULL, поскольку они по определению являются уникальными значениями без значений.
  • Первичный ключ . Первичный ключ во многом похож на уникальные ключи, за исключением того, что он предназначен для уникальной идентификации строки в таблице. Они могут состоять из одного или нескольких столбцов. Первичный ключ не может содержать значение NULL.
  • CHECK Constraint – Virtuoso обеспечивает для столбца ограничение целостности, которое требует выполнения определенных условий перед вставкой или изменением данных. Если чеки не удовлетворены, транзакция не может быть завершена.

Словарь данных

[ редактировать ]

Virtuoso хранит всю информацию обо всех пользовательских объектах базы данных в таблицах системного каталога, обозначенных db.dba*.

Компоненты и файлы

[ редактировать ]

Компоненты

[ редактировать ]

Virtuoso состоит из клиентского и серверного компонентов. Эти компоненты обычно взаимодействуют с локальным или удаленным сервером Virtuoso, включая:

  • Виртуозные драйверы для ODBC , JDBC , ADO.NET и OLE DB
  • Conductor — пользовательский веб-интерфейс администрирования баз данных.
  • Утилиты ISQL (интерактивный SQL) и ISQO
  • Документация и руководства
  • Образцы

Установки поставляются с двумя базами данных: базой данных по умолчанию и демонстрационной базой данных.

Проект Virtuoso родился в 1998 году в результате слияния OpenLink доступа к данным промежуточного программного обеспечения и СУБД Kubl .

Кубль СУРБД

[ редактировать ]

Kubl ОРСУБД была одной из систем реляционных баз данных, корни которых находятся в Финляндии . В этот список также входят MySQL , InnoDB и Solid RDBMS / Solid Technologies .

Как и в случае с большинством технологических продуктов, ключевой персонал, работающий над OpenLink Virtuoso, InnoDB и Solid , имеет общие периоды профессионального взаимодействия, которые дают примечательное представление об истории развития технологий баз данных в Финляндии. Хейкки Туури (создатель InnoDB), Ора Лассила (W3C и Nokia Research, технологический лидер и провидец в области RDF и семантической сети в целом вместе с Тимом Бернерсом-Ли ) и Орри Эрлинг (виртуозный менеджер программ в OpenLink Software) — все работали вместе в начинающей компании Entity Systems в Финляндии, где они разрабатывали среды разработки Common Lisp и Prolog раннего поколения для ПК . 1986–88.

Позже Орри Эрлинг работал с VIA International , разработчиком VIA/DRE, над разработкой LISP на основе объектно-ориентированного уровня доступа к данным компании поверх продукта СУБД . Основная группа разработчиков VIA после распада компании в 1992 году основала Solid Technologies под руководством Арттури Тарьянна .

Хейкки Туури работал в Solid некоторое время , прежде чем начать свой собственный проект разработки баз данных , который стал InnoDB (приобретенный Oracle в 2005 году).

Орри Эрлинг начал свою собственную работу по разработке СУБД в 1994 году, которая должна была стать Kubl . Разработка Kubl изначально финансировалась Infosto Group , издателем крупнейшей в Финляндии газеты с бесплатными объявлениями , в рамках собственного проекта разработки программного обеспечения для своих онлайн-сервисов . Онлайн-версия Keltainen Pörssi когда-то считалась самым популярным веб-сайтом Финляндии с 500 000 зарегистрированных пользователей. База данных Kubl была заметно отображена в логотипе «Powered by Kubl» в результатах поиска.

Бесплатная пробная версия Kubl была доступна для скачивания 7 ноября 1996 года. [3]

Kubl позиционировался как высокопроизводительная облегченная база данных для встроенного использования; Целью разработки было достижение высших результатов в тестах «Транзакции в секунду» . [4] [5] Цена на продукт была особенно выгодна для пользователей Linux с лицензией Linux стоимостью 199 долларов. [6]

Kubl стал краеугольным камнем OpenLink Virtuoso после того, как в 1998 году технологические пути Кингсли Уи Идехена и Орри Эрлинга пересеклись, что привело к приобретению Kubl компанией OpenLink Software.

Области функциональности

[ редактировать ]

Функциональность Virtuoso охватывает широкий спектр традиционно различных областей в одном продукте. Эти функциональные области включают в себя:

Протоколы реализованы

[ редактировать ]

Virtuoso поддерживает широкий спектр стандартных отраслевых протоколов Интернета и Интернета, включая:

HTTP , WebDAV , CalDAV , CardDAV , SOAP, UDDI , WSDL , WS-Policy , WS-Security , WS-ReliableMessaging , WS-Routing , WS-Referral , WS-Attachment , WS-BPEL , SyncML , GData , SPARQL , SPARUL , ННТП

Поддержка API

[ редактировать ]

Для разработчиков приложений баз данных и системных интеграторов Virtuoso реализует множество стандартных API-интерфейсов доступа к данным (клиентских и серверных), включая: ODBC, JDBC, OLE DB, ADO.NET, ADO.NET Entity Framework , XMLA .

Поддержка распространения контента и форматов обмена

[ редактировать ]

Для разработчиков веб-приложений, издателей и потребителей синдикатов контента Virtuoso поддерживает такие стандарты, как: Atom , RSS 2.0 , RSS 1.0 , OPML , XBEL , FOAF , SIOC .

Поддержка языка запросов

[ редактировать ]

SQL, SPARQL (с многочисленными расширениями), XQuery (реализация библиотеки основных функций серьезно неполна), XPath (только 1.0), XSLT (только 1.0)

Поддержка языка определения схемы

[ редактировать ]

SQL Язык определения данных , схема XML

Сценарии использования

[ редактировать ]

Virtuoso — это решение следующих задач системной интеграции :

[ редактировать ]

Управление данными

[ редактировать ]

Интеграция корпоративных приложений, информации и данных

[ редактировать ]
[ редактировать ]

Помимо Virtuoso, OpenLink Software производит несколько сопутствующих инструментов и приложений:

Платформы

[ редактировать ]

Virtuoso поддерживается на ряде 32- и 64-битных платформ, включая кроссплатформенные Windows , UNIX ( HP , AIX , Sun , DEC, BSD, SCO ), Linux ( Red Hat , SUSE ) и macOS .

Лицензирование

[ редактировать ]

В апреле 2006 года бесплатная версия Virtuoso стала доступна по лицензии GNU General Public License версии 2.Программное обеспечение теперь доступно в вариантах коммерческой лицензии и лицензии с открытым исходным кодом. [7]

  1. ^ «Примечания к выпуску Virtuoso Open Source 7.2.7» . 10 мая 2022 г. Проверено 21 июня 2022 г.
  2. ^ Программное обеспечение OpenLink. «Условия лицензии Virtuoso с открытым исходным кодом» . Проверено 30 марта 2011 г.
  3. ^ «Бесплатная пробная версия СУБД Kubl скачивается сейчас» . 7 ноября 1996 года . Проверено 3 февраля 2010 г. «Бесплатная пробная версия СУБД Kubl загружается сейчас» . Группа новостей : comp.os.linux.misc . 7 ноября 1996 г. Usenet:   [электронная почта защищена] .
  4. ^ «SAL-Системы баз данных – Реляционная СУБД – Кубл» . Архивировано из оригинала 27 января 2004 г. Проверено 7 июля 2006 г.
  5. ^ «Код DBMS Benchmark? Кто самый быстрый?» . 11 апреля 1996 года . Проверено 3 февраля 2010 г.
  6. ^ «СУРБД Kubl для Linux» . 12 ноября 1997 года . Проверено 3 февраля 2010 г.
  7. ^ Программное обеспечение OpenLink (11 апреля 2006 г.). «Выпуск OpenLink Virtuoso с открытым исходным кодом!» . Проверено 3 февраля 2010 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d0508421b01bdfabe2a0e1c172b447e0__1717696620
URL1:https://arc.ask3.ru/arc/aa/d0/e0/d0508421b01bdfabe2a0e1c172b447e0.html
Заголовок, (Title) документа по адресу, URL1:
Virtuoso Universal Server - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)