RDBの専門家として日々活動している中で気づいたことのひとつに、「RDBはデータへのアクセスの実装をインデックスに頼っているが、インデックスは全ての問題を解決できるほど万能ではない」ということがある。インデックスというのはとても強力な部品であり、その点には全く異論はない。だが、世の中の全ての問題(クエリ)を解決できるほど、柔軟性に富んだものではないということだ。RDBは、どのインデックスを使ってデータへアクセスするかということを、オプティマイザを用いて判断する。大抵のRDB製品では、オプティマイザはよい仕事をするので、インデックスとオプティマイザの組み合わせによって、ほとんどの問題に対応できる。だが、100%ではないのであり、そのようなケースがシステムの性能問題を引き起こしたり、プログラマ(アプリケーションの設計者)に、NoSQLへ完全に移行したり、クエリ高速化のために非正規化をすると言っ
![RDBにおけるキャッシュという考え方](https://cdn-ak-scissors.b.st-hatena.com/image/square/1946584c1109fd113f49a62abe33b19ded268448/height=288;version=1;width=512/https%3A%2F%2Flh6.googleusercontent.com%2F-Om_IligLd5c%2FTTT9MTGM31I%2FAAAAAAAAAfw%2FABg9hRZifTo%2Fs800%2Flogo.png)