Database Bundle Schema Objects for Modular Code Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems lack modularity, making it difficult for developers to define and deploy schema objects as atomic units, and they also hinder code sharing and distribution without compromising control over the code.

Innovation Solution

The introduction of bundles, which are schema objects with associated hidden schemas, allows for the creation and sharing of code modules while maintaining control. Bundles can be used for code modularity and encapsulation, enabling secure sharing and distribution without requiring developers to copy code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If database systems store more data to support data-driven applications, then the system's data capacity and functionality improve, but the system's modularity and ease of deployment deteriorate

Engineering Contradiction:
Improvedata capacityVSAvoidmodularity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent divides database objects into modular schema objects that can be packaged into deployable units. These schema objects represent segmented functional components that can be independently managed, deployed, and upgraded, resolving the contradiction between data capacity and modularity by organizing the growing data system into manageable modular units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces versioning parameters for schema objects, allowing different versions of the same object to coexist. This parameter change enables atomic deployment and rollback capabilities, transforming the deployment process from monolithic to granular, thereby improving modularity while maintaining data capacity.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If developers share code modules by copying and pasting code, then code distribution becomes possible, but control over the code is lost and security is compromised

Engineering Contradiction:
Improvecode sharingVSAvoidcode control
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces schema objects as intermediary entities that mediate between code creation and code sharing. These schema objects act as controlled containers that allow developers to share code functionality while maintaining centralized control through the database system's permission and versioning mechanisms, eliminating the need for direct code copying.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Instead of copying actual code, the patent enables copying of schema object references or metadata. This allows developers to share and reuse code functionality through controlled references to schema objects, maintaining security and control while achieving the ease of code distribution.

Inventive Principle:
Principle #26Copying

3Stability of the object's composition

If database systems lack modularity to maintain system integrity, then system stability is preserved, but atomic deployment and upgrading of code modules become impossible

Engineering Contradiction:
Improvesystem integrityVSAvoiddeployment efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent segments the database system into discrete schema objects that can be independently deployed. This segmentation allows atomic deployment where individual schema objects or groups can be upgraded without affecting the entire system, improving deployment efficiency while maintaining system integrity through controlled transaction management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements version control and dependency management as preliminary actions before deployment. Schema objects are prepared with version metadata and dependency declarations in advance, allowing the system to verify integrity constraints before execution, thus enabling atomic deployments without compromising system stability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12210492B2Bundle creation and distribution
Publication Date: 2025.01.28 SNOWFLAKE INC
  • US12210492B2 patent drawing
  • US12210492B2 patent drawing
  • US12210492B2 patent drawing

AI summary

Techniques for creating, sharing, and using bundles (also referred to as packages) in a multi-tenant database are described herein. A bundle is a schema object with associated hidden schemas. A bundle can be created by a provider user and can be shared with a plurality of consumer users. The bundle can be used to enable code sharing and distribution without losing control while maintaining security protocols.