0

何が良いと思いますか?データベース(SQL)とファイルサーバーにxmlファイルを保存しますか?

いくつかの考慮事項:

*there will be a great number of new files (> 800 per day)
*much more reads than writes, let say 5-10 per every new file
*and almost no updates or modification on the files once created

パフォーマンスとセキュリティに関連する各アプローチの長所と短所、およびその他の有用な情報を知りたいと思っています。

tks

4

1 に答える 1

3

データベースまたはファイル システムで XMLをどのように処理するかによって、多くのことが異なります。

主に名前または番号で保存して、元に戻したいだけのように聞こえます。つまり、データベースまたはファイル システムは、ファイル内を検索したり、いくつかの異なるプロパティでインデックスを作成したり、ファイル全体ではなく一部を取得したりする必要はありません。

その場合、「JPEG ファイルをデータベースに保存するか、ファイル システムに保存するか」というトレードオフは他のものとほとんど同じです。トレードオフのいくつかは次のとおりです。

  • 1 つのディレクトリに約 1,000 を超えるファイルがあると、多くのファイル システムの速度が大幅に低下します。もちろん、それらをさまざまなディレクトリに整理することもできます (Git と iPhoto はこれを単純化していますが効果的です)。

  • レプリケーション、フェールオーバー サーバー、およびその他の高負荷の問題について心配する必要がありますか?

  • トランザクション (たとえば、2 人が同時に同じファイルを追加または置換しようとしている場合)、ユーザー権限、トランザクション ログ、システムを先週の状態にロールバックする機能などについて心配する必要がありますか?

データベースには一般に、この種の問題を支援するために特別に設計された機能があるため、このような複雑さはおそらくデータベースの使用を主張します。XML ファイル全体を保存して取得するだけであれば、ファイルシステムの方が簡単かもしれません。

どちらの場合でも、システムの残りの部分を気にしないようにすることができれば、それはより良いことです。つまり、実際にデータベースまたはファイル システムと対話するシステムの部分を分離し、必要に応じていずれかをプラグインできるようにします。

それが役立つことを願っています。

于 2013-12-11T02:47:33.080 に答える