Data Silo Testing in Production Databases
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In on-demand systems, testing code in a development environment separate from production can be inefficient due to resource sharing and data fidelity issues, while testing in the production environment can cause side-effects and operational burdens.
Innovation Solution
Creating a data silo within the production environment by inserting new data and injecting a test context filter into queries, allowing tests to operate solely on the new data without affecting production transactions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If code testing is performed in a separate development environment, then production environment integrity is protected, but resource efficiency decreases and data fidelity is compromised
Solution Approach 1:
The patent segments the production database into multiple logical databases, each associated with different tenants or contexts. This allows test sequences to operate on dedicated test databases that are isolated from production data, protecting production integrity while enabling efficient testing with realistic data structures and relationships.
Solution Approach 2:
The patent creates copies of production data structures and relationships in test databases, ensuring data fidelity without compromising production integrity. Test databases replicate the schema, relationships, and data patterns of production environments, allowing realistic testing while maintaining separation.
2Reliability
If code testing is performed in a separate development environment, then production data safety is maintained, but data fidelity and access context differ from production
Solution Approach 1:
The patent changes the context parameter by implementing context filters that are injected into queries. These filters modify query behavior to respect tenant-specific contexts, ensuring that test sequences execute with the same access levels and contextual constraints as production environments, thereby maintaining data fidelity.
Solution Approach 2:
The patent creates a universal testing framework that can operate across multiple database contexts. The same test sequence can be executed against different tenants or data contexts by injecting appropriate context filters, allowing comprehensive testing with production-like data fidelity while maintaining safety through contextual isolation.
3Productivity
If code testing is performed within the live production environment, then resource efficiency and data fidelity improve, but side-effects and operational burden increase
Solution Approach 1:
The patent segments the production database into multiple logical databases, each associated with different tenants or contexts. This allows test sequences to operate on dedicated test databases that are isolated from production data, protecting production integrity while enabling efficient testing with realistic data structures and relationships.
Solution Approach 2:
The patent introduces context filters as intermediaries between test sequences and database operations. These filters are injected into queries to ensure that test operations are properly scoped and isolated, preventing harmful side-effects on production data while allowing tests to run efficiently in the production environment.
4Measurement precision
If testing operations are performed on production data, then data fidelity is maintained, but data access contention and operational burden increase
Solution Approach 1:
The patent segments the production database into multiple logical databases, each associated with different tenants or contexts. This allows test sequences to operate on dedicated test databases that are isolated from production data, protecting production integrity while enabling efficient testing with realistic data structures and relationships.
Solution Approach 2:
The patent introduces context filters as intermediaries between test sequences and database operations. These filters are injected into queries to ensure that test operations are properly scoped and isolated, preventing harmful side-effects on production data while allowing tests to run efficiently in the production environment.
Data Source
AI summary
In accordance with disclosed embodiments, there are provided methods, systems, and apparatuses for creating a data silo and testing with a data silo including, for example, initiating a test sequence against a production database within the host organization, in which the test sequence specifies: a) new data for insertion into the production database during the test sequence, and b) one or more test queries against the production database during the test sequence; performing a database transaction to insert the new data into the production database without committing the new data to the production database; recording names of one or more objects corresponding to the inserted new data, the one or more objects created as part of the transaction to insert the new data into the production database within a transaction entity object map; modifying the one or more test queries specified by the test sequence to no longer query against the production database by substituting the one or more test queries with references to the names of the one or more objects in operating memory separate from information stored within the production database; and executing the one or more modified test queries. Other related embodiments are disclosed.


