1

これは、私が今日尋ねた別の質問のフォローアップです。WPF (RichTextBox コントロール) で作成されたリッチ テキスト ドキュメントを格納するデスクトップ アプリを作成しています。このアプリは SQL Compact を使用しており、これまでは各ドキュメントをデータベースのバイナリ列に格納することを計画していました。

私はそのアプローチを再考しています。各リッチ テキスト ドキュメントをデータベースに保存するのではなく、ファイル システムに保存する方が適切でしょうか? ドキュメントをデータベースと同じフォルダーに配置し、ドキュメントに関する他の情報 (タグなど) と共に、各ドキュメントへの相対パスをデータベース レコードに保存できると思います。

このアプローチの長所と短所、およびこの種のベストプラクティスと一般的に考えられているアイデアを知りたいです。ご協力いただきありがとうございます。

4

2 に答える 2

1

個人的にはファイルシステムを使う傾向があります

プロDB

  • SQL検索機能を使用して検索できます(制御コードのため、RTFではおそらく少し不安定になります)
  • MDFファイルをバックアップすると、すべてのドキュメントが1か所にバックアップされます。
  • バージョニングを簡単に実装できます
  • ファイルデータとそれを参照するものの同期を維持するのが簡単

プロファイルシステム

  • 外部アプリ(および人)がロード可能
  • 破損したDBはすべてのドキュメントを強制終了します
  • ファイルシステムツール/インデクサーを介して検索可能
  • それほど複雑でないIOコードが必要
  • ユーザーになじみがある
  • パスはどこを指すこともできます(つまり、別のマシン/別の論理ドライブ上)
  • よりポータブルなIOコード
于 2010-05-01T15:26:51.857 に答える
1

以前に言及されていない理由がわかりませんが、SQL Server 2008 以降で使用できる FILESTREAM データ型を確認しましたか?

これは、ファイル システム ストレージの利点と DB ストレージの利点を組み合わせたものです。MS ホワイト ペーパーへのリンクは次のとおりですhttp://download.microsoft.com/download/a/c/d/acd8e043-d69b-4f09-bc9e-4168b65aaa71/SQL2008UnstructuredData.doc

私の観点からの filestream のもう 1 つの非常に優れた点は、非常に便利な SQL Server のエクスプレス エディションのサイズ制限に食い込まないことです。

于 2010-05-04T07:48:08.650 に答える