質問
私のアプリケーションは、リのデータは、xmlのようになります:
<resource url="someurl">
<term>
<name>somename</name>
<frequency>somenumber</frequency>
</term>
...
...
...
</resource>
こうして私を蓄これらの"資源"です。リソースたXMLファイルです。多くの"期の"当たり"資源"として必要です。問題は、私が発生する必要がある約2万人のこれらの資源です。私はほぼ500.000とのマックではない嬉しいです。このような中、私の質問はいつ、どのようにこのデータはもらえますか?
- データベース?とすることは難しいだろうが構造データのない固定...
- う合併である資源を大型のXMLファイル?
- ...?
私は何も変える必要はありません。データを一度で作成されます。まずはアクセスするリソースの名前のリソースのファイル位置を返します。
提案から高い評価をいただいてい!
解決
すべてのデータベースは、リレーショナルわけではありません。例えば MongoDBののを見てみましょう。それはあなたのリソースに似てJSONのようなオブジェクトとしてデータを格納します。
シェルを使用した例:
$ 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は多分データの大AMOUTための最良の選択ではありません。
たぶん、JSONやYAMLが良く出て働くしようか?彼らは(私が大規模にこれらの形式を使用して上しかし経験がない。たぶん私が間違っている)より少ないスペースを必要とし、解析しやすくなります。
あなたはdeffinetelyが、あなたはすべてのリソースを持っていると予想される場合にのみ、XMLファイルごとに複数のresoursesを持つべきであると同時に、toguether。あなたは誰にもresoursesだけhandfullを送信する必要がある場合は、個々のXMLを作り続ける。
でも、そのような状況では、元のデータセットから小さいものを大規模なXMLファイルを維持し、オンデマンドで生成することができます。
SQLite3のようなデータベースを使用すると、より高速なシーク時間とデータの容易な操作、SQL構文を使用して持つことができるようになります。