Можно использовать
фильтр Блума. Тогда для твоего числа ключей (4 320 000 000) надо
будет держать структуру размером 4.8 Гб
https://hur.st/bloomfilter/?n=4320000000&p=0.01&m=&k=
Но фильтр отбивает не 100% ответов а просто некую большую часть (99% в данной формуле). И поэтому надо чтобы
в базе всегда стоял
unique constraint. Да и вообще констрейнт - это часть культуры проектирования
баз. Поэтому это даже не должно обсуждаться. База без гарантий уникальности - это сильно
подпорченная информация. Информация низкого качества.
Фильтры Блума используются в Cassandra, Hadoop, Databricks, Redis. Обычно не как основные а как
вспомогательные структуры. Поэтому такие решения - вполне себе production-ready.