DBSeeder
Relational Database Data Generator
DBSeeder allows the flexible generation of large amounts of anonymised random dummy data for selected relational database management systems (RDBMS) - useful e.g. for stress testing.
Currently, depending on the capabilities of the specific RDBMS, the following functionalities and data types are supported:
-
Constraints:
-
foreign (referential) key,
-
not null constraint,
-
primary key and
-
unique (alternate) key
-
Data Types:
-
BIGINT - large integer
-
BLOB - large binary object
-
CLOB - large character Object
-
TIMESTAMP - timestamp including date
-
VARCHAR - variable text
The database systems considered meet the following conditions:
-
The database system is freely available in a documented docker image for testing purposes.
-
The database system provides a well documented JDBC interface.
-
A complete documentation of the SQL commands is available.
The following database systems are included in the current version of DBSeeder:
-
Trino Distributed Query Engine (Microsoft SQL Server, MySQL Database, Oracle Database and PostgreSQL Database)
An interesting side effect of working with DBSeeder is the ability to compare the performance of the data generation (INSERT) between the individual RDBMSs. Performance figures for the different versions of DBSeeder can be found here.
The whole project with source files, scripts and documentation can be found here.