Shared Index Cache for Multi-Tenant Nonrelational Databases
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Nonrelational databases face challenges in maintaining low latency as data scales out due to varying indexing mechanisms and caching algorithms, leading to duplication of indexes in cache memory, especially in multi-tenant environments, which affects search efficiency and data retrieval speed.
Innovation Solution
Implementing a shared LRU cache system that captures patterns from multiple index services, combines cache items, and adjusts based on eviction policies to optimize index storage and retrieval, allowing for shared query results and documents to be accessed directly from memory instead of persistence.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If separate index caches are maintained for each tenant, then data retrieval speed is optimized for individual tenants, but cache memory duplication occurs and search efficiency decreases
Solution Approach 1:
The patent merges separate index caches into a single shared index cache that serves multiple tenants. Instead of maintaining separate caches for each tenant, the system combines them into one unified cache structure, eliminating duplication and improving overall search efficiency while maintaining fast data retrieval through optimized cache management.
Solution Approach 2:
The shared index cache is designed to serve multiple tenants simultaneously with a single data structure. The cache management system implements multi-functionality by handling queries from different tenants through a unified cache, enabling one cache structure to perform the work of multiple separate caches while reducing resource consumption.
2Reliability
If indexes are cached for each tenant separately, then query results are optimized for individual access patterns, but cache memory is duplicated across tenants
Solution Approach 1:
The patent combines separate tenant-specific index caches into a single shared index cache. This merging eliminates redundant cache copies across tenants, reducing total cache memory usage while maintaining optimized query results through a unified cache management system that serves multiple tenants from one shared structure.
3Adaptability or versatility
If multiple indexing mechanisms are used to handle diverse data, then data flexibility is improved, but cache management complexity increases
Solution Approach 1:
The shared index cache implements a universal data structure that can handle multiple indexing mechanisms and diverse data types through a single unified approach. Rather than maintaining separate cache management systems for different indexing mechanisms, the patent uses one versatile cache structure that adapts to various data types and indexing methods, reducing management complexity.
Data Source
AI summary
A computer-implemented method includes receiving, by a processing unit, from a first tenant, a query to retrieve data from a nonrelational database system. The method further includes determining, by the processing unit, that an index associated with the query is cached in a shared index cache, wherein the shared index cache stores indexes for a plurality of tenants. The method further includes retrieving, by the processing unit, a result of the query based on the index in the shared index cache. The method further includes outputting, by the processing unit, the result of the query.


