0

将数据存储在数千个单独的文件中还是在几个 XML 文件中更好?

数据在定期更新其各个部分的多个设备之间共享。为了最大限度地减少冲突,每个对象都将存储在以 GUID 命名的单个文件中。

例如,可能有 1000 个项目存储在 1000 个 XML 文件中,500 个类别存储在另外 500 个文件中。

OmniFocus 和 1Password 等应用程序目前使用这种方法的一种变体。OmniFocus 压缩了一些文件,但在 webDav 驱动器上仍然存在性能问题。

用户通常会拥有数千个文件,有些则有数万个。

在我的特殊情况下,数据存储在像 Dropbox 这样的服务上,因此中央数据库解决方案不可用。

修改数据的设备包括 iOS、Android、Mac 和 PC。

这些文件不一定需要是 XML。似乎是一种存储数据的便捷方式。

我担心这么多文件的性能和其他问题。我已经有一个使用十几个文件(分为主文件和定期更改文件)的工作解决方案,但是在这个其他解决方案中有许多边缘情况,我想知道每个 UID 一个文件是否可能更干净。

想法?

4

2 回答 2

2

抱歉,但答案是:视情况而定。一些大文件会更容易/更快,一些小文件会更容易/更快。

大文件往往意味着您将经常解析不需要的数据,并将分配内存来保存不需要的数据。

小文件意味着您需要某种方式来跟踪所有文件并为给定操作找到正确的文件。

如果没有 XML 数据库,我不想处理超过 1000 个文件。

于 2012-04-25T15:15:40.287 回答
0

通常我会建议将您的数据加载到某种数据库中。这使得搜索、操作和提取其他格式变得更加简单。

话虽如此,我曾经不得不设计一个依赖于数千个 CSV 文件的应用程序,总共有几百万行数据。设计目标之一是保持数据以原始格式掌握,以便帮助搜索每个文件都加载到Solr索引中。

如果您还没有看到Solr的实际应用,我强烈推荐它。一旦你的数据被索引,它就会提供一个基于 JSON 的 REST API 来搜索你的内容。索引很容易保持最新并且速度非常快。

于 2012-04-25T18:36:24.013 回答