私は の初心者ですが、memcached
データベースの内部構造とシステム プログラミングにはかなり慣れているので、これは奇妙に思えました。メモリベースのソリューションがディスクベースのソリューションよりも高速であることは明らかですが、キャッシュをサポートするデータベースはデータの構造についてより多くのことを知っているため、キャッシュを効果的にキャッシュする方法についてより良いアイデアを持っているべきではありませんか?
次の 3 つの可能性があります。
- 「で展開されたマシンには
memcached
、データベース サーバーが通常行うよりも多くの RAM があります。」同じ量のメモリを追加すると、ソリューションのパフォーマンスは同じになりますか? - 「データベース内の ACID トランザクション プロパティを確保することで、このスピードアップを実現するのは難しくなります。」データベースのトランザクション保証をキャッシュのトランザクション保証と一致するように緩和することで、同様の規模のスピードアップを実現することは可能ですか?
- 「データベース クエリを複数のキャッシュ マシンに均等に分散することで、高速化が可能になります。」データベースのシャーディングは同じことをしますか?
これらの組み合わせでない場合、キャッシング レイヤーを追加することで、データベースではできないテーブルにさらに何がもたらされるのでしょうか? データベース ベンダーは、より優れたキャッシング レイヤーを自分で実装しない/できないのはなぜですか?