воскресенье, 13 марта 2011 г.

At speed of light - Part 3


  A data synchronization engine was another challenge for our team.  We did dozens of tests and much work on investigation of SQL Server behavior.  But now we have nearly perfect engine, which is as fast as powerful.
  To show the performance let’s take a scenario of transferring table data from one database to another.  We did a copy of AdventureWorks2008R2 database, truncated every single table, and compared an original database with the modified one. Thus all records in all tables have ‘new’ status, and there are no ‘equal’, ‘different’, and ‘missing’ rows.  All data compare/transfer software products have two synchronization options: save synchronization script to a file, or generate the script on-the-fly and execute it against the target database.  That’s our following two tests are designed for.

  Test #1 – Save script to file.
Click to enlarge
  In this test we emphasized two criteria: the output file size and the script generating time.  As usual we did several runs and chose the best time for each product.  Look at the diagram and you’ll find that our synchronization script is the smallest one, moreover our engine generates it only in 3.4 seconds! while our competitors do this at least 7 times slower.  This incredible result shows how computer resources could be highly utilized, when code is written by true professionals.

  Test #2 – Synchronize on-the-fly.
Click to enlarge
  In this case the performance is mostly depends on your SQL Server, but there are some rules exist to get the most of it.  As you see, our approach works 1.5 times faster than ‘Competitor 1’ and 1.8 times faster than ‘Competitor 2’, because our engine take into account all possible factors and builds the most optimal data synchronization plan.

  This is the end of development of product's back-end, so now we are fully concentrated on the user interface, which promises to be as glorious as convenient.  Thanks for reading, and stay with us :)

At speed of light - Part 3  (current article)


Комментариев нет:

Отправить комментарий