Subsetting

Reduce records to create a smaller, representative subset of a relational database while maintaining referential integrity

subsetting graph

Why do organizations use subsetting?

Reduce infrastructure and computational costs

Excessive data volumes can lead to high infrastructure and computation costs, which are unnecessary for test data in non-production environments. With subsetting capabilities, you can easily create smaller subsets of your data to reduce your costs.

Increasing dataset icon

Manageable test data by testers and developers

Managing huge data volumes in non-production environments poses challenges for testers and developers. Smaller and thereby more manageable test data, significantly streamlining testing and development processes, ultimately optimizing the entire cycle in terms of time and resources.

Faster test data setup and maintenance

Smaller data volumes facilitate faster and more straightforward setup and maintenance of non-production test environments. This is particularly relevant in complex IT landscapes and when frequent changes in data structures require regular updates and refreshes to ensure the representativeness of test data.

Check our User Documentation here

Why subsetting is more advanced

Subsetting is not as simple as “just deleting data”

Subsetting is not as easy as simply deleting data, as all downstream and upstream related linked tables should be subsetting proportionally to preserve referential integrity. Subsetting ensures that not only data in a target table is deleted, but also that any data in any other linked table related to the deleted data from the target table is deleted. This ensures that referential integrity across tables, databases and systems is preserved as part of data deletion.

Reducing the data volume by removing “Person X” from “Table Y”, all records related to “Person X” in “Table Y” should be deleted, but also all records related to “Person X” in any other upstream or downstream related table (table A, B, C etc.) should also be deleted.

Reducing the data volume by removing “Richard” from the “Customers” table, all records related to “Richard” in the “Customer” table should be deleted, but also all records related to “Richard” in any other upstream or downstream related table (Payment table, Incidents table, Insurance Coverage Table etc.) should also be deleted.

Across tables

Subsetting works across tables

Across databases

Subsetting works across databases

Across Systems

Subsetting works across systems

How to utilize subsetting

Proportional subsetting

You can configure the Syntho Engine to subset a relational database and to ensure that all “linked tables” are subsetted based on the “Target Table”.

  • Target table: Users can define the target table as a starting point for subsetting.
    • Users can for example define to subset the “Patient Table” to 5% or to 500k records instead of 10.000k records.
  • Linked tables: These are all directly or indirectly connected tables to the “Target Table”. Links between tables may be direct, such as a target table listing allergies that reference a patient’s table through a foreign key relationship, or indirect, such as a target table referencing a patient’s table, which in turn references a hospital’s table.
    • Subsetting ensures that all records related to the deleted data in the “Patient Table” will also be deleted. In the example, subsetting ensures that in any “Linked Table” there is only data that is related to the 5% (500k records) and that all other data related to the 95% (10.000k – 500k = 9.500k records) are deleted to create a smaller representative subset of a relational database with preserved referential integrity.

Subsetting based on business rules

In addition to proportional subsetting, where you specify a percentage for data extraction, our advanced capabilities allow you to precisely define the target group for subsetting. For instance, you can specify criteria to include or exclude specific subsets, providing greater flexibility and control over the data extraction process

  • Customers younger than 60 years and older than 30 years and
  • Als Male customers
sales customers table

Other features from Syntho

Explore other features that we provide

Frequently asked questions

Many organizations have production environments with massive amounts of data and do not want massive amounts of data in non-production test environments. Hence, database subsetting is used to create a smaller, representative subset of a larger relational database with preserved referential integrity. Organizations utilize sub-setting for test data to reduce costs, to make it manageable and for faster setup and maintenance.

Referential integrity is a concept in database management that ensures consistency and accuracy between tables in a relational database. Referential integrity would ensure that every value that corresponds to “Person 1” of “Table 1” corresponds to the correct value of “person 1” in “Table 2” and any other linked table.

Enforcing referential integrity is crucial for maintaining the reliability of test data in a relational database as part of non-production environments. It prevents data inconsistencies and ensures that relationships between tables are meaningful and reliable for proper testing and software development.

Test data in a relational database environment should preserve referential integrity to be usable. 

Build better and faster with synthetic data

Unlock data access, accelerate development, and enhance data privacy. Book a session with our experts now.