さまざまなメタデータとコンテンツ設定 (一意の行、key:value 行) を持つテキスト ファイルの集中ストレージについて考えていますが、どのテクノロジを使用すればよいかまだわかりません - PostgreSQL または NoSQL ソリューションのような sql db です。
大きなファイル: それぞれ 100 - 600 mb、読み取り/書き込み用の小さなクエリ 100 - 500 行
ヒントはありますか?
さまざまなメタデータとコンテンツ設定 (一意の行、key:value 行) を持つテキスト ファイルの集中ストレージについて考えていますが、どのテクノロジを使用すればよいかまだわかりません - PostgreSQL または NoSQL ソリューションのような sql db です。
大きなファイル: それぞれ 100 - 600 mb、読み取り/書き込み用の小さなクエリ 100 - 500 行
ヒントはありますか?
実際、SQL システムと NoSQL システムのどちらを選択するかは、実行しているシステムの種類によって異なります。SQL は、すべての ACID 保証 (原子性、一貫性、整合性、耐久性) を提供するため、ほとんどの NoSQL システムと比較して比較的高価です。これらは、実際に一貫性のあるデータが必要な場合に、データの一貫性を維持するための重要な保証です。一貫したデータを必要としない場合 (たとえば、キャッシュ ソリューションや Twitter の場合)、NoSQL システムの効率ははるかに魅力的になります。
あなたの特定のユースケースのために; あなたに役立つ解決策がたくさんあるようには思えません。テキスト ファイルの途中を変更するには、本質的に (少なくとも) 編集ポイントの後にテキスト ファイル全体をディスクに書き直す必要があります (ファイルを実際にディスク上でプレーン テキストにしたい場合)。
テキストファイルを行または行のチャンクとして表すSQLまたはNoSQLの上にシステムを構築し、行指向の方法でそれらを操作できる場合があります。しかし、そのタイプのシステムでさえ、100 ~ 600MB のサイズのファイルでは効率が悪い可能性があります。ファイル自体をある種の構造化データとして SQL に保存することを検討してください。ユーザーが全文ファイルを要求したときに、オンデマンドでファイルを再生成します。