勉強前イメージ
キャッシュするサービス
でもなんでDB系が多いんやろう
調査
ElastiCacheとは
メインメモリキャッシュのデプロイ、運用、スケーリングをクラウド内で簡単にできるAWSのサービスです。
データをノードのメモリに保存するので、HDDやSSDへの書き込み読み込みより非常に高速なデータの出し入れが出来ます。
2種類のエンジンをサポートしています。
そもそもキャッシュとは
一度アクセスしたwebページの情報をブラウザやノード側で保管し、次同じアクセスがされた際の表示を速くする仕組み・対象のデータのことを指します。
webページを表示するには毎回ダウンロードが必要になりますが、一時的にデータを保存(キャッシュ)することで表示スピードが向上します。
そのキャッシュをクラウド上でするのがElastiCacheのサービスになります。
ElastiCacheの特徴
- インメモリデータストアの昨日
ディスク読み込みとメモリ読み込みでは10倍ほど処理速度に差が出ます。
その結果、インメモリにすることにより高速な読み書きが可能になりました。
- フルマネージドサービス
AWSではよく聞きますが、ハードウェアの準備や電源監視、ハードウェアの運用作業などAWSが請け負ってくれるサービス体系で、
サービスを利用するだけでElastiCacheが使えます。
2種類のエンジン
ElastiCacheには以下の2種類のエンジンが存在します。
- Memcached : シンプルなデータ構造で、スケールアウト・スケールインへの対応
- Redis : 複雑なデータ構造で、キーバリューストアとしても使用できる
Memcached
分散型インメモリキャッシュで、キーとバリューをシンプルな1対1で組み合わせて保存するキーバリューストアです。
RDBと連携してデータベースの負荷を下げたり、
データを古い順から削除するような機構があります。
拡張性についてはスケールアウト・スケールインが出来ますが、クライアント側での制御が必要です。
Redis
キーとバリューを紐付けて管理するNoSQLデータベースです。
以下が主に使えるデータ型になります。
- Strings
- Lists
- Sets
- Sorted Sets
- Hashes
また、マスターと複数のスレーブで構成する事で負荷分散をする事が可能で、
メモリ上のデータをディスクに保存する事で、停電等の電源消失時にデータを失わずに保存することが出来ます。
勉強後イメージ
キャッシュするためのサービスもあるのか・・・
DB系が多いのはただ単にキャッシュとしてこのサービスを使いたい需要がDB多い的なあれ?