The term data compression identifies decreasing the number of bits of info that has to be saved or transmitted. You can do this with or without the loss of information, so what will be erased throughout the compression shall be either redundant data or unneeded one. When the data is uncompressed afterwards, in the first case the info and its quality shall be the same, whereas in the second case the quality will be worse. There are various compression algorithms which are more efficient for different type of data. Compressing and uncompressing data usually takes a lot of processing time, so the server executing the action needs to have plenty of resources to be able to process your data quick enough. An example how information can be compressed is to store just how many consecutive positions should have 1 and how many should have 0 in the binary code as an alternative to storing the particular 1s and 0s.