The term data compression identifies lowering the number of bits of information that has to be stored or transmitted. You can do this with or without losing info, which means that what will be removed during the compression can be either redundant data or unneeded one. When the data is uncompressed afterwards, in the first case the info and the quality shall be identical, whereas in the second case the quality shall be worse. You will find various compression algorithms which are better for different type of data. Compressing and uncompressing data often takes plenty of processing time, therefore the server carrying out the action must have sufficient resources to be able to process the info 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 inside the binary code instead of storing the particular 1s and 0s.