The term data compression means decreasing the number of bits of information which needs to be stored or transmitted. You can do this with or without the loss of information, so what will be deleted at the time of the compression will be either redundant data or unnecessary one. When the data is uncompressed later on, in the first case the info and the quality will be identical, whereas in the second case the quality will be worse. You'll find different compression algorithms that are more effective for different sort of info. Compressing and uncompressing data usually takes a lot of processing time, therefore the server carrying out the action must have plenty of resources in order to be able to process the data fast enough. An example how information can be compressed is to store how many consecutive positions should have 1 and just how many should have 0 within the binary code as an alternative to storing the particular 1s and 0s.