PCやスマートフォンが普及し、プライベートでも生活の一部となった現代において、「キャッシュ」は意外と身近なストレージ用語です。もちろん、企業のストレージ管理でもキャッシュは非常に重要な役割を果たしています。
今回は、そんなキャッシュをまだ曖昧にしか理解していなかったり、そもそも知らないという方のために簡単に解説していきます。「キャッシュって何?」といまさら聞けない話題なので、これを機に知見を深めていただければと思います。
ストレージのキャッシュが何のためにあるかというと、それは「一時的にデータを保存して、同じアクションを高速化するため」です。
皆さんは普段、Internet ExplorerやGoogle Chrome、Safariといったブラウザで、インターネットを閲覧するかと思います。その中で、初めて開いたページと、同じページを再び開く際は、その速度に違いがあるのを実感しないでしょうか?
キャッシュはまさに、この「同じページを開く際に、処理を高速にする」という役割を果たしています。
具体的には、皆さんがAというページを表示した際に、そのページのデータが皆さんのブラウザに一時的に保管されます。その後、B・C…とページを遷移していって、再びAのページを開く際に、一時的に保存されているキャッシュが活用されます。
キャッシュには一度開いたページのデータが保存されているので、同じページを開く際に、「このページのデータは、これですよ」と提供してくれます。このため、ページAを再び開く際には、初めて開いたときよりも高速に処理できます。
これが、キャッシュの原理です。
企業が持つストレージに備わっているキャッシュも同じ原理で、一時的にデータを保存し、同じアクションを高速化することで業務効率をアップさせる効果があります。
一つ一つのキャッシュのサイズは数KB(キロバイト)~数百KBなので、デジタルカメラ写真1枚分もない非常に小さなデータです。とはいえ、インターネットを使用する際に何度もページを開くように、日常業務の中で様々なシステム操作を行うので、キャッシュは劇的に増加していきます。
「塵も積もれば山となる」という言葉通り、気づけばキャッシュの総量がストレージを圧迫していることも少なくありません。
では、一時的に保存されたデータはどのようにして削除されていくのでしょうか?
ブラウザの例で言えば、キャッシュは「古くなったデータ」から順に削除されていきます。キャッシュとして保存できる容量は常に決まっていて、その容量を超えていくと古い順にデータが消えていきます。
いくら以前に開いたことがあるページだからといって、1ヵ月も前に開いたページの処理速度が速くならないのはそのためです。あるいは、短期間の内でも該当ページが更新されていたりすると、保存したキャッシュが意味を成さないので、処理速度は速くなりません。
企業が持つストレージに備わっているキャッシュはというと、古くなったデータの処理方法は製品によって異なります。
ブラウザのように古くなったデータから順位削除する場合もあれば、保存時期に関わらずアクセス頻度が低いデータから削除される場合もあります。さらに、単に削除されるのではなく、アクセス頻度の低いデータはHDDに保存され、一応はキャッシュとして維持されるなど様々な構成があるのです。
インターネットを使用する際のブラウザや、スマートフォンに備わっているキャッシュ機能は簡易的なものであり、少しでも容量を軽くしたいという要望から定期的にキャッシュを削除する方も多いかと思います。
一方、企業のストレージ環境はというと、日々保存されているキャッシュを定期的に削除・移行していては、本来業務に集中できなくなってしまうでしょう。そのため、ストレージ製品のキャッシュ機能の性能は、システムパフォーマンスの維持はもちろん、業務効率を高めるためにも非常に重要な役割を果たしています。
例えば、導入したストレージ製品のキャッシュ機能が簡易的なものであれば、管理者はキャッシュが溜まる度に削除・移行の処理を行わなければなりません。言葉で説明するのは簡単ですが、実際は処理するデータを慎重に選ばなければならないので、非常に手間のかかる作業です。
反対にキャッシュ機能が高度なものであれば、データ処理に手間はかかりませんし、システムパフォーマンスを常に高く維持できます。
キャッシュ機能はストレージ製品選定の際は意外と見落としがちな部分です。しかし、認識されていないだけで重要な機能には変わりないので、皆さんが今後ストレージ選定を行う際は、ぜひキャッシュ機能に注目していただきたいと思います。
ここで、ストレージ製品の一つである、「オールフラッシュアレイ製品」市場で日本国内No.1シェアの実績を持つ、NetAppのキャッシュ技術について紹介します。
NetAppのストレージ製品に搭載するキャッシュ機能は通称「インテリジェント・キャッシング(賢いキャッシュ機能)」といいます。※正式名称は「NetApp Flash Cache」
インテリジェント・キャッシングの優れている点は、データの種類によって「1次・2次・3次読み取りキャッシュ」と、3次領域までキャッシュを保存できるところです。
1次読み取りキャッシュでは「システム・バッファ・キャッシュ」という領域が使用され、最も優先度の高いデータを自動で判断し、そこに保存されていきます。次に、システム・バッファ・キャッシュから抽出されたブロックを、大容量かつ遅延の少ない2次読み取りキャッシュに保存します。最後に3次読み取りキャッシュは、ストレージインフラに別途キャッシュ領域を作成し、優先度の低いキャッシュを大量に保存します。
NetAppのキャッシュ機能はこの構造により、単一のストレージシステムが持つキャッシュ機能では実現できないレベルまで、読み取りパフォーマンスを向上できます。
ちなみに、使用するキャッシュの保管場所が1次読み取りキャッシュにあった場合、3次読み取りキャッシュと比較して100分の1のスピードでデータが処理されます。
これまでストレージ製品のキャッシュ機能を軽視していた場合は、これを機に「キャッシュ機能は重要だ」という認識を深め、改めて自社のストレージ環境を見つめ直してみてください。そうすれば、キャッシュ機能を強化したストレージ製品を導入することで、ストレージ管理業務を大幅に効率化できることに気付くはずです。意外と見落としがちなキャッシュ機能だからこそ、それによってシステム改善できる余地は大いにあります。皆さんも、一度キャッシュ機能について再考してみましょう。
このブログは2023年8月まで公開していましたストレージチャンネルからの転載となります。
2019年4月よりNetAppに入社。IT業界でのマーケティング業務にて長年に渡り培ってきた経験を活かし、ABM、イベント企画・運営、コンテンツマーケティング、広告など幅広くフィールドマーケティング業務に従事しています。