Ваш пример хеш-таблиц действительно является ключевой структурой базы данных, которая принесет пользу. Вместо того, чтобы загружать весь 4 ГБ или более файл в память для проверки значений, SSD может быть проверен напрямую. SSD по-прежнему медленнее, чем RAM, на порядок, но вполне разумно иметь хэш-таблицу на 50 ГБ на диске, но не в RAM, если вы не платите большие деньги за большое железо.
Пример - базы данных шахматных позиций. У меня более 50 ГБ хешированных позиций. Существует сложный код, чтобы попытаться сгруппировать связанные позиции рядом друг с другом в хэше, поэтому я могу постраничать по 10 МБ таблицы за раз и надеюсь повторно использовать некоторые из них для нескольких похожих запросов позиций. Есть тонна кода и сложности, чтобы сделать это эффективным.
Замененный SSD, я смог отбросить всю сложность кластеризации и просто использовать действительно тупые рандомизированные хэши. Я также получил увеличение производительности, поскольку я получаю только те данные, которые мне нужны, с диска, а не большие 10-мегабайтные куски. Задержка действительно больше, но чистое ускорение является значительным ... и суперчистый код (20 строк, а не 800+), возможно, даже лучше.