Lyrebird · Realistic synthetic test databases, generated fully offline

PostgreSQL · Pagila

city

Source rows
600
Synthetic rows
600
Broken foreign keys
0
Rows equal to a source row
97.8%

References: country_id → country

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.

city_id keycitycountry_idlast_update
Source database · 12 of 600 rows
1A Corua (La Corua)872022-02-15 09:45:25+00:00
2Abha822022-02-15 09:45:25+00:00
3Abu Dhabi1012022-02-15 09:45:25+00:00
4Acua602022-02-15 09:45:25+00:00
5Adana972022-02-15 09:45:25+00:00
6Addis Abeba312022-02-15 09:45:25+00:00
7Aden1072022-02-15 09:45:25+00:00
8Adoni442022-02-15 09:45:25+00:00
9Ahmadnagar442022-02-15 09:45:25+00:00
10Akishima502022-02-15 09:45:25+00:00
11Akron1032022-02-15 09:45:25+00:00
12al-Ayn1012022-02-15 09:45:25+00:00
Synthetic database · 12 of 600 rows
1Changhwa12022-02-15 09:45:25+00:00
2Usak22022-02-15 09:45:25+00:00
3Tsaotun22022-02-15 09:45:25+00:00
4Trabzon22022-02-15 09:45:25+00:00
5San Felipe de Puerto Plata32022-02-15 09:45:25+00:00
6Pyongyang42022-02-15 09:45:25+00:00
7So Bernardo do Campo42022-02-15 09:45:25+00:00
8Pudukkottai52022-02-15 09:45:25+00:00
9Munger (Monghyr)62022-02-15 09:45:25+00:00
10Roanoke62022-02-15 09:45:25+00:00
11Onomichi62022-02-15 09:45:25+00:00
12Torren62022-02-15 09:45:25+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
city_idinteger record key New key values S 0%
Y 0%
S 600
Y 600
S 1 → 600
Y 1 → 600
S —
Y —
—
citytext city Source values, at measured frequencies S 0%
Y 0%
S 599
Y 380
S 8.4 chars avg
Y 8.4 chars avg
S —
Y —
—
country_idinteger record key Foreign key, from the measured relationship S 0%
Y 0%
S 109
Y 109
S 1 → 109
Y 1 → 109
S —
Y —
0 KS
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:45:25+00:00 → 2022-02-15 09:45:25+00:00
Y 2022-02-15 09:45:25+00:00 → 2022-02-15 09:45:25+00:00
S 2022-02-15 09:45:25+00:00 100%
Y 2022-02-15 09:45:25+00:00 100%
0 KS