我有两个数据集,每个数据集都包含 secp256k1 公钥列表。两个数据集的大小均接近 500TB。我的目标是使用快速高效的搜索查询找到这两个数据集之间的公共公钥。
我正在 AWS 上工作,希望获得有关处理此特定任务的最佳数据库服务器的建议。主要标准是搜索如此大的数据集的速度和效率。
任何关于最佳数据库服务器配置、索引策略或在此场景中最大化搜索性能的任何其他考虑因素的建议或见解将受到高度赞赏。
我考虑过使用 Amazon Neptune 和 Amazon Aurora(MySQL 或 PostgreSQL),但我不确定它们在处理如此规模的数据集时的性能。此外,我在 Amazon Neptune 和 Amazon Aurora(MySQL 或 PostgreSQL)中尝试了索引策略,但搜索时间仍然不是最佳的。
任何关于最佳数据库服务器配置、索引策略或在此场景中最大化搜索性能的任何其他考虑因素的建议或见解将受到高度赞赏。
对于一次性搜索重复项,我认为不需要数据库。
使用外部排序对两个文件进行排序,这些设计用于对内存不适合的数据进行排序。
然后同时遍历两个已排序的文件,始终前进具有较小值的文件。当任一文件耗尽时停止。
if a < b
a = next from file a
else if a > b
b = next from file b
else
match
a = next from file a
b = next from file b
例如...
a, c, g, i
b, e, f, g, m