私は約 5 億の 128 ビット整数を持っており、年間約 1 億を追加しています。何も削除されません。数値は、スケールごとおよび時間ごとに均一に分布しています。
基本的に、必要なのは追加操作だけで、数値が DB に既に存在するかどうかも返します。また、このシステムに RAM を使いすぎたくないので、すべてをメモリに格納するだけでは探していません。
これまで、2 つの bigint を主キーとして使用して、MySQL で複数の MyISAM テーブルを使用してきました。これで十分なパフォーマンスが得られますが、この作業には適切なツールではないと思います。テーブルを分割する前にいくつかのパフォーマンスの問題が発生し、停電時に破損が発生しました。また、DB は必要のない多くの機能を提供してくれます。
Linux で Python を使用していますが、提案は受け付けています。
更新: Marcelo のコメントはBloom Filterに言及しており、これは私にとって本当に有望なようです。私はハッシュを扱っているので、完全な正確さをあきらめているので、これは精度とパフォーマンスの大きなトレードオフになる可能性があります。