Hibernateを介して書き込みおよび読み取り要求をDBに送信するWebサイトがあるとします。私はJavaを使用していますが、この質問には関係ありません。
通常、DBから新しいデータを読み取りたいと思います。ただし、パフォーマンスを向上させるために、書き込まれたデータが読み取りに表示されるまでに多少の遅延を導入したいと思います。つまり、DBに挿入された行をすぐに「公開」する必要はありません。少し遅れて新しいデータを「公開」しても大丈夫です。
どうすればそれを達成できますか?
私が理解している限り、これは私のシステムのいくつかの異なる層に設定することができます。
フロントエンドでいくつかのリクエストをキャッシュできます。おそらく、このためにプロキシサーバーを設定する必要があります。ただし、これはクエリのすべてのパラメータが一致する場合にのみ機能します。
読み取りリクエストをHibernateにキャッシュできます。OKですが、新しい挿入が発生した後、読み取りクエリが古いデータを返す平均時間を指定または見積もることはできますか?言い換えると、新しいデータがユーザーに表示されるまでの遅延時間をどのように制御できますか?または、Hibernateキャッシュの代わりにmemcachedシステムのようなものを使用する必要がありますか?
おそらく私はDBに何かを設定することができます。DBで何をすべきかわかりません。おそらく、分離レベルを緩和してDBのパフォーマンスをバーストさせることができます。
それで、どちらの方法が最良ですか?
そしてもちろん、主な質問です。ここで紹介する要件の緩和は、システムのパフォーマンスを向上させるのに本当に役立つのでしょうか。