Microsoft SQL Server データベースでも追跡されるファイル システム上のファイルを管理するために使用される Web サービスがあります。FileSystemWatcher クラスを使用して追加されたファイルを監視する .NET システム サービスがあります。ファイルが追加されたコールバックが FileSystemWatcher から来ると、ファイルに関するメタデータがデータベースに追加され、かなりうまく機能します。
私は今、スケーラビリティの問題に直面しています。ファイルシステムに大量のファイルを立て続けに追加していますが、ファイルの追加でデータベースに打撃を与え、Web フロントエンドがロックされてしまいます。
データベースのスケーラビリティの問題にはまだ取り組んでいないので、軽減策を考え出そうとしています。おそらくファイルの追加をキャッシュして、5 分ごとにデータベースに書き出すことだけを考えていましたが、それがどれほど実用的かはわかりません。いずれにせよ、これはある時点で私たちのデータベースへの道を見つける必要があるデータであるため、ある時点で叩かれる必要があります。1 秒あたりに書き込まれるファイル データベース エントリの数を特定の量に制限することもできますが、その量がファイルが追加される速度よりも少なくなるリスクがあります。どうすればこれに最もよく取り組むことができますか?