Lyrebird · Realistic synthetic test databases, generated fully offline

PostgreSQL · Pagila

category

Source rows
16
Synthetic rows
16
Broken foreign keys
No foreign keys
Rows equal to a source row
100%

Every synthetic row matches a source row outside its keys. Kept reference data and resampled source values match by design, and columns with few possible values can match by chance: see how each column was generated below. You can review, replace or remove kept values before you publish a profile.

Rows

Both databases, first rows by primary key, in one table: scrolling sideways moves them together. Rows at the same position are unrelated, unless the table holds kept reference data. Long values are cut at 60 characters.

category_id keynamelast_update
Source database · 12 of 16 rows
1Action2022-02-15 09:46:27+00:00
2Animation2022-02-15 09:46:27+00:00
3Children2022-02-15 09:46:27+00:00
4Classics2022-02-15 09:46:27+00:00
5Comedy2022-02-15 09:46:27+00:00
6Documentary2022-02-15 09:46:27+00:00
7Drama2022-02-15 09:46:27+00:00
8Family2022-02-15 09:46:27+00:00
9Foreign2022-02-15 09:46:27+00:00
10Games2022-02-15 09:46:27+00:00
11Horror2022-02-15 09:46:27+00:00
12Music2022-02-15 09:46:27+00:00
Synthetic database · 12 of 16 rows
1Action2022-02-15 09:46:27+00:00
2Animation2022-02-15 09:46:27+00:00
3Children2022-02-15 09:46:27+00:00
4Classics2022-02-15 09:46:27+00:00
5Comedy2022-02-15 09:46:27+00:00
6Documentary2022-02-15 09:46:27+00:00
7Drama2022-02-15 09:46:27+00:00
8Family2022-02-15 09:46:27+00:00
9Foreign2022-02-15 09:46:27+00:00
10Games2022-02-15 09:46:27+00:00
11Horror2022-02-15 09:46:27+00:00
12Music2022-02-15 09:46:27+00:00

Column by column

Each figure is computed from all rows of both databases in the same way. S is the source, Y the synthetic copy. Difference runs from 0 (same distribution) to 1 (no overlap): Kolmogorov-Smirnov for numbers and times, total variation for columns with few values. Personal columns are meant to differ, so they show how many values also appear in the source instead. Lyrebird draws names from built-in lists, not from the source, so common names can match.

Column Model read it as How it was generated Empty Distinct Range or length Most common Difference
category_idinteger record key New key values S 0%
Y 0%
S 16
Y 16
S 1 → 16
Y 1 → 16
S 1 6.2% · 2 6.2% · 3 6.2% · 4 6.2% · 5 6.2% · 6 6.2%
Y 1 6.2% · 2 6.2% · 3 6.2% · 4 6.2% · 5 6.2% · 6 6.2%
—
nametext title name Kept from the source as reference data S 0%
Y 0%
S 16
Y 16
S 6.4 chars avg
Y 6.4 chars avg
S Action 6.2% · Animation 6.2% · Children 6.2% · Classics 6.2% · Comedy 6.2% · Documentary 6.2%
Y Action 6.2% · Animation 6.2% · Children 6.2% · Classics 6.2% · Comedy 6.2% · Documentary 6.2%
0 TVD
last_updatetimestamp with time zone lifecycle timestamp Times from the measured distribution S 0%
Y 0%
S 1
Y 1
S 2022-02-15 09:46:27+00:00 → 2022-02-15 09:46:27+00:00
Y 2022-02-15 09:46:27+00:00 → 2022-02-15 09:46:27+00:00
S 2022-02-15 09:46:27+00:00 100%
Y 2022-02-15 09:46:27+00:00 100%
0 KS