Virtuoso supports Lite mode, where the initial size of a server process is a tiny fraction of what the initial size would be with default settings.
With 2MB of disk cache buffers (ini file setting,
NumberOfBuffers? = 256), the process size stays under 30MB on 32-bit Linux.
Lite mode offers full SQL and SPARQL/SPARUL (via SPASQL), but disables all HTTP-based services (WebDAV, application hosting, etc.). Clients can still use all typical database access mechanisms (i.e., ODBC, JDBC, OLE-DB, ADO.NET, and XMLA) to connect, including the Jena and Sesame frameworks for RDF. ODBC now offers full support of RDF data types for C-based clients. A Redland-compatible API also exists, for use with Redland v1.0.8 and later.
Especially for embedded use, we now allow restricting the listener to be a Unix socket, which allows client connections only from the localhost.
Shipping an embedded Virtuoso is easy. It just takes one executable and one configuration file. Performance is generally comparable to "normal" mode, except that Lite will be somewhat less scalable on multicore systems.
The Lite mode is included in the Virtuoso Open Source release.
LiteMode?= 0/1 (default 0) . Runs server in lite mode. When Lite mode is on:
- The Web Services are not initialized i.e. no Web Server, DAV, SOAP, POP3 etc.;
- The replication is stopped;
- The PL debugging is disabled;
- Plugins are disabled;
- Rendezvous is disabled;
- The relevant tables to the above are not created;
- The index tree maps is set to 8 if no other setting is given;
- Memory reserve is not allocated;
DisableTcpSocket?setting is treated as 1 when
LiteMode?=1, regardless of value in INI file;
IndexTreeMaps?= 2 -1024 (power of 2) Size of index tree maps, larger is better for speed but consume memory, in lite is 2 in 'normal' mode is 256 by default;
DisableTcpSocket?= 1/0 Default = 0. If set to 1, disables database listener on TCP port; UNIX socket must be used for data access connections (ODBC, JDBC, ADO.NET, OLE DB). When LiteMode?=1, DisableTcpSocket? setting in INI file is ignored and treated as if set to 1.