Performance Examples

Latest performance figures produced from a recent data migration project migrating corporate data from all of the regional data centres to a single corporate datastore for a global oil company:

When reading and writing to relational databases using a desktop PC with Pentium 4 processor and 512 megabytes of RAM typical speeds without the performance features described above can typically exceed 2000 reads or inserts per second for a database with medium complexity, and using some of the RDBMS advanced features can extend that to 4000 reads or inserts per second

Also transferring >8000 records and created >60,000 records in the references database in <2 mins

Another example was for an Investment banking customer and was running complex transformation logic:

The performance timings when transforming 50,000 CSV records into an Oracle database table are shown below.

  • Database Inserts only (assumes no database updates are required) - no performance tuning: 182.31s
  • Database Inserts only (assumes no database updates are required) - with database batching: 40.87s
  • Database Inserts or Updates (TM checks whether a record already exists) – no performance tuning: 420.25s
  • Database Inserts or Updates (TM checks whether a record already exists) – with database batching: 173.67s

The source is a flat file (A global car manufacturer HQ parts data, containing approx 350,000 records). Below are timings found when writing (inserts only) to these databases.

Records per minute:

MySQL 936

Access 18115

Oracle 14442

With Allowbatching() on, I then get the following:

Records per minute:

MySQL 1406

Access 22443

Oracle 58149

TM provides a number of advanced features to improve performance and scalability of transforms when reading and writing RDBMS, XML, and Java:

  • Insert Only Mode
  • JDBC Optimisations
  • Multiple Tables Batching
  • RDBMS Table Plug-ins
  • Completely Scalable XML
  • Model Specific Java Adapter

 

Next

Scalability

Some Example TM Performance Data

Improving Performance with Relational Databases