LoginSignup
7
7

More than 1 year has passed since last update.

インメモリキャッシュ、インメモリデータベースとは?

Posted at

きっかけ

AWSクラウドプラクティショナー試験の対策をしていたら、AWS DAXというサービスが出てきた。
調べてみるとどうやらDynamoDBを速くするヤツらしく、公式ページいわく

フルマネージド型高可用性インメモリキャッシュ

らしい。

フルマネージドなんとかは置いといて「インメモリキャッシュ」がわからない。
ElastiCacheの説明でも出てきた気がするけど全然覚えてない。
クラウドプラクティショナーのレベルだと絶対いらない気がするけど、調べてみることにする。

キャッシュとは

一度使ったデータを保持しておき、再度必要になった時に素早く取り出せるようにしておくこと。

インターネットブラウザで一度読み込んだ画像データなどをキャッシュファイルとして、ブラウザが利用するメモリに一時保存することで、表示を早くする方法として利用されている。画像データがメモリにあることで、インターネット上のWebサーバからデータが送信されるまで待つ必要がなくなる。

インメモリキャッシュ

キャッシュをメモリに保持するのがインメモリキャッシュ。
DAXはDynamoDBの手前で、メモリにキャッシュするサーバーを配置してEC2からのリクエストに素早く答えれる、ということらしい。

インメモリデータベース

インメモリデータベースとは、専用データベースの一種です。データをディスクや SSD に保存するデータベースではなく、データストレージ用のメモリに主に依存します。

前提として、主記憶装置(メモリ)は補助記憶装置(SSD,HDD)よりもデータの読み書きが早い。
しかし1GBあたりの価格がメモリの方が相当高い上に、通電していないと内部の情報が揮発する。
そのため、全てのデータをメモリに保存して作業は通常しない(と思う)。
それをやってしまったのが「インメモリ」の「データベース」、と理解した。
全データをメモリ上に保存するから、確かにSSDに保存するより相当早そう。

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7