200 個のテーブルを持つアプリケーションがあります - 4 つのグループに分類されます
非トランザクション (50 テーブル) - 管理者によって時々更新される部門、指定などのテーブル (100000 読み取り: 1 書き込み率 & 1 書き込み/月)
トランザクションが少ない (50 テーブル) - 設定、製品、税率などのテーブルは、より多く読み取られ、挿入される頻度は非常に低くなりますが、書き込みは毎日発生します (1000 読み取り: 1 書き込み率 & 1 書き込み/日)
トランザクション (50 テーブル) - 注文、領収書などのテーブルで、ほぼ同じように書き込みと読み取りが行われます (10 回の読み取り: 1 回の書き込みと 1 回の書き込み/時間)
ヘビー トランザクション (50 テーブル) - 書き込みが多く、読み取りが少ないが、サービスとレポートで使用されるタスク、履歴などのテーブル (1 回の読み取り: 1 回の書き込みと 1 回の書き込み/分)
私は休止状態、struts2、および春を使用しており、最高のパフォーマンスと効率を得るためのキャッシュ戦略を探しています。
あなたが観察した場合、テーブルには最も多くの書き込みと読み取りが行われるデータがあるため、それらをより重要にキャッシュします。
グループ 4 テーブルをキャッシュできますか? はいの場合、どのように?
グループ 3 テーブルをキャッシュできますか? はいの場合、どのように?
グループ 2 テーブルをキャッシュできますか? はいの場合、どのように?
グループ 1 のテーブルをキャッシュできますか? はいの場合、どのように?
一部のテーブルでインメモリ db を使用できますか?
場合によってはビューが役立ちますか? どのケース?
私が最終的に望むのは、メモリ内データベースからの高速読み取りアクセスです。これは、データベースの変更に応じてメモリ内データベースを更新するものです。たとえば、製品リスト、注文リストがメモリにあるとしますが、新しい製品または注文が追加されると、このリストは自分自身をリロードする必要があります。通常、すべての読み取りはメモリ内データベースから行われ、すべての書き込みはデータベースに直接書き込まれ、トリガーを使用してリストまたはリスト項目を更新します。