In-Memory Key-Value Database Scaling with Adaptive Pipelining

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current in-memory non-relational databases face challenges in scalability, high availability, and cost due to limited replication capabilities and high RAM resource prices, making them unsuitable for Web 2.0 and SaaS applications that require efficient data management and storage solutions.

Innovation Solution

The implementation of a system that includes a data management controller and cluster node manager to manage data flow, provide high availability, and optimize resource usage through pipelining, persistent connections, and load balancing, while supporting Redis and Memcached protocols with enhanced functionality such as connection pooling and real-time compression.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If in-memory non-relational databases are used to improve data access speed, then throughput and latency are significantly improved, but cost increases due to high RAM resource prices

Engineering Contradiction:
Improvedata access speedVSAvoidcost
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent applies local quality by differentiating storage locations for different data types. Frequently accessed data is stored in high-speed memory (RAM) while less frequently accessed data is stored in lower-cost storage media. This creates a hierarchical storage structure where each layer serves specific access patterns, optimizing both speed and cost by matching data placement to access requirements rather than storing all data uniformly in expensive RAM.

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If traditional RDBMS are used to provide complex querying and management functionality, then data management capabilities are improved, but hardware cost and personnel requirements increase

Engineering Contradiction:
Improvedata management capabilitiesVSAvoidhardware cost
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent extracts and removes unnecessary complex functionality from the database system. It implements a simplified database model that focuses on core key-value storage and retrieval operations, deliberately excluding complex querying, joins, and transaction management features found in traditional RDBMS. This extraction of essential functions only reduces hardware requirements and operational complexity while maintaining effectiveness for web 2.0 and SaaS application workloads.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If RDBMS replication capabilities are used to improve data availability, then consistency is maintained, but performance and scalability are limited

Engineering Contradiction:
Improvedata consistencyVSAvoidscalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies segmentation by dividing the database into independent, autonomously-operating nodes that can be distributed across multiple servers. Each node maintains its own data partition and can operate independently, enabling horizontal scaling by simply adding new nodes to the cluster. This segmented architecture eliminates the scalability bottlenecks of traditional RDBMS replication while maintaining data consistency through coordinated protocols between nodes.

Inventive Principle:
Principle #1Segmentation

4Speed

If Memcached is used to provide distributed key-value caching, then read operation performance is improved, but data persistence and high availability are lost during scaling events

Engineering Contradiction:
Improveread operation performanceVSAvoiddata persistence
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies preliminary action by implementing persistent storage mechanisms that proactively save data to durable storage media before scaling or failure events occur. The system continuously maintains data copies in both volatile memory for fast access and non-volatile storage for persistence, ensuring data is already prepared and recoverable before any failure or scaling event happens, rather than attempting recovery after data loss.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8972488B2System, methods, and media for providing in-memory non-relational databases
Publication Date: 2015.03.03 REDIS LTD
  • US8972488B2 patent drawing
  • US8972488B2 patent drawing
  • US8972488B2 patent drawing

AI summary

Providing a first control process that executes in a hardware processor, providing a first server process that executes in a hardware processor, that responds to write requests by storing objects in in-memory, non-relational data store, and that responds to read requests by providing objects from in-memory, non-relational data store, wherein the objects each have an object size; forming a plurality of persistent connections between the first control process and the first server process; using the first control process, pipelining, using a pipeline having a pipeline size, requests that include the read requests and the write requests over at least one of the plurality of persistent connections; using the first control process, adjusting the number of plurality of persistent connections and the pipeline size based on an average of the object sizes; and using the first control process, prioritizing requests by request type based on anticipated load from the requests.