Enforcing Foreign Key Constraints Across Distributed Database Instances

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tenant database systems, monolithic database structures fail to scale well as data grows, breaking foreign key constraints when tables are split across multiple database instances, leading to challenges in maintaining data integrity and enforcing dependencies.

Innovation Solution

An intermediate orchestration layer generates configuration data to reflect broken foreign key constraints, allowing an intermediate layer to enforce these constraints for incoming requests, thereby maintaining data integrity and scalability without requiring applications to manage constraints internally.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If tables are split across multiple database instances to improve scalability, then the system can handle larger data volumes, but foreign key constraints are broken and data integrity cannot be enforced

Engineering Contradiction:
ImprovescalabilityVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

An intermediate layer is introduced between the application layer and multiple database instances to enforce foreign key constraints. This intermediary receives database operations, validates foreign key relationships against configuration data, and only permits operations that maintain referential integrity, thus preserving data integrity while allowing distributed storage across multiple instances.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The database system is segmented into multiple independent database instances, each storing portions of the schema. Configuration data is generated to track foreign key relationships across these segments, enabling the intermediate layer to enforce constraints across distributed tables without requiring a monolithic database structure.

Inventive Principle:
Principle #1Segmentation

2Reliability

If foreign key constraints are enforced at the database layer in a monolithic system, then data integrity is maintained, but the system cannot scale well as data grows

Engineering Contradiction:
Improvedata integrityVSAvoidscalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The enforcement of foreign key constraints is moved from the database layer to an intermediate layer that operates above multiple database instances. This intermediate layer validates operations against configuration data that describes foreign key relationships, maintaining data integrity while allowing the underlying storage to be distributed across multiple scalable instances.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system transitions from a single-dimensional monolithic database structure to a multi-dimensional architecture where data is distributed across multiple database instances. Configuration data is generated to capture foreign key relationships across these instances, enabling constraint enforcement in the distributed dimension without sacrificing scalability.

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

3Productivity

If tables are distributed across multiple database instances, then system scalability improves, but the complexity of managing foreign key relationships increases

Engineering Contradiction:
ImprovescalabilityVSAvoidconstraint management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Configuration data is generated in advance to capture foreign key relationships between tables distributed across multiple database instances. This preliminary configuration enables the intermediate layer to enforce constraints without requiring complex real-time coordination or manual management of distributed relationships, reducing operational complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system automatically generates configuration data that encodes foreign key relationships across distributed instances. The intermediate layer uses this configuration data to autonomously enforce constraints without requiring application-level logic or manual intervention, allowing the system to self-manage the complexity of distributed foreign key relationships.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11176120B2Foreign key constraint enforcement across database instances
Publication Date: 2021.11.16 SALESFORCE INC
  • US11176120B2 patent drawing
  • US11176120B2 patent drawing
  • US11176120B2 patent drawing

AI summary

Disclosed techniques relate to enforcing table dependencies for a database schema when tables are maintained by separate database instances. In some embodiments, a database system generates configuration data based on foreign key constraints for multiple database tables. In some embodiments, in response to a request from an application server to access data, the database system accesses the configuration data (where the configuration data specifies a relationship between a field of a child table and a field of a parent table and at least a portion of the parent table is stored in a different database instance than the child table) and determines whether the request satisfies the specified relationship. In some embodiments, enforcing dependencies at an intermediate orchestration layer maintained by the database systems allows applications to submit requests without considering table dependencies.