Probabilistic Data Structures Reduce Database Node Requests

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern database systems face inefficiencies due to excessive requests between database nodes for records that are often not present in another node's in-memory cache, leading to resource consumption and slowed operations.

Innovation Solution

Implementing probabilistic data structures that allow database nodes to determine whether to request a record from another node by storing information about the existence of records, using techniques like Bloom filters and cuckoo filters to reduce unnecessary requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If database nodes send requests to other nodes to check for record existence, then record availability can be ensured, but the number of requests increases excessively consuming resources

Engineering Contradiction:
Improverecord availabilityVSAvoidrequest overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing probabilistic data structures (Bloom filters, cuckoo filters) that contain information about record existence in advance. When a database node needs to check for record availability, it queries these pre-computed structures instead of sending requests to other nodes, thereby eliminating the need for runtime availability checks while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces probabilistic data structures as intermediaries between database nodes. These structures act as mediators that store and communicate record existence information without requiring direct node-to-node communication for availability checks. The intermediary structures filter out unnecessary requests while preserving the ability to detect when records are available.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If probabilistic data structures are implemented to reduce requests, then communication efficiency improves, but additional data structure maintenance overhead is introduced

Engineering Contradiction:
Improvecommunication efficiencyVSAvoiddata structure maintenance
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies self-service by designing probabilistic data structures that automatically update and maintain themselves as records are inserted, deleted, or modified in the in-memory cache. The structures self-regenerate or self-update without requiring manual intervention or complex maintenance routines, reducing the operational overhead despite the added complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent utilizes parameter changes by adjusting the probabilistic data structure parameters (such as filter size, hash function count, false positive rate) to optimize the balance between communication efficiency and maintenance overhead. By tuning these parameters, the system adapts to different workloads and minimizes the maintenance burden while preserving communication benefits.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If Bloom filters and cuckoo filters are used to track record existence, then unnecessary requests are reduced, but memory usage increases

Engineering Contradiction:
Improverequest reductionVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies partial action by implementing probabilistic data structures only for the most frequently accessed or contested records, rather than maintaining them for all records in the database. This selective approach reduces memory consumption while still achieving significant request reduction for the critical subset of records that benefit most from availability checking.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent reduces memory consumption by dynamically adjusting the size and capacity parameters of probabilistic data structures based on the workload characteristics, record access patterns, and available memory resources. The system can scale the memory allocation for these structures up or down to balance request reduction benefits against memory consumption constraints.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11526474B2Reducing requests using probabilistic data structures
Publication Date: 2022.12.13 SALESFORCE INC
  • US11526474B2 patent drawing
  • US11526474B2 patent drawing
  • US11526474B2 patent drawing

AI summary

Techniques are disclosed relating to providing and using probabilistic data structures to at least reduce requests between database nodes. In various embodiments, a first database node processes a database transaction that involves writing a set of database records to an in-memory cache of the first database node. As part of processing the database transaction, the first database node may insert, in a set of probabilistic data structures, a set of database keys that correspond to the set of database records. The first database node may send, to a second database node, the set of probabilistic data structures to enable the second database node to determine whether to request, from the first database node, a database record associated with a database key.