Numpy's memmap class is fantastic for storing and handling big data parsimoniously and efficiently. Read this article to get a better appreciation for what is going on in the background.
However, raw memmaps from numpy do not contain information about the type of data they contain nor the shapes they were at write-time, so reads are ambiguous unless you've somehow remembered this information across sessions. The MemoryMap class solves this problem by including this extra information in a file header.