If your data structure is wide and not too deep (many keys in the top-level hash with small structures under each, as opposed to a few keys in the top-level hash with huge structures under each), MLDBM will work great. However, 20MB isn't much data even with just Storable. Are you sure it's slow? Have you timed it? It may not be worth changing.