我想知道不同方式存储和随后的只读访问数据(文档)对性能的影响,每个数据项/文档由唯一ID标识(请注意,包含所有键加一个的字典或将两个数字或一些其他少量信息存储到内存中,或者可以有效地进行处理):
- 我生成了一个巨大的制表符分隔变量(TSV)文件和一个索引文件,以查找每个键的每行的起始偏移量和长度。然后,要访问特定的数据实例/文档,请使用随机访问读取来读取起始偏移量。
- 为每个实例创建一个文件,可能在目录层次结构中以避免一个目录中的文件过多。然后,要访问特定的数据实例/文档,请使用将实例的密钥转换为文件路径并从中读取。
- 创建一个由键索引的表的SQL数据库
- 基于密钥创建某种NoSQL数据库来访问数据
我主要对在Linux上使用标准台式机硬盘驱动器或SSD感兴趣,但是它在Windows或Mac上也应以类似的方式工作(但是我认为所有这些方法在相同的方式下都可以工作)在所有操作系统上都可以吗?)