My problem can be described with following statements:
- I would like my program to be able to compress and decompress selected files
 - I have very large files (20 GB+). It is safe to assume that the size will never fit into the memory
 - Even after compression the compressed file might still not fit into the memory
 - I would like to use System.IO.Compression.GzipStream from .NET Framework
 - I would like my application to be parallel
 
As I am a newbie to compression / decompression I had following idea on how to do it:
I could use split the files into chunks and compress each of them separately. Then merge them back into a whole compressed file.

Question 1 about this approach - Is compressing multiple chunks and then merging them back together going to give me the proper result i.e. if I were to reverse the process (starting from compressed file, back to decompressed) will I receive the same original input?
Question 2 about this approach - Does this approach make sense to you? Perhaps you could direct me towards some good lecture about the topic? Unfortunately I could not find anything myself.