Understanding Compression: Data Compression for Modern Developers