title: Serializing vs Database
body: <p>I believe that the best way to save your application state is to a traditional relational database which most of the time its table structure is pretty much represent the data model of our system + meta data.</p>
  
  <p>However other guys in my team think that today it's best to simply serialize the entire object graph to a binary or XML file.<br />
  No need to say (but I'll still say it) that World War 3 is going between us and I would like to hear your opinion about this issue.</p>
  
  <p>Personally I hate serialization because:</p>
  
  <ol>
  <li>The data saved is adhered only to your development platform (C# in my case). No other platforms like Java or C++ can use this data.  </li>
  <li>Entire object graph (including all the inheritance chain) is saved and not only the data we need.  </li>
  <li>Changing the data model might cause severe backward compatibility issues when trying to load old states.  </li>
  <li>Sharing parts of the data between applications is problematic.  </li>
  </ol>
  
  <p>I would like to hear your opinion about that.</p>