Jailer is a tool for database
subsetting, schema and data browsing. It exports
consistent, referentially intact row-sets from
relational databases. It removes obsolete data
without violating integrity. It is DBMS agnostic
(by using JDBC), platform independent, and
structured XML, and topologically sorted SQL-DML.
- Exports consistent and referentially intact
row-sets from your
productive database and imports the data into your development and test
- Improves database performance by removing and
archiving obsolete data without violating integrity.
- Generates hierarchically structured XML,
topologically sorted SQL-DML and DbUnit
- Open Source. Entirely written in Java. Platform
independent. DBMS agnostic.
Databases are growing in both size and complexity to meet the
increasing demands of business. Applications to process the data are
also increasing in size and complexity. With the growing complexity,
solid testing becomes more and more important in order to assure the
quality of software. Ideally we would like to test all changes against
up-to-date production data, so the general practice is use a copy of
the production database for all testing.
But when a database exceeds a certain size it becomes very expensive to
provide full-size copies of the production database for development and
testing. One solution of this problem is to have fewer full size copies
of the production database than are really needed, often only one,
which will be shared between the development and testing teams.
Of course this is far from optimal. Data in the database is left in an
unknown state when passed from one team to the other. It takes a long
time to provide a refresh of the production copy when it’s required.
Always having an up-to-date production copy is almost impossible.
The databases required for development and testing rarely need to be
full size, it is often easier to work on a small copy. Unfortunately it
is very hard to manually extract a small subset of the production data.
It is not possible to just take 10% of each table to get a 10% size
database. The data in one table would not be related to the data in the
other tables. It would not be referentially
Jailer simplifies the extraction of referentially intact data. Once you
have defined an extraction
it can be used to extract data from the production database fast and
easy whenever up-to-date test data is required.