使用 zip 文件作为文件存储库或'database'



我必须修改现有的应用程序以支持文件。该应用程序是客户端投资组合类型的应用程序。它是单个用户,有一个简单的数据库来记录客户访问。该数据库看起来像是在记录索引中使用的。这些记录是单独的文件,我发现它只是一个具有不同扩展名的zip文件。所有客户端交互/注释都以json文本文件的形式存储在那里。

所涉及的更改是增加对文档的支持。

我知道我可以在数据库中存储文件,也可以链接到数据库中的文件,这些文件存在于磁盘上的某个地方。。。

客户希望(如果可能的话(保留包含患者所有信息的单个文件。

因此,我正在考虑在zip文件中创建文件夹,并将文档放在那里。

我知道它会起作用,我不希望他们为每个客户端添加很多文件,但我想知道性能如何。

有什么想法吗?

许多Microsoft Office格式都是这样工作的。将任何.docx.xlsx文件扩展名更改为.zip,它将立即打开并允许您查看xml标记和其他资源。.3mf3D文件格式也以这种方式工作。

所以,是的,我认为你可以把你自己的文件夹放在这个zip文件中,并用它来存储你的文档。然而,随着时间的推移,我担心表现。。。既然zip文件的大小要大得多才能容纳所有文档,那么打开zip文件只是为了读取一条记录需要做多少工作?我可能建议为您的文档库保留一个单独的zip文件。通过这种方式,您仍然被限制为只有两个文件,而不是多个文件,并且您肯定不会导致普通记录的性能问题。

IIRC,附加zip存档可能相当高效,但更改、删除或插入任何内容总是需要重写整个存档。此外,提取用于的单个文件需要读取整个存档,但现在不再需要了。因此,只要你的用户只添加文件,不经常更改它们,这应该是合理的。

相关内容

最新更新