memory-efficient data structures to store distributions of larges sets of data