fbpx
Wikipedia

Virtuoso Universal Server

Virtuoso Universal Server is a middleware and database engine hybrid that combines the functionality of a traditional relational database management system (RDBMS), object–relational database (ORDBMS), virtual database, RDF, XML, free-text, web application server and file server functionality in a single system. Rather than have dedicated servers for each of the aforementioned functionality realms, Virtuoso is a "universal server"; it enables a single multithreaded server process that implements multiple protocols. The free and open source edition of Virtuoso Universal Server is also known as OpenLink Virtuoso. The software has been developed by OpenLink Software with Kingsley Uyi Idehen and Orri Erling as the chief software architects.

Virtuoso Universal Server
Virtuoso Conductor (Database Administration User Interface)
Developer(s)OpenLink Software
Stable release
7.2.7 / May 18, 2022; 22 months ago (2022-05-18)[1]
Repository
  • github.com/openlink/virtuoso-opensource
Written inC
Operating systemCross-platform
TypeTriplestore, RDBMS, Application server, Web server
LicenseGPLv2[2] and proprietary
Websitevirtuoso.openlinksw.com

Database structure edit

Core database engine edit

Virtuoso provides an extended object–relational model, which combines the flexibility of relational access with inheritance, run time data typing, late binding, and identity-based access. Virtuoso Universal Server database includes physical file and in memory storage and operating system processes that interact with the storage. There is one main process, which has listeners on a specified port for HTTP, SOAP, and other protocols.

Architecture edit

Virtuoso is designed to take advantage of operating system threading support and multiple CPUs. It consists of a single process with an adjustable pool of threads shared between clients. Multiple threads may work on a single index tree with minimal interference with each other. One cache of database pages is shared among all threads and old dirty pages are written back to disk as a background process.

The database has at all times a clean checkpoint state and a delta of committed or uncommitted changes to this checkpointed state. This makes it possible to do a clean backup of the checkpoint state while transactions proceed on the commit state.

A transaction log file records all transactions since the last checkpoint. Transaction log files may be preserved and archived for an indefinite time, providing a full, recoverable history of the database.

A single set of files is used for storing all tables. A separate set of files is used for all temporary data. The maximum size of a file set is 32 terabytes, for 4G × 8K pages.

Locking edit

Virtuoso provides dynamic locking, starting with row level locks and escalating to page level locks when a cursor holds a large percentage of a page's rows or when it has a history of locking entire pages. Lock escalation only happens when no other transactions hold locks on the same page, hence it never deadlocks. Virtuoso SQL provides means for exclusive read and for setting transaction isolation.

Transactions edit

All four levels of isolation are supported: Dirty read, read committed, repeatable read and serializable. The level of isolation may be specified operation by operation within a single transaction. Virtuoso can also act as a resource manager and/or transaction coordinator under Microsoft's Distributed Transaction Coordinator (MS DTC) or the XA standard.

Data integrity edit

Virtuoso ORDBMS database supports entity integrity and referential integrity. Virtuoso ensures that relationships between records in related tables are valid by enforcing referential integrity. Integrity constraints include:

  • NOT NULL – Within the definition of a table, Virtuoso allows data to contain a NULL value. This NULL value is not really a value at all and is considered an absence of value. The constraint of NOT NULL forces a value to be given to a column.
  • Unique key – Uniqueness for a column or set of columns means that the values in that column or set of columns must be different from all other columns or set of columns in that table. A unique key may contain NULL values since they are by definition a unique non-valued value.
  • Primary key – Primary key are much like unique keys except that they are designed to uniquely identify a row in a table. They can consist of a single column or multiple columns. The primary key cannot contain a NULL value.
  • CHECK Constraint – Virtuoso provides on a column an integrity constraint that requires certain conditions to be met before the data is inserted or modified. If the checks are not satisfied then the transaction cannot be completed.

Data dictionary edit

Virtuoso stores all its information about all user objects in the database in the system catalog tables designated by db.dba*.

Components and files edit

Components edit

Virtuoso is made up of client and server components. These components typically communicate with a local or remote Virtuoso server, which include:

  • Virtuoso Drivers for ODBC, JDBC, ADO.NET and OLE DB
  • Conductor, a web-based database administration user interface
  • ISQL (Interactive SQL) and ISQO Utilities
  • Documentation and Tutorials
  • Samples

Installations come with two databases: a default and a demo database.

History edit

The Virtuoso project was born in 1998 from a merger of the OpenLink data access middleware and Kubl RDBMS.

Kubl RDBMS edit

The Kubl ORDBMS was one of a list of relational database systems with roots in Finland. This list also includes MySQL, InnoDB, and Solid RDBMS/Solid Technologies.

As is the case with most technology products, key personnel behind OpenLink Virtuoso, InnoDB, and Solid share periods of professional overlap that provide noteworthy insight into the history of database technology development in Finland. Heikki Tuuri (creator of InnoDB), Ora Lassila (W3C and Nokia Research, a technology lead and visionary in the areas RDF and Semantic Web in general alongside Tim Berners-Lee), and Orri Erling (Virtuoso Program Manager at OpenLink Software) all worked together in a startup company called Entity Systems in Finland – where they were developing Common Lisp and Prolog development environments for the early generation of PC's circa. 1986–88.

Later, Orri Erling worked with VIA International, the developer of VIA/DRE in designing a LISP-based object-oriented data access layer atop the company's DBMS product. The core development team of VIA, following the company's demise in 1992, went on to found Solid Technologies under the direction of Artturi Tarjanne.

Heikki Tuuri worked at Solid for a while before starting his own database development project which became InnoDB (acquired by Oracle in 2005).

Orri Erling started his own DBMS development work in 1994, which was to become Kubl. Development of Kubl was initially financed by Infosto Group, publisher of Finland's largest free ads paper, as part of their in-house software development project for their on-line services. The on-line version of Keltainen Pörssi was at one time said to be Finland's most popular web site with 500,000 registered users. The Kubl database was prominently displayed in a "Powered by Kubl" logo on the search results.

A free trial version of Kubl was made available for download on November 7, 1996.[3]

Kubl was marketed as a high performance lightweight database for embedded use; the development aim was to achieve top scores in Transactions Per Second tests.[4][5] Pricing of the product was especially favorable to Linux users with a Linux license priced at $199.[6]

Kubl became the cornerstone of OpenLink Virtuoso, after the technology paths of Kingsley Uyi Idehen and Orri Erling crossed in 1998, leading to the acquisition of Kubl by OpenLink Software.

Functionality realms edit

Virtuoso's functionality covers a broad range of traditionally distinct realms in a single product offering. These functional realms include:

Protocols implemented edit

Virtuoso supports a broad range of industry standard Web & Internet protocols that includes:

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, NNTP

API support edit

For the database application developer and systems integrator, Virtuoso implements a variety of industry standard data access APIs (client and server) that includes: ODBC, JDBC, OLE DB, ADO.NET, ADO.NET Entity Framework, XMLA.

Content syndication and interchange format support edit

For the Web application developer and content syndicate(s) publishers, and consumers, Virtuoso supports standards such as: Atom, RSS 2.0, RSS 1.0, OPML, XBEL, FOAF, SIOC.

Query language support edit

SQL, SPARQL (with numerous extensions), XQuery (implementation of Core functions library is seriously incomplete), XPath (1.0 only), XSLT (1.0 only)

Schema definition language support edit

SQL's Data Definition Language, XML Schema

Usage scenarios edit

Virtuoso is a solution for the following system integration challenges:

Related technology areas edit

Data management edit

Enterprise application, information, and data integration edit

Related products and tools edit

In addition to Virtuoso, OpenLink Software produces several related tools and applications:

  • OpenLink Data Spaces – a Virtuoso-based platform for cost-effective creation and management of Semantic Web / Linked Data Web presence. It provides a data junction box for integrating data across third party Social network service, Blog, File sharing, Shared & Social bookmarking, Wiki, E-mail, Photo Sharing, RSS 2.0, Atom, and RSS 1.1 Content Aggregation services. In addition, to its third party integration functionality, it also includes its own rich collection of Linked Data compliant distributed collaborative applications, across each of the aforementioned Web application realms.
  • Universal Data Access Drivers – High-performance data access drivers for ODBC, JDBC, ADO.NET, and OLE DB that provide transparent access to enterprise databases across multiple platforms and databases.

Platforms edit

Virtuoso is supported on a number of 32- and 64-bit platforms including cross-platform Windows, UNIX (HP, AIX, Sun, DEC, BSD, SCO), Linux (Red Hat, SUSE) and macOS.

Licensing edit

In April 2006, a free software version of Virtuoso was made available under the GNU General Public License version 2. The software is now available in Commercial and Open Source license variants.[7]

References edit

  1. ^ "Virtuoso Open Source 7.2.7 Release Notes". 10 May 2022. Retrieved 21 June 2022.
  2. ^ OpenLink Software. "Virtuoso Open-Source License Terms". Retrieved 2011-03-30.
  3. ^ "Kubl RDBMS Free Trial Downloading Now". 7 November 1996. Retrieved 2010-02-03."Kubl RDBMS Free Trial Downloading Now". Newsgroup: comp.os.linux.misc. 7 November 1996. Usenet: pgpmoose.199611072316.10073@liw.clinet.fi.
  4. ^ . Archived from the original on 2004-01-27. Retrieved 2006-07-07.
  5. ^ "DBMS Benchmark code? Who's fastest?". 11 April 1996. Retrieved 2010-02-03.
  6. ^ "Kubl RDBMS for Linux". 12 November 1997. Retrieved 2010-02-03.
  7. ^ OpenLink Software (11 April 2006). "Open Source Edition of OpenLink Virtuoso, Unleashed!". Retrieved 2010-02-03.

External links edit

  • Official website

virtuoso, universal, server, middleware, database, engine, hybrid, that, combines, functionality, traditional, relational, database, management, system, rdbms, object, relational, database, ordbms, virtual, database, free, text, application, server, file, serv. Virtuoso Universal Server is a middleware and database engine hybrid that combines the functionality of a traditional relational database management system RDBMS object relational database ORDBMS virtual database RDF XML free text web application server and file server functionality in a single system Rather than have dedicated servers for each of the aforementioned functionality realms Virtuoso is a universal server it enables a single multithreaded server process that implements multiple protocols The free and open source edition of Virtuoso Universal Server is also known as OpenLink Virtuoso The software has been developed by OpenLink Software with Kingsley Uyi Idehen and Orri Erling as the chief software architects Virtuoso Universal ServerVirtuoso Conductor Database Administration User Interface Developer s OpenLink SoftwareStable release7 2 7 May 18 2022 22 months ago 2022 05 18 1 Repositorygithub wbr com wbr openlink wbr virtuoso opensourceWritten inCOperating systemCross platformTypeTriplestore RDBMS Application server Web serverLicenseGPLv2 2 and proprietaryWebsitevirtuoso wbr openlinksw wbr com Contents 1 Database structure 1 1 Core database engine 1 1 1 Architecture 1 1 2 Locking 1 1 3 Transactions 1 1 4 Data integrity 1 1 5 Data dictionary 1 2 Components and files 1 2 1 Components 2 History 2 1 Kubl RDBMS 3 Functionality realms 3 1 Protocols implemented 3 2 API support 3 3 Content syndication and interchange format support 4 Query language support 4 1 Schema definition language support 5 Usage scenarios 6 Related technology areas 6 1 Data management 6 2 Enterprise application information and data integration 7 Related products and tools 8 Platforms 9 Licensing 10 References 11 External linksDatabase structure editCore database engine edit Virtuoso provides an extended object relational model which combines the flexibility of relational access with inheritance run time data typing late binding and identity based access Virtuoso Universal Server database includes physical file and in memory storage and operating system processes that interact with the storage There is one main process which has listeners on a specified port for HTTP SOAP and other protocols Architecture edit Virtuoso is designed to take advantage of operating system threading support and multiple CPUs It consists of a single process with an adjustable pool of threads shared between clients Multiple threads may work on a single index tree with minimal interference with each other One cache of database pages is shared among all threads and old dirty pages are written back to disk as a background process The database has at all times a clean checkpoint state and a delta of committed or uncommitted changes to this checkpointed state This makes it possible to do a clean backup of the checkpoint state while transactions proceed on the commit state A transaction log file records all transactions since the last checkpoint Transaction log files may be preserved and archived for an indefinite time providing a full recoverable history of the database A single set of files is used for storing all tables A separate set of files is used for all temporary data The maximum size of a file set is 32 terabytes for 4G 8K pages Locking edit Virtuoso provides dynamic locking starting with row level locks and escalating to page level locks when a cursor holds a large percentage of a page s rows or when it has a history of locking entire pages Lock escalation only happens when no other transactions hold locks on the same page hence it never deadlocks Virtuoso SQL provides means for exclusive read and for setting transaction isolation Transactions edit All four levels of isolation are supported Dirty read read committed repeatable read and serializable The level of isolation may be specified operation by operation within a single transaction Virtuoso can also act as a resource manager and or transaction coordinator under Microsoft s Distributed Transaction Coordinator MS DTC or the XA standard Data integrity edit Virtuoso ORDBMS database supports entity integrity and referential integrity Virtuoso ensures that relationships between records in related tables are valid by enforcing referential integrity Integrity constraints include NOT NULL Within the definition of a table Virtuoso allows data to contain a NULL value This NULL value is not really a value at all and is considered an absence of value The constraint of NOT NULL forces a value to be given to a column Unique key Uniqueness for a column or set of columns means that the values in that column or set of columns must be different from all other columns or set of columns in that table A unique key may contain NULL values since they are by definition a unique non valued value Primary key Primary key are much like unique keys except that they are designed to uniquely identify a row in a table They can consist of a single column or multiple columns The primary key cannot contain a NULL value CHECK Constraint Virtuoso provides on a column an integrity constraint that requires certain conditions to be met before the data is inserted or modified If the checks are not satisfied then the transaction cannot be completed Data dictionary edit Virtuoso stores all its information about all user objects in the database in the system catalog tables designated by db dba Components and files edit Components edit Virtuoso is made up of client and server components These components typically communicate with a local or remote Virtuoso server which include Virtuoso Drivers for ODBC JDBC ADO NET and OLE DB Conductor a web based database administration user interface ISQL Interactive SQL and ISQO Utilities Documentation and Tutorials Samples Installations come with two databases a default and a demo database History editThe Virtuoso project was born in 1998 from a merger of the OpenLink data access middleware and Kubl RDBMS Kubl RDBMS edit The Kubl ORDBMS was one of a list of relational database systems with roots in Finland This list also includes MySQL InnoDB and Solid RDBMS Solid Technologies As is the case with most technology products key personnel behind OpenLink Virtuoso InnoDB and Solid share periods of professional overlap that provide noteworthy insight into the history of database technology development in Finland Heikki Tuuri creator of InnoDB Ora Lassila W3C and Nokia Research a technology lead and visionary in the areas RDF and Semantic Web in general alongside Tim Berners Lee and Orri Erling Virtuoso Program Manager at OpenLink Software all worked together in a startup company called Entity Systems in Finland where they were developing Common Lisp and Prolog development environments for the early generation of PC s circa 1986 88 Later Orri Erling worked with VIA International the developer of VIA DRE in designing a LISP based object oriented data access layer atop the company s DBMS product The core development team of VIA following the company s demise in 1992 went on to found Solid Technologies under the direction of Artturi Tarjanne Heikki Tuuri worked at Solid for a while before starting his own database development project which became InnoDB acquired by Oracle in 2005 Orri Erling started his own DBMS development work in 1994 which was to become Kubl Development of Kubl was initially financed by Infosto Group publisher of Finland s largest free ads paper as part of their in house software development project for their on line services The on line version of Keltainen Porssi was at one time said to be Finland s most popular web site with 500 000 registered users The Kubl database was prominently displayed in a Powered by Kubl logo on the search results A free trial version of Kubl was made available for download on November 7 1996 3 Kubl was marketed as a high performance lightweight database for embedded use the development aim was to achieve top scores in Transactions Per Second tests 4 5 Pricing of the product was especially favorable to Linux users with a Linux license priced at 199 6 Kubl became the cornerstone of OpenLink Virtuoso after the technology paths of Kingsley Uyi Idehen and Orri Erling crossed in 1998 leading to the acquisition of Kubl by OpenLink Software Functionality realms editVirtuoso s functionality covers a broad range of traditionally distinct realms in a single product offering These functional realms include Object relational database engine for SQL XML RDF and plain text Web services computing platform Web application server Web content management system WCMS NNTP based discussion management Replication of homogeneous and heterogeneous data Mail Storage Sink and POP3 service proxy DataPortability Protocols implemented edit Virtuoso supports a broad range of industry standard Web amp Internet protocols that includes 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 NNTP API support edit For the database application developer and systems integrator Virtuoso implements a variety of industry standard data access APIs client and server that includes ODBC JDBC OLE DB ADO NET ADO NET Entity Framework XMLA Content syndication and interchange format support edit For the Web application developer and content syndicate s publishers and consumers Virtuoso supports standards such as Atom RSS 2 0 RSS 1 0 OPML XBEL FOAF SIOC Query language support editSQL SPARQL with numerous extensions XQuery implementation of Core functions library is seriously incomplete XPath 1 0 only XSLT 1 0 only Schema definition language support edit SQL s Data Definition Language XML SchemaUsage scenarios editVirtuoso is a solution for the following system integration challenges Enterprise Information Integration EII Programming Language Independent Web application deployment Monolithic application decomposition that leverages the principles of service oriented architecture Web service based enterprise application integration via a significant amount of WS protocols support Business process management via BPEL Semantic Web Data Spaces Generation Deployment platform for injecting RDF based Linked Data into the Semantic Data WebRelated technology areas editData management edit Relational database management system List of relational database management systems Comparison of object relational database management systems Comparison of relational database management systems Enterprise application information and data integration edit Web 2 0 Enterprise service bus Service oriented architecture Enterprise application integration Data integration Open Semantic Framework Web service Semantic Web Business Integration Severs Comparison MatrixRelated products and tools editIn addition to Virtuoso OpenLink Software produces several related tools and applications OpenLink Data Spaces a Virtuoso based platform for cost effective creation and management of Semantic Web Linked Data Web presence It provides a data junction box for integrating data across third party Social network service Blog File sharing Shared amp Social bookmarking Wiki E mail Photo Sharing RSS 2 0 Atom and RSS 1 1 Content Aggregation services In addition to its third party integration functionality it also includes its own rich collection of Linked Data compliant distributed collaborative applications across each of the aforementioned Web application realms Universal Data Access Drivers High performance data access drivers for ODBC JDBC ADO NET and OLE DB that provide transparent access to enterprise databases across multiple platforms and databases Platforms editVirtuoso is supported on a number of 32 and 64 bit platforms including cross platform Windows UNIX HP AIX Sun DEC BSD SCO Linux Red Hat SUSE and macOS Licensing editIn April 2006 a free software version of Virtuoso was made available under the GNU General Public License version 2 The software is now available in Commercial and Open Source license variants 7 References edit Virtuoso Open Source 7 2 7 Release Notes 10 May 2022 Retrieved 21 June 2022 OpenLink Software Virtuoso Open Source License Terms Retrieved 2011 03 30 Kubl RDBMS Free Trial Downloading Now 7 November 1996 Retrieved 2010 02 03 Kubl RDBMS Free Trial Downloading Now Newsgroup comp os linux misc 7 November 1996 Usenet pgpmoose 199611072316 10073 liw clinet fi SAL Database Systems Relational DBMS Kubl Archived from the original on 2004 01 27 Retrieved 2006 07 07 DBMS Benchmark code Who s fastest 11 April 1996 Retrieved 2010 02 03 Kubl RDBMS for Linux 12 November 1997 Retrieved 2010 02 03 OpenLink Software 11 April 2006 Open Source Edition of OpenLink Virtuoso Unleashed Retrieved 2010 02 03 External links edit nbsp Free and open source software portal Official website Retrieved from https en wikipedia org w index php title Virtuoso Universal Server amp oldid 1152038390, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.