Virtuoso Universal Server

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: virtuoso.openlinksw.com

Virtuoso Universal Server — это программная платформа, сочетающая функции реляционной СУБД, триплстора, XML-обработки и веб/приложенческого сервера. Она разработана OpenLink Software и ориентирована на интеграцию данных разных типов и форматов, поддержку стандартов Semantic Web, веб-сервисов и приложений, работающих через HTTP и другие сетевые протоколы. Система работает как единый многопоточный процесс, что позволяет обслуживать SQL-запросы, RDF-графы, XML-документы, полнотекстовый поиск и веб-интерфейсы в одном экземпляре сервера.

История Virtuoso берет начало в конце 1990-х годов с объединения технологий доступа к данным (middleware) компании OpenLink Software и СУБД Kubl. Со временем платформа развивалась, добавляясь поддержка XML, XQuery/XPath, SPARQL и RDF, веб-сервисов, поддержки SOA, динамических веб-страниц и управления содержимым. Существует как открытая версия, так и коммерческие варианты с расширенными возможностями, включая распределённость и кластеризацию.

  • Модель данных и хранение: поддержка реляционной модели SQL, хранения XML-документов, RDF-графов (триплы/кварды), полнотекстового индекса; смешанные форматы и возможность объединять локальные и удалённые источники данных.
  • Языки запросов: стандартный SQL, SPARQL с расширениями, XQuery, XPath, XSLT; возможность преобразовывать между форматами, выдавать XML представления данных, выполнять запросы над распределёнными источниками.
  • Веб-интерфейсы и веб-сервисы: встроенный HTTP/HTTPS сервер, поддержка WebDAV, REST и SOAP, публикация хранимых процедур и запросов как веб-сервисов; динамические страницы через собственный язык процедур или через окружения, такие как Java/.NET.
  • Расширяемость и федерация: возможность подключать внешние источники данных через ODBC/JDBC, реализовывать виртуальные таблицы, интегрировать SQL/XML/RDF-источники; поддержка удалённых запросов и распределённых транзакций.
  • Транзакции и надёжность: полнота ACID, несколько уровней изоляции (в том числе serializable, repeatable read, read committed), журналы транзакций, методы для резервного копирования и отката; механизмы управления блокировками.
  • Производительность и масштабируемость: многопоточная архитектура, оптимизация под многопроцессорные системы (SMP), планирование запросов на основе стоимости, поддержки параллельного выполнения и кластеров в коммерческих версиях.
Подробнее