データベースには100万を超える製品があります。各製品の価格は頻繁に変動します。これらの価格変動を「価格履歴」テーブル (product_id、price、validation_start_date、validation_end_date) に保存する予定です。
製品が検索されると、データベースから出力された json から js によって生成されたチャートを介して、ユーザーはその価格履歴を確認できます。
私はこれを正しい方法で行っていますか?
(レールとpostgresqlを使用)。
データベースには100万を超える製品があります。各製品の価格は頻繁に変動します。これらの価格変動を「価格履歴」テーブル (product_id、price、validation_start_date、validation_end_date) に保存する予定です。
製品が検索されると、データベースから出力された json から js によって生成されたチャートを介して、ユーザーはその価格履歴を確認できます。
私はこれを正しい方法で行っていますか?
(レールとpostgresqlを使用)。
それは本当に依存します。理論的には、最新の部分に部分的な一意のインデックスを設定する場合、大きなパフォーマンスの問題を抱える必要はありません (この回答の範囲を超える特定の方法があります)。
ただし、ORM などを使用する場合、これは非常に面倒です。一般に、この種のデータを保存する場合は、次の 2 つのいずれかを実行することを強くお勧めします。
更新可能なビューの背後にあるストレージを抽象化できます (ただし、ビューの更新ロジックを作成して維持する必要があります)。
SQL に移行することもできます。
部分インデックスなどへのアクセスがない ORM では、(時間の経過とともに) 数百万の部分×数千の過去の価格がかなり煩わしくなります。