最近ビッグデータに取り組み始めました。具体的には、数 GB のデータがあり、頻繁に計算 (追加、変更) を行う必要があります。データの計算には時間がかかるため、計算を高速化するためにデータを保存する方法を考えていました。以下は、私が検討したオプションです。
- プレーン テキスト ファイル: この手法の唯一の利点は、データの挿入が非常に簡単なことです。レコードを効率的に検索する方法がないため、既存のデータへの変更は非常に遅くなります。
- データベース: データの挿入と変更が簡素化されます。ただし、これは進行中の研究プロジェクトであるため、実験結果に応じてスキーマを頻繁に更新する必要がある場合があります (これは今まで発生していませんが、近い将来必ず発生する可能性があります)。さらに、データの移動は (単純なファイルと比較して) 簡単ではありません。さらに、データのクエリは、データが XML に格納されている場合に比べてそれほど速くないことに気付きました。
- XML : BeautifulSoup を使用すると、すべてのデータを含む XML ファイルのみを読み込むだけで約 15 分かかり、RAM を 15 GB 消費します。スクリプトを 1 日に複数回実行するのはごく普通のことなので、呼び出しごとに最大 15 分は非常に長く感じられます。利点は、データが読み込まれると、要素 (タグ) をかなり迅速に検索/変更できることです。
- JSON と YAML : 深く調べていません。ファイルを格納するために必要なディスク容量を確実に圧縮できます (XML と比較して)。ただし、(データベースや XML とは異なり) データがこれらの形式で格納されている場合、レコードをクエリする方法が見つかりませんでした。
あなたは私に何を提案しますか?他に考えている選択肢はありますか?