Gluesync Module · Whisperer · Ships with Gluesync 2.3.1

Synthetics and seeding

Generate realistic mock data on the fly, keep seeding the tables your pipelines replicate, and export ORM-ready stub data without touching a database. Whisperer is the Gluesync module behind it, built into Core Hub from Gluesync 2.3.1.

Synthetics and seeding
Synthetics and seeding

Synthetics and seeding

Bound tableMixRateStatus
sales.ordersP-PG-MYSQL Orders · PostgreSQL source 70 / 20 / 10ins / upd / del 5 × 1 sUnlimited · no time limit Idle
sales.customersP-PG-MYSQL Orders · PostgreSQL source 100 / 0 / 0ins / upd / del 100 × 0.1 sUnlimited · no time limit Idle
acme.stockP-MYSQL-PG Inventory · MySQL source 33 / 33 / 34ins / upd / del 10 × 2 s2,000 ops · 10 m 0 s Idle
Recent runsevery run is recorded, including stopped ones
  • ONE_SHOTsales.customers500 rows · 2.1 sCOMPLETED
  • CONTINUOUSacme.stock10 m 0 s · 2,000 ops · duration limitCOMPLETED
  1. 01 Bind a table on a pipeline you already run
  2. 02 Seed it once, or keep a pillow fight going
  3. 03 Export fixtures with no database at all

Why Synthetics and seeding

Give the pipeline traffic before production does

01 / Empty staging

Nothing to replicate

A new pipeline in a test environment has no rows and no changes. CDC, mappings and targets go live untested, or against a copy of production nobody should have.

02 / Scripts and spreadsheets

Hand-rolled load

Ad-hoc INSERT loops and CSVs ignore keys and types, flood query history, and stop whenever the laptop running them does.

03 / The platform outcome

One module, three outputs

Whisperer binds to the agents Gluesync already knows, writes type- and key-aware rows at the rate you set, and exports the same generated data as fixtures.

How it works

Built into Core Hub, run through Query Studio

  1. 01

    Bind

    Pick a table on an agent

    Whisperer binds to pipelines and agents Gluesync already manages. There is no second connection store and no extra credentials to protect.

  2. 02

    Generate

    Type- and key-aware rows

    Generators are inferred from column names and types. Primary keys stay unique, foreign keys are sampled from the parent table, and nullable columns get the occasional NULL.

  3. 03

    Run

    Once, or continuously

    A fixed batch of rows, or an unbounded pillow fight with an exact INSERT / UPDATE / DELETE split, a delay between batches, and operation or duration limits.

Capabilities

Three ways to produce data

The same generator sits behind every output: a table you create for the purpose, a continuous workload on a table you already replicate, or a file with no database involved. Whisperer started as a standalone open-source tool; from Gluesync 2.3.1 it runs inside Core Hub under the Control Plane's roles.

Generate mock data on the fly

Realistic rows from your schema

Column-aware generators, per-column overrides, and tables created for the purpose

Point Whisperer at an existing table, or let it create one from a single CREATE TABLE statement or by copying another table's DDL on the same dialect. The preview shows the exact statement and the generator each column will get before anything runs.

  • Names, emails, phones, addresses, companies, job titles and descriptions from column names; booleans, integers, decimals, dates and timestamps from column types
  • Per-column overrides: a faker hint, exclusion from writes, or forced NULL on or off
  • Create a table from SQL or copy an existing one; preview the DDL without executing it
  • Non-blocking warnings, such as a missing primary key that would make UPDATE and DELETE no-ops

View Whisperer docs ↗

Synthetics and seeding
Synthetics and seeding / Create table

Create table and bind it

  1. CREATE TABLE sales.orders_synthetic (
  2. order_id BIGINT PRIMARY KEY,
  3. customer_email VARCHAR(120),
  4. customer_name VARCHAR(80),
  5. status VARCHAR(12),
  6. amount NUMERIC(12,2),
  7. created_at TIMESTAMP NOT NULL
  8. );
Previewresolved from your statementPostgreSQL

Parsed sales.orders_synthetic · 6 columns · primary key order_id

ColumnGenerator
order_idsequence
customer_emailinternet.email
customer_namename.fullName
statuslorem.word
amountdecimal 1–1000
created_atdate.past 3y

Generators are inferred from column names and types. Override any column with a faker hint, exclude it from writes, or force NULLs.

Continuously seed data to database tables

Pillow fights

Continuous INSERT, UPDATE and DELETE load with an exact operation mix

A pillow fight keeps writing to a bound table until you stop it or a limit is reached. Set the split per 100 operations, the batch size and the delay, then watch the counters move while CDC picks every change up.

  • Operation mix as an exact split, for example 70 / 20 / 10, or a single operation type
  • Batch size, delay between batches, maximum operations and maximum duration; limits end the run as COMPLETED
  • Run once with a fixed row count, or stop a continuous run and keep it recorded as STOPPED
  • Cascade delete for foreign-key constraints; a batch stuck on a dead connection is cancelled after 30 seconds so Stop always works
  • Every statement goes through Query Studio's SafetyGate without filling its history or audit; failures reach the Core Hub notification bell

View pillow fight docs ↗

Synthetics and seeding
Synthetics and seeding

Synthetics and seeding

Bound tableMixRateStatus
sales.ordersP-PG-MYSQL Orders · PostgreSQL source 70 / 20 / 10ins / upd / del 5 × 1 sUnlimited · no time limit Idle
sales.customersP-PG-MYSQL Orders · PostgreSQL source 100 / 0 / 0ins / upd / del 100 × 0.1 sUnlimited · no time limit Idle
acme.stockP-MYSQL-PG Inventory · MySQL source 33 / 33 / 34ins / upd / del 10 × 2 s2,000 ops · 10 m 0 s Idle
Recent runsevery run is recorded, including stopped ones
  • ONE_SHOTsales.customers500 rows · 2.1 sCOMPLETED
  • CONTINUOUSacme.stock10 m 0 s · 2,000 ops · duration limitCOMPLETED

Sized for the pipeline you are about to run

Validate CDC behaviour, mappings and target throughput with a repeatable workload you control, then run Validator to prove the target still matches the source.

ORM-oriented stub data generation

Export without a database

Describe the columns, download the rows

Give Whisperer a column spec, or the columns of a bound table, and stream generated rows as CSV or JSON with the matching CREATE TABLE. No agent is queried, so it works for fixtures, ORM seeds and CI databases that do not exist yet.

  • CSV and JSON exports streamed from a column spec: name, data type, faker hint, nullability
  • ANSI CREATE TABLE preview for the same spec, to create the table your ORM expects
  • Reuse a bound table's columns as the spec, so fixtures match the schema you replicate
  • Same type- and hint-aware generator as a pillow fight, so fixtures and live load agree

View export docs ↗

Synthetics and seeding
Synthetics and seeding / Export

Export without a database

ColumnTypeGeneratorNullable
id integer id
full_name varchar(80) name
email varchar(120) email
company varchar(80) company
country varchar(40) country
signed_up date date
notes text description

No agent involved: rows come straight from this column spec, with the same type- and hint-aware generator a pillow fight uses. Drop the output into ORM seeds, test fixtures and CI databases.

id,full_name,email,company,country,signed_up,notes
1001,"Ada Lovelace",ada.lovelace@example.com,Initech,Spain,2025-11-02,"Prefers invoices by email"
1002,"Linus Carver",linus.carver@example.com,Umbrella,Brazil,2024-07-29,
1003,"Mia Okafor",mia.okafor@example.com,Hooli,Italy,2026-01-15,"Key account since 2024"
1004,"Noah Bergström",noah.bergstrm@example.com,Vandelay,Germany,2025-05-06,
customers_fixture.csv · 1,000 rows · streamed

Resources

Whisperer documentation and resources

Roadmap

Public Roadmap

What we're building next. Submit feature requests.

View roadmap ↗
Support

Support

Access technical support and operational assistance.

Get support →
Status

Service Status

Real-time platform availability and incident history.

Check status ↗

Seed it. Replicate it. Prove it.

Request a free trial or talk with the MOLO17 team about using Synthetics and seeding to rehearse your pipelines before production traffic arrives.