Automated Database Configuration Provisioning via Build Metadata

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In continuous integration development schemes, ensuring access to the latest database configuration for testing and evaluation can be challenging, as frequent updates complicate maintaining a consistent test configuration without corrupting production data.

Innovation Solution

Integrating the creation of a database configuration into the build process, where a build producer compiles program instructions, provisions a database schema and seed data using metadata from a source code management repository, and packages it for easy distribution and testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If database configuration is manually maintained for frequent updates, then testing accuracy is improved, but time consumption and risk of data corruption increase

Engineering Contradiction:
Improvetesting accuracyVSAvoidtime consumption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables automated self-service provisioning of database configurations through build processes. The build producer automatically creates, updates, and manages database configurations based on source code metadata without requiring manual intervention, thus maintaining testing accuracy while reducing time consumption

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Database configurations are provisioned in advance as part of the build process before testing begins. The system prepares multiple database configurations ahead of time based on predicted testing needs, eliminating the need for manual maintenance during the testing phase and reducing both time consumption and corruption risk

Inventive Principle:
Principle #10Preliminary action

2Reliability

If database configuration is manually maintained for frequent updates, then testing accuracy is improved, but complexity of maintenance increases

Engineering Contradiction:
Improvetesting accuracyVSAvoidcomplexity of maintenance
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The automated build process serves itself by automatically provisioning and managing database configurations based on source code metadata. This self-service mechanism eliminates the need for complex manual maintenance procedures while ensuring testing accuracy is maintained through consistent, automated configuration management

Inventive Principle:
Principle #25Self-service

3Productivity

If automated build process is implemented, then productivity is improved, but complexity of build process increases

Engineering Contradiction:
Improvecreation speedVSAvoidcomplexity of build process
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The database configuration provisioning process is merged with the existing automated build process. The build producer simultaneously compiles source code and provisions database configurations in a single integrated workflow, increasing productivity while managing complexity through consolidation rather than adding separate manual processes

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10909092B2Automated database creation
Publication Date: 2021.02.02 SALESFORCE INC
  • US10909092B2 patent drawing
  • US10909092B2 patent drawing
  • US10909092B2 patent drawing

AI summary

Techniques are disclosed relating to create a configuration for a database system. In some embodiments, program instructions of a change set for an application are received from a source code management (SCM) repository. In response to the receiving, a build process is performed that includes causing compilation of the received program instructions to produce program instructions executable to run the application. The build process also includes provisioning the configuration with a schema by retrieving a first set of metadata defining the schema and issuing corresponding data definition language (DDL) instructions to create the schema in the configuration. The build process includes provisioning the configuration with data by retrieving a second set of metadata defining the data and issuing corresponding data manipulation language (DML) instructions to insert the data into the configuration and storing the provisioned configuration in a repository as one of multiple configurations associated with multiple received change sets.