We have different ways to store program data (save files in games, employee databases, program configuration etc.):Plain text (think .ini and .conf)XMLDatabases (MySQL, SQLite...).zip and similar containing several files (with different formats)Binary files (think .doc etc., for instance created by a serialization tool)What are different use cases for the formats listed above, and what are their advantages contra disadvantages (think speed, flexibility, file size, ease of use...)? How to decide between them for different tasks?About the zipping format: This is just used for containing other files. It could be another compression format as well. This allows for a structure of several files, including image files, sound files and text files. As an example, say you have a storage format for messages, which may contain files. You can have the following files inside a zipped file:message.txt (containing the message)attachments (folder containing attachments)  audio.wav  picture.jpg
How to decide between storage formats and what are example use cases for some of them?
database;xml;data;configuration;storage