Multi-Tenant In-Memory Database Memory Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems face challenges in managing large datasets due to memory limitations and increased complexity when using in-memory databases, as they require excessive hardware resources and introduce latency by caching data between main and secondary memory.

Innovation Solution

The Multi-Tenant In-Memory Database (MUTED) system extends the Segmented Global Area (SAGA) database to support multiple independent tenants sharing a common data pool, allowing tenants to modify and customize data while maintaining data integrity and reducing memory requirements by providing direct access to shared objects without copying, thus minimizing latency and hardware needs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is stored in main memory for fast access, then access speed is improved, but memory requirements increase excessively

Engineering Contradiction:
Improvedata access speedVSAvoidmemory requirements
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The database is divided into multiple segments that can be independently managed and stored in different memory locations. This allows only the necessary segments to be loaded into main memory, reducing overall memory requirements while maintaining fast access to active data segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements transparent mapping between main memory and secondary storage, creating a virtual memory space that appears as main memory to applications. This dimensional abstraction allows data to be accessed at memory speeds through mapping mechanisms without physically copying all data into main memory.

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

2Quantity of substance

If data is cached between main and secondary memory, then memory usage is reduced, but latency increases due to complex software management

Engineering Contradiction:
Improvemain memory usageVSAvoiddata access latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent creates a virtual memory dimension that maps secondary storage locations transparently to main memory addresses. This eliminates the need for complex software cache management by presenting a unified memory space where data can be accessed directly through mapping without manual caching operations.

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

Solution Approach 2:

The system automatically manages data mapping between main memory and secondary storage without requiring complex software intervention. The transparent mapping mechanism handles data location tracking and access routing autonomously, reducing software complexity and access latency.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If multiple independent databases are maintained for different tenants, then data isolation and customization are improved, but memory requirements and system complexity increase

Engineering Contradiction:
Improvetenant data customizationVSAvoidtotal memory requirements
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

Multiple tenant databases are merged into a shared memory space where data from different tenants coexists. This allows tenants to access their own data while sharing common infrastructure, reducing total memory requirements compared to completely separate database instances while maintaining data isolation through logical separation mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The database system is designed to serve multiple tenants simultaneously through a universal platform that handles different data types and access patterns. This multi-functional design allows a single system to provide customized data access for multiple tenants without requiring separate specialized systems for each tenant.

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

4Reliability

If data is copied into application memory space for data integrity, then data protection is improved, but access speed and memory efficiency deteriorate

Engineering Contradiction:
Improvedata integrityVSAvoiddata access speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

Instead of copying entire data objects into application memory space, the patent implements selective copying of only the necessary data portions or uses memory-mapped files that provide direct access to stored data. This reduces the overhead of data copying while maintaining data integrity through controlled access mechanisms.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces a mapping layer as an intermediary between the application and the database storage. This intermediary handles data access requests, ensuring data integrity through controlled access paths while avoiding the need to copy data into application memory space. The mapping layer acts as a mediator that maintains reliability without sacrificing access speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8886671B1Multi-tenant in-memory database (MUTED) system and method
Publication Date: 2014.11.11 ADVENT SOFTWARE
  • US8886671B1 patent drawing
  • US8886671B1 patent drawing
  • US8886671B1 patent drawing

AI summary

In various embodiments, systems and methods for Multi-Tenant In-Memory Database access to an application program accessing an object-oriented database (OODB) are disclosed. Embodiments may include: connecting, by a processor, the application program to a data repository for a database; generating, by the processor, a first Firm for a first tenant; placing, by the processor, an address of a first object of the first Firm into a knowledge base pointer associated with the first tenant; placing, by the processor, an address of a main database object of the database into a pointer in an object of the first Firm; and accessing, by the processor, the first Firm through the knowledge base pointer and the database through the pointer object of the first Firm.