The term data compression means reducing the number of bits of information which should be stored or transmitted. This can be done with or without the loss of info, which means that what will be removed throughout the compression can be either redundant data or unnecessary one. When the data is uncompressed subsequently, in the first case the info and its quality shall be identical, whereas in the second case the quality will be worse. There're different compression algorithms which are better for different kind of data. Compressing and uncompressing data normally takes lots of processing time, so the server carrying out the action needs to have adequate resources to be able to process your data quick enough. A simple example how information can be compressed is to store just how many sequential positions should have 1 and just how many should have 0 in the binary code as an alternative to storing the particular 1s and 0s.