Mongodb 存储和访问大量数据
我的应用程序创建的数据片段在xml中如下所示:Mongodb 存储和访问大量数据,mongodb,Mongodb,我的应用程序创建的数据片段在xml中如下所示: <resource url="someurl"> <term> <name>somename</name> <frequency>somenumber</frequency> </term> ... ... ... </resource> 这就是我现在存储这些资源的方式。每个XML文件一个资
<resource url="someurl">
<term>
<name>somename</name>
<frequency>somenumber</frequency>
</term>
...
...
...
</resource>
这就是我现在存储这些资源的方式。每个XML文件一个资源。根据需要,每个资源使用尽可能多的术语。
问题是,我需要生成大约200万个这样的资源。
我已经创造了将近50万的收入,我的mac电脑对此不太满意。
所以我的问题是:我应该如何存储这些数据
数据库?这很难,因为数据的结构不是固定的。。。
也许可以将一些资源合并到更大的XML文件中?
...?
创建数据后,我不需要更改数据。
现在,我正在通过某个资源的文件名访问该资源
非常感谢您的任何建议 并非所有数据库都是关系数据库。例如,看一看。它将您的数据存储为类似json的对象,类似于您的资源 使用shell的示例如下:
$ 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}]}
每个XML文件都应该有多个资源,但前提是您需要同时拥有所有资源。如果您只需要向任何人发送一手资源,那么请继续生成单独的XML 即使在这种情况下,您也可以保留较大的XML文件,并根据需要从原始数据集中生成较小的XML文件
使用像SQLite3这样的数据库可以让您使用SQL语法更快地查找时间和更容易地操作数据。如果您无法预测数据的组织方式,可能会让您感兴趣。它是一个无模式的数据库 无论如何,XML可能不是处理大量数据的最佳选择
也许尝试JSON或YAML效果更好?它们需要更少的空间,更容易解析,但我没有在更大规模上使用这些格式的经验。也许我错了。一个典型资源有多少个术语?您应该尝试vtd xml进行大量xml读取。好的,我将尝试mongodb或couchdb。我猜这些可以很好地处理大型数据集?还有,有人能确认我在不同操作系统之间移动数据集不会有任何问题吗?在不知道细节的情况下,我认为mongodb应该很好地处理您的案例。您可以通过api从任何受支持的平台访问mongo,如果您想将数据库移动到另一个平台,我认为您可以复制数据文件。