Source-linked AI summary

Partout: A Distributed Engine for Efficient RDF Processing

Luis Galárraga, Katja Hose, Ralf Schenkel

arXiv:1212.5636v1cs.DB

TL;DR

Growing RDF datasets challenge existing storage and SPARQL systems, particularly as single-machine scalability becomes constrained. Partout partitions and allocates RDF data using query-load information and provides distributed query optimization. It outperforms state-of-the-art distributed SPARQL approaches and is competitive with other architectures, while replication remains outside the paper's focus.

  • Problem

    Growing RDF datasets strain single-machine scalability, and distributed query processing must contend with varied source access and uncertain statistics and response times.

    Source: §1 · p. 1
  • Method

    Partout partitions and allocates RDF data across cluster hosts using representative query-load information and provides distributed SPARQL query optimization.

    Source: §1 · p. 2
  • Results

    Partout outperforms state-of-the-art distributed SPARQL approaches and is competitive with other architectures, with better throughput scaling than alternatives.

    Source: §1 · p. 2, §6.4 · p. 11
  • Takeaways & Limitations

    An appropriate distributed approach without replication can already compete with existing solutions.

    Source: §6.4 · p. 11

    Replication is treated as an orthogonal problem and left for future work.

    Source: §6.4 · p. 11

Abstract

from arXiv · show

The increasing interest in Semantic Web technologies has led not only to a rapid growth of semantic data on the Web but also to an increasing number of backend applications with already more than a trillion triples in some cases. Confronted with such huge amounts of data and the future growth, existing state-of-the-art systems for storing RDF and processing SPARQL queries are no longer sufficient. In this paper, we introduce Partout, a distributed engine for efficient RDF processing in a cluster of machines. We propose an effective approach for fragmenting RDF data sets based on a query log, allocating the fragments to nodes in a cluster, and finding the optimal configuration. Partout can efficiently handle updates and its query optimizer produces efficient query execution plans for ad-hoc SPARQL queries. Our experiments show the superiority of our approach to state-of-the-art approaches for partitioning and distributed SPARQL query processing.

1. INTRODUCTION

RDF data is growing beyond the comfortable scale of a single machine, while distributed query processing faces access and communication challenges. Partout uses query-load-aware data partitioning and allocation alongside distributed SPARQL optimization.

1. INTRODUCTION

  • RDF data growth strains single-machine scaling, while heterogeneous source access makes query processing difficult and can leave endpoint statistics and response times uncertain.The paper also notes that MapReduce job-start overhead makes it inferior to standard distributed query-processing techniques in this setting.Source: §1 · pp. 1–2
  • Partout is a scale-out engine for RDF storage and distributed SPARQL processing that uses representative query loads to place data across hosts.The paper notes that frequent co-occurring subqueries can provide workload information when a full query load is unavailable.Source: §1 · p. 2
  • Partout is designed to handle RDF updates efficiently.The contribution list identifies update handling as a system capability.Source: §1 · p. 2
  • Its partitioning and allocation algorithm uses a sample query load to find an optimal cluster configuration.This is presented as a novel contribution.Source: §1 · p. 2
  • Partout contributes an optimizer for distributed SPARQL processing and a cost model for its architecture.Source: §1 · p. 2
  • Partout outperforms state-of-the-art approaches for distributed SPARQL query processing.The evaluation reports this comparison without specifying a quantitative margin here.Source: §1 · p. 2

2. RELATED WORK

Related work spans centralized and decentralized RDF processing, cluster parallelism, and fragmentation and allocation. The approaches differ in data organization and query assumptions, with several not adapting partitioning to observed query loads.

2. RELATED WORK

  • The related-work discussion organizes prior approaches into centralized and decentralized RDF processing, cluster parallelism, and fragmentation and allocation.Source: §2 · p. 2

Centralized Approaches

  • Centralized RDF stores use relational or RDF-specialized storage, including heavy indexing, property tables, and column stores.The cited examples include relational databases, RDF-3X, Hexastore, property tables [18], and column stores.Source: Centralized Approaches · p. 2

Distributed Approaches

  • For independent Web sources, prior approaches use federation for SPARQL endpoints, runtime downloading for other sources, or data warehousing; P2P systems can make multi-join queries expensive.The federated approaches draw on distributed database techniques, while downloading approaches are cited as.Source: Distributed Approaches · p. 2

Parallel Processing in Clusters

  • Cluster systems use index partitioning, hashing, replication, or MapReduce, but the described approaches do not adapt to query loads or can incur large response times.The discussion notes that query-load-unaware systems may make complex queries expensive; MapReduce approaches share large response times.Source: Parallel Processing in Clusters · p. 2

Fragmentation and Allocation

  • Relational fragmentation methods do not directly fit RDF's many self-joins, while graph-partitioning approaches can be limited by query size or use border replication without query-load information.Schism's graph can be difficult to apply to large RDF datasets because SPARQL queries reference many triples; the approach in partitions the RDF graph and replicates border triples.Source: Fragmentation and Allocation · p. 3

3. PRELIMINARIES

RDF represents information as triples queried through SPARQL graph patterns. Partout uses a query workload to define fragments of the data, then organizes those fragments for distributed processing.

RDF and SPARQL

  • RDF triples represent subjects, properties, and objects, while SPARQL graph patterns connect triple patterns through shared variables and retrieve variable bindings.FILTER expressions can constrain variable values, and UNION can combine graph patterns.Source: RDF and SPARQL · p. 3

System Model

  • A central coordinator distributes RDF data across n hosts, plans SPARQL queries using global statistics, and initiates execution by local triple stores.The implementation adapts RDF-3X for the host stores.Source: System Model · p. 3

4. LOAD-AWARE PARTITIONING

  • Load-aware partitioning extracts representative triple patterns from a query load, uses them to define fragments, and allocates those fragments to hosts.Table 1 provides an overview of the notation used for partitioning and distributed query processing.Source: §4 · p. 3

4.1 Extracting Relevant Information from a Query Load

  • In query-load normalization, infrequent URIs and literals become variables, frequent constants are retained according to threshold Θ, and properties are never normalized.The resulting anonymized patterns form the set Φ(QL); the global query graph links patterns that join in a query, with edge weights counting witnesses and node frequencies counting queries containing each pattern.Source: §4.1 · p. 4

4.2 Fragmentation

  • Simple predicates constrain triple components, and their positive or negated combinations form minterms that partition the data into complete, disjoint fragments.Partout reduces the exponential minterm set by selecting predicates that make fragmentation minimal and complete and by eliminating contradictory conditions.Source: §4.2 · pp. 4–5

COM_MIN algorithm

COM_MIN chooses fragmentation predicates by comparing fragment signatures, while fragment allocation seeks to co-locate frequently joined data and balance load across hosts subject to storage limits.

COM_MIN algorithm

  • COM_MIN tests whether adding a predicate changes the fragmentation signature, using each fragment’s expected load L(m) = f(m) · s(m).Access frequency is computed from overlapping query patterns, while fragment size is estimated from a sample or store statistics.Source: COM_MIN algorithm · p. 5

4.3 Fragment Allocation

  • The greedy allocator processes fragments in descending load order and assigns each to the host with the greatest benefit that satisfies storage limits.Its benefit function balances host loads while favoring co-location of fragments that frequently join; the goals are local query execution and balanced load.Source: §4.3 · pp. 5–6

Avoiding Imbalance

Partout addresses the large remainder fragment through hash partitioning and selects a host count by estimated response time. It also describes update handling and data bootstrapping.

Avoiding Imbalance

  • When the remainder fragment is much larger than others, Partout hash-partitions it to avoid highly imbalanced storage across partitions.The optimizer can identify other fragments from query predicates, while the remainder may require statistics or querying available fragments.Source: Avoiding Imbalance · p. 6
  • For updates, the coordinator routes inserted triples using fragment definitions, applies the same principle to deletions, and converts allocation-changing modifications into deletion and insertion.If inserts overload a host, some fragments may be relocated; the authors expect batch inserts and deletes to be handled efficiently.Source: Avoiding Imbalance · p. 6
  • After allocation, bootstrapping builds and distributes a global string-to-ID dictionary, then loads each host’s assigned fragments by local scanning or coordinator transfer.The current implementation uses a central coordinator for bootstrapping, though the process can be parallelized.Source: Avoiding Imbalance · pp. 6–7

4.4 Determining the Optimal Number of Hosts

  • Partout chooses the host count that minimizes estimated response time across allocations run for different values of n.The estimate uses the query optimizer and cost model.Source: §4.4 · p. 7

5. DISTRIBUTED QUERY PROCESSING

Partout distributes query processing between a coordinator and multiple slaves. The coordinator plans execution, while slaves process assigned query parts over their local data.

5.1 System Setup and Statistics

  • The coordinator receives queries, creates distributed execution plans, and gathers final results from slaves that manage data fragments and execute assigned query parts locally.Both coordinator and slaves are based on RDF-3X.Source: §5.1 · p. 7

Coordinator

The coordinator plans distributed queries using a global statistics file generated during partitioning. The file describes fragments and their placement, provides a shared string dictionary, and supplies statistics for estimating operator costs.

  • The global statistics file records fragment definitions, sizes, cardinalities, and host assignments.Source: Coordinator · p. 7
  • A shared string dictionary maps unique strings to integer IDs used across all hosts.Source: Coordinator · p. 7
  • Operator-cost estimates use statistics from a representative sample or, when storage permits, detailed statistics retrieved from slaves.Caching or aggregation can limit the storage needed for retrieved statistics; index-scan estimates include entry and page counts.Source: Coordinator · p. 7
  • The coordinator’s statistics can be replicated among hosts to avoid a single point of failure and bottlenecks.Source: Coordinator · p. 7

The Slaves

Partout’s slaves execute assigned query work over local partitions, while a coordinator optimizes plans for distributed execution. Optimization starts with an RDF-3X plan and adapts it using a distributed cost model.

The Slaves

  • Slaves are lightweight processes that execute requests over local partitions; with statistics at the coordinator, they need no local optimizer.Source: The Slaves · p. 7

5.2 Global Query Optimization

  • The coordinator avoids exhaustive plan search by refining an RDF-3X plan with heuristics and a cost model for distributed execution.The initial plan is optimized for cardinalities and selectivities before the distributed-plan step.Source: §5.2 · p. 7

Initial Query Plan

  • RDF-3X uses indexes for triple-pattern scans and merge joins when inputs are ordered by the join attribute; otherwise inputs are sorted or hash-joined.Source: Initial Query Plan · p. 7

Distributed Cost Model

Partout estimates plan response time from operator costs, including execution, child operators, and inter-host transfers. Its query planner maps scans to relevant hosts, assigns hosts to inner operators, and evaluates transformations using that cost model.

Distributed Cost Model

  • An operator’s cost combines estimated execution time, the maximum child cost, and any cost of transferring results between hosts.The maximum child cost reflects parallelism when optimizing for response time.Source: Distributed Cost Model · p. 8
  • Transfer cost assumes symmetric, constant per-page communication cost, measured for the setup; the model can be extended for heterogeneous networks.Expected output cardinality and operator home hosts inform transfer estimates; results are sent in batches of 1024.Source: Distributed Cost Model · pp. 7–8

Query Planning

  • The planner maps scans to hosts whose fragments overlap the triple pattern, then assigns home hosts to inner operators and evaluates alternatives with the cost model.Source: Query Planning · p. 8
  • The planner considers each host for the root, groups BMU chains with their parent, and tests merge-join preference, pushed-down selections and projections, and distributed joins.Distributed joins can parallelize partial joins across hosts and combine their results with binary merge unions.Source: Query Planning · p. 8

Example

The example plan distributes triple-pattern scans across relevant hosts and places joins according to the cost model. Partout executes the optimized plan through host-specific subqueries and data exchange, while the evaluation compares its partitioning with alternatives.

Example

  • In the example, the type scan spans H1, H2, and H3, while the other scans use H1 and H2; cost-based planning places the merge joins at H1.The joins use local pipelining; the example plan appears in Figure 4.Source: Example · p. 8, Figure 4 · p. 9
  • The example’s mostly single-host pipelining differs from the general case, where larger query portions run in parallel across hosts.The cost model could improve load balancing by accounting for currently running queries.Source: Example · p. 8

5.3 Query Execution

  • Partout inserts Remote Sender and Remote Fetcher operators when a child and parent have different home hosts, then sends subqueries to their assigned hosts.Execution starts as operator inputs become available, and root results are forwarded by page or after all results are generated.Source: §5.3 · pp. 8–9

6. EVALUATION

  • The evaluation compares Partout’s partitioning with property-based fragmentation, centralized RDF-3X, and Huang et al.’s 2-hop directed partitioning.Source: §6 · p. 9
  • For non-PWOC queries, HAR+ splits queries into single-partition subqueries and uses pipelined hash joins and unions instead of MapReduce.The passage notes that this avoids MapReduce startup overhead, so execution times are lower than with the original system.Source: §6 · p. 9

Setup

Partout’s evaluation finds competitive distributed query performance, with workload-aware partitioning outperforming by-property partitioning on BTC and stronger throughput scaling than the other approaches. The discussion weighs this performance against replication’s query benefits and its costs for updates and throughput.

Setup

  • Each experiment machine ran RDF-3X 0.3.612 and a Partout slave managing one partition; a separate machine ran the coordinator.The machines had Intel Xeon processors and 32 GB RAM; the slaves ran Debian GNU/Linux 6.0 and the coordinator Debian GNU/Linux 5.0.9.Source: Setup · p. 9

Datasets

  • The evaluation used Sp2Bench, a FedBench dataset containing 10M RDF triples of synthetic bibliographic information, and BTC data containing more than 500M triples from datasets in the Linked Open Data cloud.Source: Datasets · p. 9

6.1 Billion Triple Challenge (BTC)

  • On BTC, workload-aware partitioning outperforms by-property partitioning; with 3 hosts Partout beats the centralized approach on almost all queries, while 5 hosts can incur communication costs.The setup identifies 3 hosts as optimal; workload-aware placement accounts for co-occurring triple patterns, reducing transfers for joins.Source: Figure 5 · p. 10, §6.1 · p. 10

6.2 Sp2Bench

  • Partout remains competitive on Sp2Bench, especially against the centralized approach, despite communication costs when queries span all partitions.The evaluation used a modified query subset and two hosts; the 10-million-triple dataset would otherwise favor one host under the proposed configuration approach.Source: §6.2 · pp. 10–11, Figure 6 · p. 11

6.3 Throughput

  • On BTC, Partout scales better in throughput than the other approaches because queries need not always involve every host.For the other approaches, the passage reports limited concurrency or high load across machines; tests of by-property partitioning above 120 concurrent queries timed out.Source: Figure 6 · p. 11, §6.3 · p. 11

6.4 Discussion

  • Partout’s distributed performance is competitive with other architectures, including centralized systems, while throughput benefits from selective host participation and data subsets.The evaluation discussion attributes the throughput advantage to queries that can be answered by a single host.Source: §6.4 · p. 11
  • Partout stores each triple once, reducing total stored data and duplicate-handling needs while supporting efficient updates.The discussion notes that replication could improve some query execution, but would make updates less efficient, complicate optimization, and could reduce throughput.Source: §6.4 · p. 11
  • The paper leaves replication as future work, treating it as orthogonal to showing that partitioning by query load can compete without replication.The proposed extension would replicate fragments according to their benefit and the global fragment query graph, with trade-offs for updates, query optimization, local execution, and throughput.Source: §6.4 · p. 11

7. CONCLUSION

Partout combines query-load-aware fragmentation and allocation with distributed query optimization. Its evaluation reports query and throughput advantages while identifying tradeoffs in replication; adapting to changing query loads remains future work.

7. CONCLUSION

  • Query-load-aware fragmentation and allocation co-locate fragments often needed together, while a distributed cost model and heuristics produce pipelined plans.The system assigns fragments to hosts and optimizes distributed query execution.Source: §7 · p. 11
  • Queries with large intermediate results speed up when beneficial allocation avoids transferring those results, and throughput scales better with query count than alternative approaches.Both findings are reported in the evaluation.Source: §7 · p. 11
  • Replication without query-load awareness helps in some scenarios, but duplicate handling and inability to identify irrelevant hosts often outweigh those advantages.Source: §7 · p. 11
  • The current system handles data updates; adapting a running system to query-load changes and deciding when to reconfigure remain future work.Source: §7 · p. 12
Loading 1212.5636v1…