Structural architecture

The following diagram shows how data and requests flow within within the Tonic Structural application:

Structural application database

The Structural application database is a PostgreSQL database that stores the workspace and Structural configuration.

The configuration includes:

  • Which users have administrative access to the Structural instance.

  • Configuration of the workspaces in the Structural instance. Each workspace includes:

    • Data connections

    • Users and roles

    • Generation configuration (table modes, generators, subsetting)

    • Post-job actions

    • Job tracking

For a file connector workspace that uses files uploaded from a local file system, the Structural application database stores the encrypted source files. It also stores the generated destination files.

Workspace source and destination databases

Each workspace is connected to a source database and a destination database. These databases are external to Structural, but Structural must be able to read from the source database and write to the destination database.

The source database contains the original data. We recommend that you use a static copy of your production database that was restored from a backup.

The destination database contains the results of the Structural data generation.

Structural components

Each of the components below can have one or more containers.

Structural web server

Runs the Structural user interface. It also runs scans to ascertain the structure of the source data, including the scans to detect schema changes.

The web server displays preview data from the source database, and pulls the configuration from the application database.

The web server also receives and processes requests and calls from the Structural API.

The web server also handles the migration of the Structural database when a new Structural version makes changes to it.

Structural notification

Sends email notifications to notify users about comments on source database columns. The commenting feature requires an enterprise tier license.

The notification component also processes Structural webhooks. Webhooks perform specific actions when a data generation job completes, fails, or is canceled.

Structural worker

A Structural instance can have multiple workers. Additional workers allow you to process multiple jobs at the same time.

The workers also run data generation. The data generation process pulls data from the source database and applies the configured generators and subsetting. The configuration is in the application database.

The workers write the resulting data to the destination database.

Structural machine learning

Runs the AI Synthesizer generator. If a workspace uses AI Synthesizer, then the Structural worker calls the Structural machine learning during data generation.

SMTP server

The SMTP server processes the notifications sent by the Structural notification component.

Securing Structural communication

All communication between Structural components, between Structural components and the application database, and between the notification component and the SMTP server use TLS encryption.

TLS encryption also is used by default to encrypt communication between Structural and the source and destination databases.

Last updated