In recent times a lot of the commentary and focus re. Virtuoso
has centered on the RDF Quad Store and Linked Data. What sometimes gets overlooked
is the sophisticated Virtual Database Engine that provides the
foundation for all of Virtuoso's data integration
capabilities.
In this post I provide a brief re-introduction to this essential
aspect of Virtuoso.
What is it?
This component of Virtuoso is known as the Virtual Database
Engine (VDBMS). It provides transparent high-performance and secure
access to disparate data sources that are external to Virtuoso. It
enables federated access and integration of data hosted by any
ODBC- or JDBC-accessible RDBMS, RDF Store, XML database, or
Document (Free Text)-oriented Content Management System. In
addition, it facilitates integration with Web Services
(SOAP-based SOA RPCs or REST-fully accessible Web Resources).
Why is it important?
In the most basic sense, you shouldn't need to upgrade your
existing database engine version simply because your current DBMS
and Data Access Driver combo isn't compatible with ODBC-compliant
desktop tools such as Microsoft Access, Crystal Reports,
BusinessObjects, Impromptu, or other of ODBC, JDBC, ADO.NET, or OLE DB-compliant applications.
Simply place Virtuoso in front of your so-called "legacy database,"
and let it deliver the compliance levels sought by these tools
In addition, it's important to note that today's enterprise,
through application evolution, company mergers, or acquisitions, is
often faced with disparately-structured data residing in any number
of line-of-business-oriented data silos. Compounding the problem is
the exponential growth of user-generated data via new social
media-oriented collaboration tools and platforms. For companies to
cost-effectively harness the opportunities accorded by the
increasing intersection between line-of-business applications and
social media, virtualization of data silos must be achieved, and
this virtualization must be delivered in a manner that doesn't
prohibitively compromise performance or completely undermine
security at either the enterprise or personal level. Again, this is
what you get by simply installing Virtuoso.
How do I use it?
The VDBMS may be used in a variety of ways, depending on the
data access and integration task at hand. Examples include:
Relational Database Federation
You can make a single ODBC, JDBC, ADO.NET, OLE DB, or XMLA
connection to multiple ODBC- or JDBC-accessible RDBMS data sources,
concurrently, with the ability to perform intelligent distributed
joins against externally-hosted database tables. For instance, you
can join internal human resources data against internal sales and
external stock market data, even when the HR team uses Oracle, the Sales team uses Informix, and the Stock Market figures come
from Ingres!
Conceptual Level Data Access using the RDF Model
You can construct RDF Model-based Conceptual Views atop
Relational Data Sources. This is about generating HTTP-based
Entity-Attribute-Value (E-A-V) graphs
using data culled "on the fly" from native or external data sources
(Relational Tables/Views, XML-based Web Services, or User Defined
Types).
You can also derive RDF Model-based Conceptual Views from Web
Resource transformations "on the fly" -- the Virtuoso Sponger (RDFizing middleware component)
enables you to generate RDF Model Linked Data via a RESTful Web
Service or within the process pipeline of the SPARQL query engine (i.e., you simply use the
URL of a Web Resource in the FROM clause of a
SPARQL query).
It's important to note that Views take the form of HTTP links
that serve as both Data Source Names and Data Source Addresses.
This enables you to query and explore relationships across entities
(i.e., People, Places, and other Real World Things) via HTTP
clients (e.g., Web Browsers) or directly via SPARQL Query Language
constructs transmitted over HTTP.
Conceptual Level Data Access using ADO.NET Entity Frameworks
As an alternative to RDF, Virtuoso can expose ADO.NET Entity
Frameworks-based Conceptual Views over Relational Data Sources. It
achieves this by generating Entity Relationship graphs via its
native ADO.NET Provider, exposing all externally attached ODBC- and
JDBC-accessible data sources. In addition, the ADO.NET Provider
supports direct access to Virtuoso's native RDF database engine,
eliminating the need for resource intensive Entity Frameworks model
transformations.
Related