Composite Keys for Multi-Tenant Non-Relational Database Objects

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-tenant non-relational database systems lack an efficient method for customers to define and manage composite keys across shared tables, leading to limitations in query capabilities and metadata management, which restricts flexible and scalable data access.

Innovation Solution

The system allows organizations to define composite keys for platform objects within a multi-tenant environment through a script, generating metadata models and writing this information to specific tables, enabling the creation of composite primary and secondary keys that facilitate efficient data retrieval and querying.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional single-tenant database schemas are used, then data security and isolation are maintained, but query flexibility and scalability are limited

Engineering Contradiction:
Improvequery flexibilityVSAvoidschema complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the database schema into tenant-specific configurations by allowing each tenant to define custom composite keys on shared tables. This enables query flexibility for individual tenants while maintaining the shared table structure for multi-tenant efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic schema configuration where tenants can define and modify composite keys at runtime through scripts. This dynamic approach allows the schema to adapt to different tenant requirements without requiring separate physical tables for each tenant.

Inventive Principle:
Principle #15Dynamics

2Speed

If separate tables are created for each tenant, then query performance is improved, but system complexity and maintenance burden increase

Engineering Contradiction:
Improvequery performanceVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent merges multiple tenant-specific logical schemas into shared physical tables. By allowing tenants to define composite keys on the same table, the system achieves query performance similar to separate tables while maintaining the benefits of shared infrastructure and reduced complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates universal shared tables that serve multiple tenants simultaneously. Each table is designed to handle queries from multiple tenants through composite key definitions, making the table multi-functional and eliminating the need for tenant-specific table copies.

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

3Adaptability or versatility

If composite keys are not supported, then system simplicity is maintained, but metadata management capabilities are insufficient

Engineering Contradiction:
Improvemetadata managementVSAvoidimplementation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a metadata layer that acts as an intermediary between the application and the underlying database. This metadata layer stores composite key definitions and configurations, enabling sophisticated metadata management while keeping the implementation details abstracted away from users.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent enables tenants to self-define their composite keys through scripts and configuration files. This self-service approach allows tenants to manage their own metadata requirements without requiring complex system-wide changes or administrator intervention for each configuration.

Inventive Principle:
Principle #25Self-service

4Productivity

If dynamic schema configuration is enabled, then tenant-specific query optimization is achieved, but provisioning time and setup complexity increase

Engineering Contradiction:
Improvedata access efficiencyVSAvoidprovisioning time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent allows composite key configurations to be defined in advance through scripts during tenant onboarding. By preparing the schema configuration beforehand, the system can quickly provision new tenants without requiring complex runtime setup, thus reducing provisioning time while maintaining query optimization capabilities.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10579692B2Composite keys for multi-tenant non-relational platform objects
Publication Date: 2020.03.03 SALESFORCE INC
  • US10579692B2 patent drawing
  • US10579692B2 patent drawing
  • US10579692B2 patent drawing

AI summary

Disclosed are examples of systems, apparatus, methods and computer program products for providing a web application builder framework in a database system. A database system maintains a multi-tenant non-relational database associated with a number of enterprises, a number of records, and a number of data objects for each of the enterprises. A dynamic virtual table is maintained as well, associated with the number of records and number of data objects. A user request is received to define a composite key for a data object. A metadata model is generated representing the data object, and a data definition script is generated. The dynamic virtual table is updated to include one or more virtual columns corresponding to the data definition script, and one or more columns of a shared table in the non-relational database are updated to match the virtual columns.