Virtuoso Universal Server Overview

Comments

There aren't any comments for this presentation.

Add Comment

Please enter a valid email address.

Optional. Enter a URL for your website.

  Remember Me
  Notify me of follow up comments

Transcript

no image

Slide Text

Slide Notes


Virtuoso Product Family

no text exists for this slide

no notes exist for this slide

Virtuoso Product Categories


Virtual Database Engine
Virtual Database Engine
Native Data Management (multi-model covering: SQL, RDF, XML, and Free Text)
Discussion Platform
Mail Proxy Services
Client Connectivity Kit
Virtuoso Universal Server

no notes exist for this slide

Virtual Database Engine


External ODBC or JDBC accessible SQL Data Sources
External ODBC or JDBC accessible SQL Data Sources
External XML based Data Sources
External SOAP or RESTful Web Services
External RDF Data (e.g. Oracle)
Custom Data Sources via Server Extensions API

no notes exist for this slide

Virtual Database Engine Contd


SQL Queries over Remote SQL, RDF, XML, and Web Services based Data Sources
SQL Queries over Remote SQL, RDF, XML, and Web Services based Data Sources
SPARQL Queries over Remote SQL, RDF, XML, and Web Services based Data Sources
XQuery/XPath Queries over Remote RDF, SQL, and XML based Data Sources
Web Services based access to Remote RDF, SQL, XML, and other Web Services based Data Sources

no notes exist for this slide

Slide 5


Distributed Query Optimization
Distributed Query Optimization
Locality Sensitive Query Cost Optimization (Collocated Joins, Pass-Through Queries, and Array Parameters)
Deductively Abstracts SQL Dialect Differences (via ODBC and JDBC metadata call exploitation)
Message Latency Factored into Cost Model
Hash Joins Used When Appropriate, Replacing Multiple Remote Lookups with Single Sequential Read
2-Phase Commit for Distributed Transactions
MS DTC for Windows
Tuxedo on Unix

no notes exist for this slide

Slide 6


ATTACH TABLE Statement incorporates Remote Table, Indexes and Statistics into Local Virtuoso Schema
ATTACH TABLE Statement incorporates Remote Table, Indexes and Statistics into Local Virtuoso Schema
Allows Incorporation of SQL Functions and Stored Procedures from Remote Relational Database Engines
Support for Remote XML, Full Text Indexing for Oracle, Microsoft SQL Server

no notes exist for this slide

Native Data Management Relational RDBMS


Native SQL 92/2K Engine
Native SQL 92/2K Engine
Rich Procedure Language (PSM-95 based)
Database Engine Optimized for SMP Performance
Native Full Text Indexing

no notes exist for this slide

RDBMS Features Transactions


Full ACID Properties
Full ACID Properties
Checkpoint + Roll Forward Log, Optional Archiving of Logs
Uncommitted/Read Committed/Repeatable/Serializable Isolations
Non-blocking Read Committed Shows Latest Committed Versions of Uncommitted Updated Rows
Can Work as XA/MS DTC Resource Manager

no notes exist for this slide

RDBMS Features SQL


Full SQL 92 with many 2K Features
Full SQL 92 with many 2K Features
SQLX, XPATH, XSLT, Xquery
SQL 2K Objects, Implementation in SQL/Java/.net
Transparent Mixing of Local and Remote Tables

no notes exist for this slide

RDBMS Features Query Optimization


Cost Based Optimization
Cost Based Optimization
On The Fly Sampling of Table/Column/Literal Key Cardinalities
Fixed Statistics for Deterministic Query Plans
Loop/Hash/Merge Join
SQL Options for Explicitly Specifying Query Plan

no notes exist for this slide

RDBMS Features Storage Engine


Rows Stored At Leaves of Primary Key Index Tree
Rows Stored At Leaves of Primary Key Index Tree
Non PK Indexes Refer to Row By Value of PK
Bitmap Index
Full Text Index
Striping Across Disks, No Separate Files Per Table/Key
Incremental Online backup

no notes exist for this slide

RDBMS Features Run Time Hosting


User Defined Type via Java or .NET Objects Hosted in Process
User Defined Type via Java or .NET Objects Hosted in Process
User Defined Types Persisted in LOB Columns
Java/.NET Methods Called Transparently From SQL
‘C” based Plugin Mechanism for adding SQL Functions

no notes exist for this slide

RDBMS Features Security


SQL Role Based Security, Column/Table/View/Procedure Level
SQL Role Based Security, Column/Table/View/Procedure Level
Row Level Security With Policy Functions
A Policy Function Can Add Extra Conditions to Queries/Updates Depending on User, Time, Other Considerations

no notes exist for this slide

Data Center Features Clustering


Combine Multiple Servers for Massive Scale and Parallelism
Combine Multiple Servers for Massive Scale and Parallelism
All Servers Show the Same SQL/RDF Data and Application Logic, A SQL or Web Client Can Connect to Any for the Same Service
Data Partitioning Specifiable Index by Index
Optional Replicated Storage of Partitions for More Load Balancing, Fault Tolerance
Shared Nothing Architecture, Works With Commodity Hardware and Networks

no notes exist for this slide

Data Center Features Query Penalization


Latency: One Message Round Trip is 20 Single Row Random Lookups
Latency: One Message Round Trip is 20 Single Row Random Lookups
Virtuoso Divides Queries into Collocated Fragments, Ships All Filtering, Aggregation, Joining to Where the Data Is.
Sends Arrays of Hundreds of Operations at a Time, Whenever Possible

no notes exist for this slide

Data Center Features Transactions


Full ACID Properties
Full ACID Properties
Two Phase Commit with Single Phase Optimization
Detection of Distributed Deadlocks Without Timing Out
Each Cluster Node Keeps Own Transaction Log
No External Monitor, Virtuoso Handles Distributed Recovery Cycle By Itself
Transactions/Logging Can BE Disabled for Bulk Load etc.

no notes exist for this slide

Data Center Features Parallel SQL


Transparent Map-Reduce Style Execution of Specified Partitioned SQL Functions/Procedures
Transparent Map-Reduce Style Execution of Specified Partitioned SQL Functions/Procedures
PL Extensions for Async Remote Execution of SQL Code, With and Without Transactional Semantics

no notes exist for this slide

Data Center Features Futures


Dynamic Deployment, Adding and Removing Cluster Nodes Without Interruption of Service
Dynamic Deployment, Adding and Removing Cluster Nodes Without Interruption of Service
Keeping Data in Small, Self-Contained, Easily Relocatable Mini-Partitions

no notes exist for this slide

SQL Client Connectivity Data Access Drivers


Cross Platform ODBC 3.0 Drivers
Cross Platform ODBC 3.0 Drivers
JDBC 2.0 Drivers
OLE-DB Provider
ADO.NET Provider
XMLA Provider

no notes exist for this slide

Native Data Management XML


Native XML Data Type
Native XML Data Type
SQLX + Oracle Compatible XML Functions in SQL
Document Centric Persistence of XML with Special Support in Text Index
XSLT
XQuery
XML Views – XML Mapping Schema based Views of SQL Data Sources

no notes exist for this slide

Native RDF Data Management


Native RDF Quad Storage (Physical Quads)
Native RDF Quad Storage (Physical Quads)
SQL Enhanced With RDF IRI and Typed/Language Tagged Data
Bitmap Indices and Key Compression for Compact Storage
Selectable Index Scheme, Optionally Allows Queries Against Union of All Graphs
Optional Full Text Index of Literals
Reuses SQL Cost Model and Execution Engine With RDF Tailored Statistics

no notes exist for this slide

RDF Data Services Client Connectivity


SPARQL Protocol
SPARQL Protocol
Jena Storage Provider
Sesame Storage Provider
Redland Storage Provider
Linq2Rdf Storage Provider
SPASQL
SPARQL execution within SQL Processor
Plethora of Built-In Functions, Stored Procedures, Web Services

no notes exist for this slide

RDF Data Services SPARQL


Full SPARQL, Language and Protocol Support
Full SPARQL, Language and Protocol Support
Jena Compatible SPARUL for Create Graph, Insert, Update, and Delete
Extensions for Aggregates & Grouping
Nested Queries, SQL-Like Existence and Value Subqueries
Expressions in Result Sets
Path Expressions for Compact Notation, Also in Expressions
Full Text & XPath Magic Predicate Extensions

no notes exist for this slide

RDF Data Services Inference


Backward Chaining Inference Support, No Materialization of Entailed Triples needed for:
Backward Chaining Inference Support, No Materialization of Entailed Triples needed for:
Subclass and Subproperty Hierarchies
OWL sameAs for Instances, Classes and Properties
OWL equivalentClass and equivalentProperty
Inference Enabled at Query or Individual Triple Pattern Level

no notes exist for this slide

Linked Data Services RDFization Middleware


Declarative RDF Views (or Covers) over SQL Data
Declarative RDF Views (or Covers) over SQL Data
In-Built RDF Middleware (Sponger) for RDF-ization of Harvested Web Content (bulk ingest or “on the fly”)
Extended SPARQL Against Mapped and Stored RDF
RDF-ization Cartridges for 30+ non RDF data sources
Used by SPARQL Processor
Used by in-built Content Crawler
Cache Invalidation based on HTTP Caching Rules
Configurable URI dereferencing via pragmas for node selection and path traversal

no notes exist for this slide

Linked Data Services Deployment


URL Rewrite Rules combined with SPARQL for flexible association of URIs and RDF Data Sets
URL Rewrite Rules combined with SPARQL for flexible association of URIs and RDF Data Sets
Proxy (or wrapper) URIs construction for materializing Linked Data “on the fly” from existing Web information resources
REST or SOAP based Web Services that expose functionality to Web Clients such as OpenLink Data Explorer, Marbles, Zitgist Data Explorer, DISCO, Tabulator etc.

no notes exist for this slide

RDF Data Services RDF Views over SQL Data Sources


SPARQL Data Definition Statements for RDB Mapping
SPARQL Data Definition Statements for RDB Mapping
Declare Correspondences Between Graph/Triple Patterns and SQL Objects
Specify Mapping Between URI's and Keys , Supporting All Data Types, Multipart Keys
Not Restricted to Table per Class and Column per Property
Use Arbitrary Joins, SQL Functions and Search Conditions
Automatically Generate Basic Class per Table, Property per Column Mapping of Given SQL Schema

no notes exist for this slide

RDF Data Services RDF Views Contd


Evaluate Arbitrary SPARQL Against an RDF View
Evaluate Arbitrary SPARQL Against an RDF View
In One Query, Some Graphs May Come from Views, Others From Stored RDF
RDF Views Generate a Single SQL Statement, The IRI Generation and IRI Parsing is Only in Selection and Constant Expressions
SQL Has Full Optimization Possibilities and the Generated SQL Does not Depend on Virtuoso Specifics
Hence, RDF Views Are Efficient for Querying Remote, non-Virtuoso SQL Data

no notes exist for this slide

RDF Data Services Clustering


Cluster-Optimized RDF Loader and SPARUL
Cluster-Optimized RDF Loader and SPARUL
RDF-Aware Data Partitioning
Automatic Statistics Sampling Across Cluster for Best Query Plan

no notes exist for this slide

RDF Benchmarks


TPC H With SPARQL Extensions and RDF Views
TPC H With SPARQL Extensions and RDF Views
LUBM
Berlin SPARQL Benchmark with Triples and with RDF Views

no notes exist for this slide

Web Services Platform HTTP Services


HTTP/1.1 and HTTPS Server for Static and Dynamic Content
HTTP/1.1 and HTTPS Server for Static and Dynamic Content
Dynamic Web Pages in PHP, Virtuoso SQL Procedures, ASP .net, Others
SOAP and Rest Web Services in Virtuoso PL, Java, .NET
DAV

no notes exist for this slide

Web Services Platform WebDAV


Documents Stored in Virtuoso Database
Documents Stored in Virtuoso Database
ACL Based plus Unix Style Security, SQL User Accounts and Roles Own Documents and Collections
Automatic RDF Metadata Extraction
Optional Full Text Indexing and Versioning
Dynamic Collections for Alternate Views of Directory Hierarchy

no notes exist for this slide

Web Services Platform SOAP amp REST


SOAP 1.1/1.2 End Points Exposing SQL Procedures in All SOAP Styles
SOAP 1.1/1.2 End Points Exposing SQL Procedures in All SOAP Styles
Automatic WSDL Generation
SQL Extensions for Declaring Full XML Schema Signatures for End Points
Exposing Java and .net via SOAP
Dynamic Web Pages and XML Functions for REST Services
XMLA for SQL Access over SOAP

no notes exist for this slide

Web Services Platform Dynamic Server Pages


Configure a Virtual Directory as Executable
Configure a Virtual Directory as Executable
Publish Dynamic Web Pages in PHP, Virtuoso PL, Ruby, PERL, ASP .net Without Using External Web Server

no notes exist for this slide

Administration Services


Web Interface for Setup of Web End Points, SQL, XML, RDF Functions
Web Interface for Setup of Web End Points, SQL, XML, RDF Functions
SQL Functions for Full Programmatic Admin Access
Simple Tuning, Only Specify File Layout and Amount of Threads and Memory to Use

no notes exist for this slide

Virtuoso RDF Applications


Dbpedia
Dbpedia
BIO2RDF
Neurocommons
Zitgist, Pingthesemanticweb, Musicbrainz

no notes exist for this slide

Product


Open Source and Closed Source Versions, Closed Source AddsVirtual Database and Clustering
Open Source and Closed Source Versions, Closed Source AddsVirtual Database and Clustering
All Code, Applications, Samples, Docs in Single Download
Minimal Installation Consists of Single Executable + Config File
Web Admin Interface and Bundled ODS Collaborative Apps Suite
Available for All Linux, Unix, Windows, 32 and 64 bit
Available Preinstalled on Amazon EC2, With Optional Preloaded Dbpedia, BIO2RDF, Other RDF Data Sets

no notes exist for this slide