locked
Why are you not doing provisioning in more effecient way? RRS feed

  • Question

  • I'm pretty sure you already heard the oppinion that approach of provisioning DB which result wih one additional _tracking table is resulting with large number of tables being added.

    What is the reason not to switch to "one table" which would handle tracking info of the whoel DB?

    To ilustrate the idea in the simplest possible (and maybe a bit naive way) take any of the specialized tracking tables and change its columns data type from ints to "xml" and store in them instead of current single numbers => XML pairs <"table_name",int_of_the_table>. One table can replace n of your specialized tracking tables if you take this approach

     

    To me this approach is clearlly "better" in many ways then what you do now, so I am really currious to hear why you have discard it

    Thanks,
    Nikola

     

    • Edited by Nikola Malovic Friday, December 31, 2010 4:54 PM Clarify the idea
    Friday, December 31, 2010 4:50 PM

Answers

  • I think there are different reasons for using separate tracking tables, in addition to easier maintenance, debugging and understanding,

    one important reason is different tables may have different primary keys (including different number of columns in the key) and filtered columns (number may vary too), those information are also recorded in tracking tables.

    It could be possible to use one table to record everything but you can imagine you will need to come up a versatile tracking table schema and then deal with a lot of serialization / deserilization work for each row and also one single tracking table's performance is definitely a concern if this db is a sync server.  

    Friday, December 31, 2010 6:27 PM
    Answerer