Tuning SPARQL Query Responsiveness Based On Load Monitoring, Query Analysis, Result Caching And Request Metering
Publication Date: 2015-Apr-23
The IP.com Prior Art Database
A method and system is disclosed for tuning responsiveness of triple store queries (SPARQL query) based on load monitoring, query analysis, result caching and request metering.
Page 01 of 5
Tuning SPARQL Query Responsiveness Based On Load Monitoring , , Result Caching And Request Metering
Disclosed is a method and system for tuning responsiveness of triple store query (SPARQL query) based on load monitoring, query analysis, result caching and request metering.
Figure 1 illustrates graph stores in the disclosed system.
The system, as shown in Figure 1, includes one or more physical or virtual computing machines. Each machine includes a graph store with a query engine, a query endpoint and a health monitor. The graph store, also known as triple store, is a repository of graphs containing triples of linked data. Responsive to query engine in the graph store processing a SPARQL query by reading one or more graphs and executing query algebra to determine the results, the method and system caches query results, monitors query execution, and optimizes query requests.
Figure 2 illustrates a query request metering flow in accordance with the method and system.
Query Analysis ,
Page 02 of 5
The method and system makes each machine self-regulating for providing maximum responsiveness for incoming SPARQL queries. Response to each SPARQL query request is determined based upon an evaluation of load on the system in conjunction
with freshness of the stored data, as shown in the Figure. 2.
The response may be a cached query result, the result of a new query execution, or a
well-known error response depending on a combination of several determining factors. The determining factors include load monitoring, query analysis, result caching, and request metering.
For monitoring load on a system, a background process within an application is continuously running and taking measurements of load quantifiers at a regular interval of time. A load qualifier is an abstraction that encapsulates a single metric about strain being placed on the system. A load qualifier may be in one of three states, Normal, Warning or Critical. The load qualifier accepts a default warning threshold and a default critical threshold that may be replaced at any time with a new threshold. If the metric
Page 03 of 5
observed is below the warning threshold, then the load qualifier is in the Normal State. If the metric observed is at or above the warning threshold but below the critical threshold, the qualifier is in the warning state. If the metric observed is at or above the critical threshold, the qualifier is in the critical state. One or more number of load qualifiers may be configured to monitor the system. The method and system may include the following load qualifiers:
• A query engine memory usage metric indicates the total number of bytes of memory used by the query engine.
• An overall system memory usage metric indicates the total number of bytes of memory used by the entire machine.
• A query engine processor usage metric indicates the percentage of processing cycle used by the query engine compared to the maximum...