I believe the storage size requirements can be optimized/improved by introducing (loss-less) compression. For hot-pastes, caching uncompressed text can be done.
That can work, but you will need to assess the CPU usage, too. So far, the entire design is I/O bound. By using compression, you are shifting towards making it a CPU bound service. I do like the idea of caching uncompressed data though, because it will reduce significantly the time spent on decompression.