In-Memory NoSQL Data Placement for Low-Latency Multi-Key Commands

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-memory NoSQL databases face performance issues when implemented in a distributed fashion, particularly with complex multi-key commands that require data migration across nodes, leading to delays and latency due to the need for data consistency.

Innovation Solution

A system and method that identifies groups of keys associated with values stored on different servers and relocates these values to a single server, reducing latency by executing complex multi-key commands locally and minimizing data migration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If database data structures are spread over multiple nodes in a distributed fashion, then scalability and storage capacity are improved, but execution of complex multi-key commands requires data migration across nodes causing increased latency and performance degradation

Engineering Contradiction:
Improvestorage capacityVSAvoidcommand execution latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system performs preliminary action by identifying keys that are likely to be used together in complex multi-key commands and pre-colocating their associated values on the same server before commands are executed. This advance preparation eliminates the need for data migration during command execution, thus resolving the contradiction between distributed storage capacity and command execution latency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system segments the dataset into groups based on key relationships and distributes these groups across servers in a way that optimizes for both storage capacity and command execution efficiency. By segmenting data according to access patterns rather than uniformly distributing all data, the system maintains scalability while reducing latency for complex commands.

Inventive Principle:
Principle #1Segmentation

2Productivity

If values associated with complex multi-key commands are stored on different servers, then data distribution and scalability are improved, but object migration across nodes is required causing performance blocking and delays

Engineering Contradiction:
Improvedata distribution efficiencyVSAvoidperformance blocking
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The system performs preliminary analysis to identify keys that are likely to be used together in complex multi-key commands and pre-colocates their associated values on the same server. This advance preparation eliminates the need for object migration during command execution, thus resolving the contradiction between data distribution efficiency and performance blocking.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

When values need to be accessed together but are stored on different servers, the system creates copies of the required values on the same server where the command will be executed. This copying approach eliminates migration delays and performance blocking while maintaining the benefits of distributed storage.

Inventive Principle:
Principle #26Copying

3Quantity of substance

If in-memory NoSQL database is implemented distributedly, then storage capacity and scalability are improved, but execution speed of complex commands decreases due to data migration requirements

Engineering Contradiction:
Improvestorage capacityVSAvoidcommand execution speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The system performs preliminary action by identifying keys that are likely to be used together in complex multi-key commands and pre-colocating their associated values on the same server before commands are executed. This advance preparation eliminates the need for data migration during command execution, thus resolving the contradiction between distributed storage capacity and command execution speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies local quality by optimizing data placement specifically for complex multi-key command execution. Instead of uniform distribution, values that are likely to be accessed together are placed on the same server, creating local data clusters that enable fast execution while maintaining overall distributed storage capacity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9984106B2Systems, methods, and media for managing an in-memory NOSQL database
Publication Date: 2018.05.29 REDIS LTD
  • US9984106B2 patent drawing
  • US9984106B2 patent drawing
  • US9984106B2 patent drawing

AI summary

Systems, methods, and media for managing an in-memory NoSQL database are provided. In some embodiments, systems for managing an in-memory NoSQL database are provided, the systems comprising a hardware processor that is configured to: identify a group of keys capable of being included in a complex multi-key database command, the group including a first key and a second key, the first key being associated with a first value and the second key being associated with a second value, the first value and the second value being stored on different servers that are part of the database; and cause the first value and the second value to be both stored on a given server.