(x,y)
データセットを構成する64ビット整数のタプルのコレクションがあります。たとえば、これらのタプルは何兆もあります。地球上のどのマシンでも、データセットをメモリに保持することは不可能です。ただし、それらをディスクに保存することは非常に合理的です。
私はディスク上のストア(B +ツリー)を持っており、単一のディメンションでデータをすばやく同時にクエリできます。ただし、私のクエリの一部は両方のディメンションに依存しています。
クエリの例:
x
与えられた値以上のタプルを見つけますx
可能な限り小さいタプルを見つけます。それy
は、特定の値以上です。x
可能な限り小さいタプルを見つけます。それy
は、特定の値以下です。- 保守操作を実行します(タプルを挿入し、タプルを削除します)
私が見つけた最善の策はZ階数曲線ですが、2次元データセットが与えられた場合にクエリを実行する方法を理解できないようです。
受け入れられない解決策には、データの順次スキャンが含まれます。これは遅すぎる可能性があります。