Custom Multi-Tenant Objects in Non-Relational Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-relational database systems, such as HBase, face challenges in dynamically updating schema elements and provisioning access rights without interrupting real-time data collection, as traditional methods require locking down the database and causing downtime.

Innovation Solution

Implementing custom base platform objects (BPOs) defined in scripting languages like XML, which allow for dynamic virtual tables with shared schemas, enabling updates and access control at the application layer without physical changes to the database structure, thus allowing zero-downtime schema management and personalized access for tenants.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional schema update methods are used in non-relational database systems, then schema changes can be made, but the database must be locked down causing downtime and interrupting real-time data collection

Engineering Contradiction:
Improveschema update capabilityVSAvoidcontinuous data collection
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the schema management into two independent layers: a metadata layer for schema definitions and a data layer for actual operations. This allows schema updates to occur in the metadata layer without affecting the data layer, enabling continuous real-time data collection while schema changes are applied.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a virtual table layer as an intermediary between the physical non-relational database and the application layer. This virtual table handles schema updates and translates them to the physical database, allowing schema changes without requiring the database to be locked down, thus maintaining continuous data collection operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If physical changes are made to the database structure for schema updates, then schema evolution is achieved, but real-time data operations are disrupted causing downtime

Engineering Contradiction:
Improveschema evolutionVSAvoiddowntime
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs schema validation and compilation in advance before applying changes to the physical database. The virtual table pre-processes schema updates, validating them against the non-relational database constraints beforehand, so that when changes are applied, they can be executed quickly without prolonged downtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic schema management where the virtual table can adapt schema changes in real-time without requiring static physical database restructuring. Schema evolution occurs dynamically through metadata updates and virtual table reconfiguration, allowing continuous operations without the downtime associated with static physical changes.

Inventive Principle:
Principle #15Dynamics

3Reliability

If access control is implemented at the database level, then security is improved, but flexibility for personalized tenant access is reduced

Engineering Contradiction:
Improveaccess securityVSAvoidpersonalized access control
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements access control with local quality by allowing different access policies to be applied to different tenants and data objects independently. The virtual table enables fine-grained, personalized access control rules for each tenant while maintaining overall database security, rather than applying uniform access control at the database level.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent adds a new dimension to access control by implementing a virtual table layer between the physical database and users. This additional layer enables personalized access control policies to be applied without compromising the underlying database security model, allowing flexible tenant-specific permissions while maintaining robust database-level security.

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

4Adaptability or versatility

If custom objects are added to extend functionality for specific tenants, then adaptability is improved, but database complexity increases

Engineering Contradiction:
Improvetenant-specific functionalityVSAvoiddatabase structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent uses copying by creating virtual representations of custom objects in the virtual table layer rather than physically altering the database structure for each custom object. Tenant-specific functionality is achieved by copying and adapting schema definitions in the metadata layer, allowing custom objects to be added without increasing physical database complexity.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10380094B2Custom multi-tenant non-relational platform objects
Publication Date: 2019.08.13 SALESFORCE INC
  • US10380094B2 patent drawing
  • US10380094B2 patent drawing
  • US10380094B2 patent drawing

AI summary

Disclosed are examples of systems, apparatus, methods and computer program products for creating custom platform objects for a multi-tenant non-relational database environment. A database system maintains a multi-tenant non-relational database associated with multiple enterprises and a number of records for each of the enterprises. The system also maintains a dynamic virtual table associated with a number of records. A request is received from one of the enterprises to define a custom data object within the database system, uniquely associated with an enterprise. The request is processed, and a custom object is generated based on the request. The custom object defines database columns corresponding to the data object and the enterprise. The virtual table is updated to include virtual columns corresponding to the database column definitions, and existing columns of a shared table in the non-relational database are updated to match the virtual columns. Access to the existing columns is then restricted for enterprises not uniquely associated with the custom data object.