一般的な質問:ファイルシステムまたはデータベース?
-
03-10-2019 - |
質問
小さなドキュメント管理システムを作成したいです。ファイルを保存するユーザーが複数います。アップロードされた各ファイルには、ユーザーがアップロードしたユーザーとドキュメントコンテンツ自体に関する情報が含まれています。ビューでは、1つの特定のユーザーのすべてのファイルが表示され、日付ごとに注文されます。
何が良いでしょうか:
日付とユーザーを含む名前またはメタデータ(XML)をドキュメントに与える(およびそれらを繰り返してメタデータを取得する)または...
ファイルにランダム/一意の名前を与え、メタデータをDBに保存しますか?このようなもの:
date | user | filename
あなたは何と言いますか、そしてその理由は?使用済みのプログラミング言語はJavaで、DBはMySQLです。
解決
DBを選択します。 DBはより速く、より安全です(偶然に重要なファイルを削除しません)、そして簡単です。また、これがDBの目的です。大規模なデータのマウントを管理します。ファイルシステムは、ファイルを保存するためのものです。
しかし、選択はもちろんあなたにとってです。
しかし、私は保証します: (DB > XML) == true
パフォーマンスで、そして (DB >= XML) == false
ファイルサイズ!
他のヒント
メタデータ保存の2番目のオプションを選択します。 MySQLは同時性を処理し、DBでの検索はXMLファイルを反復するよりもはるかに高速です。
したがって、データの量が非常に低い場合は、最大としましょう。ユーザーごとに30ファイル、および20人のユーザー - > 600ファイルの最大ファイルとしましょう。ユーザーごとに個別のフォルダーを作成し、ファイルにユーザーに依存して一意の名前を提供するソリューションをどのように判断しますか?そのため、ファイルシステムを簡単にナビゲートできます。これに関連して、この量の少量のドキュメントについては、DBが理にかなっていますか?