我目前正在使用avro文件将数据记录存储在最大50GB的文件中。问题是除了顺序分析文件外,我还要对数据进行随机搜索。 avro的问题在于,我只能寻找某些同步点,并且必须遍历该块,直到找到我要查找的记录,但这会在某些情况下导致严重的性能损失。 我现在的问题是:有没有办法以不同的格式存储数据,支持单个记录的随机搜索而不需要太多费用。
限制:
干杯和谢谢
答案 0 :(得分:1)
您可以使用Chronicle Map。这实现了一个关闭堆ConcurrentMap,它为您提供基于密钥的随机访问。您可以在内存中使用它,部分在磁盘上使用共享内存,在多个JVM上使用一个副本,并可选择在多台计算机上复制它。
免责声明:我帮助构建了这个解决方案。