leveldbを使用してレコード(key-value)を格納しています。ここで、キーは64ビットハッシュで、値はdoubleです。例えれば、64ビットハッシュは顧客の一意のIDであり、アカウントの残高(つまり、アカウントにある金額)の2倍であると考えてください。データベースを口座残高で並べ替えて、口座残高が最も多い顧客を最初にリストしたいと思います。ただし、データベースはメモリに収まらないため、アカウントの残高で並べ替えるには、他の方法でデータベースを並べ替える必要があります。
STXXLの使用を検討していますが、データベースのコピーを1つのフラットファイルに作成する必要があります。その後、STXXLを使用して外部ソートを実行できます(これにより、多数の小さなファイルが作成され、ソートされてからマージされます)別の単一のフラットファイルに戻します)。データを並べ替えるより良い方法はありますか、それともSTXXL並べ替えを使用する必要がありますか?