アイテムと関連フィールドの追跡を可能にするアプリケーションを作成したいとします。たとえば、私が飲んだコーヒーの量を把握したいので、コーヒーの入り口を作って、8オンスのコーヒー1杯、カフェイン100mg、特定の場所から買ったコーヒー1杯、そしてその時に酔っていた。私はまた、後でそれぞれを見られるように、すべての更新を追跡したい。しかし、私が追跡したいと思う他のアイテムは、全く異なるフィールドを持つかもしれません(書籍にタイトルがあり、楽しさの点でランク付けされる可能性があります)。カスタムユーザータグとフィールドを持つ大規模データトラッカーに使用するデータモデルまたはデータベースシステム
私は、データをタグ付け/分類し、このデータに対してクエリ/レポートを実行できるようにしたいと考えています。たとえば、私は一定の期間内にどれくらい食べ物に費やしたかを知りたいかもしれません。これは、食品タグを持つすべてのアイテムを照会し、すべての時間フィールドに基づいてフィルターをかけ、それらのすべてのコストフィールドを合計します。
私は、これを、正規化されていないリレーショナルデータベースで、すべてのアイテムの更新を1つのテーブルで行うことができると考えていました。私が言ったような、デフォルトのフィールドがそのテーブルに組み込まれていて、追加のカスタムフィールドのためのスペースがあれば、私はかなり速いクエリを実行できると思います。 1つの欠点は、アイテムに新しいタグを追加すると、多くのレコードをコピーすることになります。固定数のタグ列があり、新しいタグを追加するだけであれば修正できますが、これはアイテムが持つタグの数を制限します。
ダイナミックフィールド、高速クエリー、および高速挿入/変更のバランスが良いリレーショナルデータモデルがありますか?私は、よりよく動作する非リレーショナルデータベースプラットフォームがあるのだろうかと思っていました。私はグラフのデータベースを見て、それがよりダイナミックに見えるので、それが良いアイデアだろうと思ったが、それはもっと速いとは想像していない。