压缩并提供对 1000 万个文件的单文件访问

压缩并提供对 1000 万个文件的单文件访问

我有大约 1000 万个小文本文件,我想解决以下任务:

  • 压缩所有数据;
  • 将其全部放入 1 个文件中以便通过互联网传输;
  • 能够根据路径快速访问每个单个文件;
  • (更新)可以从 Python 生态系统中轻松访问单个文件。

我想出了以下解决方案:

  • gzip 每个文件(压缩);
  • 将所有 gzip 文件添加到单个 tarball 中:

    单.tar -> /1/100/1001451.gz...-> /9/956/9562548.gz

它能解决我的任务吗?

答案1

我认为可能有更好的方法来解决这个问题:tarzip等都rar共享一个属性(不同程度),即访问单个文件是

  • 不太快
  • 不透明:无法直接查看,需要到其他地方解压,然后查看

不过还有一种替代方法:使用带有文件系统的压缩图像文件(例如cloopext4)或带有压缩文件系统的纯文本图像文件(例如squashfs) - 我通常使用后者。

这样,您可以通过互联网移动您的文件,并在目标系统上直接安装它并快速透明地访问其中的文件。

编辑

关于需要更新文件:我遇到了同样的问题,并使用mksquashfs和解决了它overlayfs。更改的文件进入覆盖层,原始文件保留在未更改的传输文件中(我认为这是一个重要功能)

相关内容