Thanks for your insights. 
Best Regards,
> JackB

----Messaggio originale----
Da: "Paul Houle" <ontolo...@gmail.com>
Data: 12/09/2016 17.49
A: "Davis, Daniel (NIH/NLM) [C]"<daniel.da...@nih.gov>
Cc: "Hugh Williams"<hwilli...@openlinksw.com>, "virtuoso-users@lists.
sourceforge.net"<virtuoso-users@lists.sourceforge.net>
Ogg: Re: [Virtuoso-users] Out of curiosity, some questions about OpenSource 
Virtuoso settings

The trouble with classic http is that pretty frequently you wind up making a 
separate TCP connection for each API call.  In theory there was pipelining in 
http/1.1 but it did not really work and was rarely implemented in "web service" 
scenarios.
http/2 has pipelining that works,  reduces the # of round trips to do 
encryption,  compresses headers,  and has all sorts of goodness.
Another issue is that http-based protocols have historically been text-based 
protocols and if there was useful thing I learned in grad school it was that 
you can do an awful lot of FLOPS in the time that it takes to parse a string 
like "7.55523135E12".
Prior to 2000,  it was common to see a wide range of text-based formats for 
structured data such as HL7,  UN/EDIFACT,  the communication packets used in 
amateur radio, etc.
In the 2000-2010 period,  XML ate most of that.  In 2010-present,  JSON has 
replaced XML in a lot of places.  As people catch on to what JSON-LD really 
means (you can paint on the XML semantics that are missing in JSON with a 
minimum of bother),  JSON will grow.
Performance-wise you can get much better results with binary formats and 
people today are even realizing (slower than with JSON-LD) you can implement 
binary formats in LD in a secure way in C,  unlike text formats.
The interesting thing though is that "general" binary formats are nowhere near 
the consolidation we've seen with XML and JSON.  Binary XML formats have been 
tried and not caught on outside of niches.  A small community speaks Binary 
FIX.  There is protocol buffers,  Captain Proto,  Thrift,  Avro, MessagePack,  
and who knows what else.
Binary formats might never get their XML moment because once you start caring 
about performance you care about performance for *your specific case* and thus 
it is impossible to pick one protocol that will make everybody equally happy 
(or miserable)
Caching is another http family problem.  Once you start caching you run into 
(a) the risk that cached data will be invalid,  and (b) there is no guarantee 
that perceived performance will be better when you use a cache.  It's is very 
hard for Homo Corporatus to understand that users (ex. customers,  employees) 
experience latency,  not throughput.  (It's anathema to corporate ideology,  
for instance,  that 9 women can't make a baby in 1 month -- I knew Sun was on 
the skids when they started talking about "Throughput Computing") 
A 5400 rpm hard drive typical in a laptop can spin around about twice in the 
time it takes my (awful) DSL connection to round trip to the Azure data center 
in Chicago,  and any kind of I/O storm means it can take much longer than two 
spins to discover that something is not in the cache.
It's certainly possible that http caching can improve perceived performance,  
but you can't take it for granted.
On Mon, Sep 12, 2016 at 10:49 AM, Davis, Daniel (NIH/NLM) [C] <daniel.
da...@nih.gov> wrote:
Tangentially on JDBC/ODBC vs HTTP.    HTTP is slow because of the transport, 
but JDBC/ODBC has more mature models of paging over results, pre-fetching, 
etc.   I feel that RDF is mature as a Data format, but as a protocol it is not 
that mature.

-----Original Message-----
From: Hugh Williams [mailto:hwilli...@openlinksw.com]
Sent: Monday, September 12, 2016 5:30 AM
To: Lorenz Buehmann <buehm...@informatik.uni-leipzig.de>
Cc: virtuoso-users@lists.sourceforge.net
Subject: Re: [Virtuoso-users] Out of curiosity, some questions about 
OpenSource Virtuoso settings

Hi Lorenz,

In Virtuoso 7+  Vectored query execution [1] enables single, typically complex 
analytical types queries, to be broken down and executed on multiple threads. 
The INI file param that controls this is "ThreadsPerQuery" [2] , which controls 
the maximum number of threads that can be claimed from the thread pool by a 
single query, and there are other associated params details at [2] .

[1] http://docs.openlinksw.com/virtuoso/vexqrparl.html
[2] http://docs.openlinksw.com/virtuoso/vexqrparlconfp/

Best Regards
Hugh Williams
Professional Services
OpenLink Software, Inc.      //              http://www.openlinksw.com/
Weblog   -- http://www.openlinksw.com/blogs/
LinkedIn -- http://www.linkedin.com/company/openlink-software/
Twitter  -- http://twitter.com/OpenLink
Google+  -- http://plus.google.com/100570109519069333827/
Facebook -- http://www.facebook.com/OpenLinkSoftware
Universal Data Access, Integration, and Management Technology Providers

> On 12 Sep 2016, at 07:13, Lorenz Buehmann <buehm...@informatik.uni-leipzig.
de> wrote:
>
> Hi,
>
> just as a follow-up question:
>
> I know it supports inter-query parallelization, but does it also support 
intra-query parallelization, i.e. using multiple threads to compute the result 
of a single query? If yes, which parameter is used to configure this?
>
>
> Cheers,
>
> Lorenz
>
> On 12.09.2016 05:57, Kingsley Idehen wrote:
>> On 9/10/16 10:41 PM, giacom...@libero.it
>>  wrote:
>>
>>> So, I have a bunch of questions about Virtuoso.
>>>
>>> * Are SPARQL queries performed concurrently (using the standard
>>> virtuoso.ini configuration)?
>>>
>> Yes, Virtuoso is highly multi-threaded. In addition, it has
>> vectorized query execution i.e., many query batches per thread, handled 
concurrently .
>>
>>> * Are Virtuoso transactions autocommittable, or there aren't any
>>> kind of transactions when connecting to the ODBC driver?
>>>
>> Depends, by default you have Read Committed Isolation level.
>>
>>> * Does Virtuoso automatically performs triple indexing before query data?
>>>
>> No, it has indexes in place.
>>
>>
>>> In
>>> some systems I have to configure it manually.
>>> * Does the usage of ODBC degradates the benchmarking of Virtuoso's
>>> SPARQL query or the time required to store the triples within a given 
named graph?
>>>
>> No, if anything that's faster than HTTP.
>>
>> Links:
>>
>> [1]
>> http://docs.openlinksw.com/virtuoso/isolation/
>>
>> [2]
>>
>> http://wikis.openlinksw.com/VirtuosoWikiWeb/ChangeVirtuosoSDefaultTra
>> nsactionIsolationLevel
>>
>> [3]
>> http://docs.openlinksw.com/virtuoso/fn_log_enable.html
>>
>> [4]
>>
>> http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtRDFPer
>> formanceTuning
>>
>>
>> [5]
>>
>> http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtBulkRD
>> FLoader#Running
>>
>> multiple Loaders
>>
>>
>> Kingsley
>>
>>
>>> Thanks in advance for any support,
>>>
>>>> JackB
>>>>
>>> --------------------------------------------------------------------
>>> ---------- _______________________________________________
>>> Virtuoso-users mailing list
>>>
>>> Virtuoso-users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/virtuoso-users
>>>
>>>
>>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> ---------
>>
>>
>>
>> _______________________________________________
>> Virtuoso-users mailing list
>>
>> Virtuoso-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/virtuoso-users
>
> ----------------------------------------------------------------------
> -------- _______________________________________________
> Virtuoso-users mailing list
> Virtuoso-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/virtuoso-users


------------------------------------------------------------------------------
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users


-- 
Paul Houle
(607) 539 6254    paul.houle on Skype   ontolo...@gmail.com
Ontology2 Edition of DBpedia 2015-10https://aws.amazon.
com/marketplace/pp/B01HMUNH4Q/http://ontology2.com/the-book/o2dbpedia-info.html
http://ontology2.com/book/chapter2/part1/dbpedia-examples.html

RDF: A new Slant
http://ontology2.com/the-book/rdf-a-new-slant.html
Data Lakes, Data Ponds, and Data Dropletshttp://ontology2.com/the-book/data-
lakes-ponds-and-droplets.html




------------------------------------------------------------------------------
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users

Reply via email to