我应用程序创造了条数据,在xml,看起来是这样的:

<resource url="someurl">
   <term>
      <name>somename</name>
      <frequency>somenumber</frequency>
   </term>    
   ...
   ...
   ...
</resource>

这是我的储存这些"资源"。资源每XML文件。正如许多"术语"每次"的资源"。问题是,我会需要产生大约2万美元,这些资源。我产生的几乎500.000和mac我不是很高兴。所以我的问题是:我应该如何储存这些数据?

  • 一个数据库?这将是困难的,因为结构的数据不是固定...
  • 可能合并一些资源,为较大的XML文件吗?
  • ...?

我不需要改变数据,一旦它的创建。现在我访问特定资源的名字,资源的文件。

任何建议都非常感谢!

有帮助吗?

解决方案

不是所有的数据库的关系。看看例如 mongodb.它存储的数据作为启动喜欢的对象,类似于您的资源。

一个例子使用的壳体:

$ mongo
> db.resources.save({url: "someurl", 
                     terms: [{name: "name1", frequency: 17.0},
                             {name: "name2", frequency: 42.0}]})
> db.resources.find()
{"_id" :  ObjectId( "4b00884b3a77b8b2fa3a8f77"), 
 "url" : "someurl" , 
 "terms" : [{"name" : "name1" , "frequency" : 17},
            {"name" : "name2" , "frequency" : 42}]}

其他提示

如果你无法预测如何数据将是有组织的,也许 http://couchdb.apache.org/ 可以很有趣你。这是一个架构的数据库。

不管怎么说,XML是也许不是最好的选择,为大量的数据。

也许试图JSON或其作出更好的?他们需要较少的空间和更易于分析(我有但是没有经验上使用这些格式,在更大的规模。也许我是错的).

你应该deffinetely有几个资源每XML文件,但仅仅如果你是预期有所有资源toguether在同一时间。如果你只需要发送翰的资源投入任何人,然后继续做出单独的XML。

即使在这种情况下,你可以保持大XML文件,以及产生于需求的规模较小的从原始数据集。

使用数据库等SQLite3会让你有更快的寻求时,更容易操纵的数据,使用SQL语法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top