「テキストエントリ」をデータベースに保存する必要がある場合と静的ファイルとして保存する場合のカットオフを理解しようとしています。ここに経験則はありますか?テキスト エントリは多くても数段落で、画像や表へのリンク (および他のテキスト エントリへのハイパーリンク) があります。テキスト入力の基準:
- コンテンツフォーマットとしてDITAを使おうと考えています
- テキストは検索可能である必要があります
- テキストが改訂された場合、新しいバージョンが作成されます
前もってありがとう、チャック
「テキストエントリ」をデータベースに保存する必要がある場合と静的ファイルとして保存する場合のカットオフを理解しようとしています。ここに経験則はありますか?テキスト エントリは多くても数段落で、画像や表へのリンク (および他のテキスト エントリへのハイパーリンク) があります。テキスト入力の基準:
前もってありがとう、チャック
「レールウェイ」はデータベースを使用することです。
ソリューションはよりスケーラブルになるため、(移行などを使用して)開発がより速く、おそらくより簡単になります。ファイルシステムを使用すると、データベースで使用するためにすでに実装されている多くの関数を独自に構築する必要があります。
モデル(例)ドキュメントを作成し、paper_trailなどの既存のバージョン管理システムを簡単に使用できます。インデックス付き検索を使用する場合は、has_manyリレーションを使用して、モデル間の依存関係を実現できます(モデルを破棄すると、検索インデックスが破棄されます)。
カットオフではなく、データベースが提供するものを見て、それらの機能が役立つかどうかを自問することができます. 分離 ( ACIDの I ) を考えてみてください。複数の人が同時にエントリを編集しようとしているのではないかと心配している場合は、ファイルを操作して自分でロックを処理する必要がありますが、データベースはそれをうまく処理します。または原子性: 一度に 2 つのもの (インデックス ページとエントリ ページなど) を更新し、両方が成功するか失敗するかを知りたい場合があります。
データベースは、複数のデータ型を利用する、クエリを簡単にする、スケーリングを可能にするなど、ACID 以外にも多くのことを行います。ほとんどのデータベースはディスク上の一連のファイルにデータを格納することになるため、これは尋ねる価値のある質問です。自分でファイルを使用した場合、ミニデータベースを作成することになりますか?
また、気になる Rails を使用している場合は、その ActiveRecord 機能を利用して、データベースを必要とする多くのプラグインを使用できるようにします。
小規模な単一ユーザーの Rails アプリであっても、データベースを使用します。