Throughput-Based Fan-Out Control in Distributed Graph Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Complex querying of social and online professional networks is time- and resource-intensive due to exponential link scanning, leading to issues like tail latency, network congestion, and CPU-bounding, which hampers performance and scalability.

Innovation Solution

Implementing a graph database with mechanisms for partitioning, replicating, and providing throughput-based fan-out control to efficiently process queries by distributing data across multiple storage nodes and clusters, allowing for optimal data retrieval and storage without requiring knowledge of a relational model.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If complex queries are executed on social network data, then comprehensive search results can be obtained, but query execution time and resource consumption increase exponentially

Engineering Contradiction:
Improvequery completenessVSAvoidquery execution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the social network graph into multiple partitions distributed across different storage nodes. Each partition contains a subset of the graph data, allowing queries to be processed in parallel across multiple nodes rather than scanning the entire graph sequentially. This segmentation reduces query execution time while maintaining complete search results.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of data organization by creating inverted indexes and adjacency lists that provide alternative access paths to the graph data. These auxiliary data structures enable efficient traversal and filtering operations without requiring full graph scans, thus reducing query execution time while preserving query completeness.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If graph data is distributed across multiple storage nodes, then query processing scalability is improved, but system complexity increases

Engineering Contradiction:
Improvequery processing scalabilityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal query processing framework that handles multiple types of graph queries (traversal, filtering, aggregation) through a unified architecture. The same partitioning and indexing mechanisms serve multiple query types, reducing the need for separate specialized systems and thereby managing complexity while maintaining scalability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces intermediary components such as query routers and coordination services that manage the complexity of distributed query processing. These intermediaries handle task distribution, result aggregation, and coordination between storage nodes, shielding application logic from the underlying system complexity while enabling scalable query processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If fan-out is increased to improve query coverage, then more comprehensive results are achieved, but network congestion and tail latency worsen

Engineering Contradiction:
Improvequery coverageVSAvoidnetwork congestion
Core Design Contradiction:
Measurement precisionVSObject-affected harmful factors

Solution Approach 1:

The patent applies partial fan-out by selectively expanding only the necessary portions of the graph based on query filters and constraints. Instead of blindly traversing all outgoing edges from each node, the system evaluates filter conditions at each step and prunes branches that cannot contribute to the final results. This partial action maintains query coverage for relevant data while reducing network traffic and avoiding congestion.

Inventive Principle:
Principle #16Partial or excessive action

4Speed

If data is replicated across clusters, then query performance and availability are improved, but storage overhead increases

Engineering Contradiction:
Improvequery retrieval speedVSAvoidstorage overhead
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent implements selective replication where different partitions are replicated to different extents based on their access patterns and importance. Frequently accessed partitions or those containing critical data are replicated across more clusters, while less frequently accessed data has lower replication factors. This local quality approach optimizes query retrieval speed for hot data while minimizing overall storage overhead.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10037376B2Throughput-based fan-out control in scalable distributed data stores
Publication Date: 2018.07.31 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10037376B2 patent drawing
  • US10037376B2 patent drawing
  • US10037376B2 patent drawing

AI summary

The disclosed embodiments provide a system for processing data. During operation, the system determines a current incoming queries per second (QPS) to one or more components for processing queries of a graph database, wherein the graph database is replicated across multiple clusters and distributed among a set of storage nodes in each of the clusters. Next, the system uses the current incoming QPS to estimate, for the one or more components, an expected QPS associated with fanning out of the queries to the clusters. The system then selects a number of clusters in the multiple clusters for fanning out of a query based on the expected QPS and one or more throughput limits for the one or more components. Finally, the system transmits the query to one or more of the storage nodes in the selected number of clusters.