「分散KVS(Key-Value Store)」と「可視化」 その2

で、今のところの情報を整理してみる。

KVSとはKeyとValueの組み合わせでデータを管理する仕組み。
RDBのデータ構造と比較して、「単純なデータ構造」であるために高速化を実現する。
KVSは、大きく分けて①「揮発性KVS」と②「永続性KVS」がある。

①「揮発性KVS」
オンメモリでデータを扱うデータベース。分散キャッシュサーバ等に使用される。
高速ではあるが、データが一定量を超えた場合や、データベースやOSの再起動などでデータが消去されるものもある。

②「永続性KVS」
オンディスクストレージでデータを扱うデータベース。
揮発性KVSと比較して速度は落ちる。データの記憶容量と永続性の高さが特徴的。

①と②はもちろん用途によって選ぶ。

KVSはRDBよりも安価に大量のデータを保管できるため、データ同士に関連性がないため、分散化のコストが安い。サーバー複数台に分散して保存できるためスケールアウトしやすい。
「スケールアウト」とは、サーバーやネットワークといったインフラの性能を上げる方法の1つ、
「サーバの数を増やすことで、サーバ群全体のパフォーマンスを向上させること」。

・大量のサーバーにKVSを分散させて
 「単純なデータ構造」、「オンメモリ」または「データの記憶容量と永続性」の威力を発揮させる。

・サーバーの数を増やせば増やすほど、①「揮発性KVS」を使いこなせば使いこなすほど
 「単純なデータ構造」と「オンメモリ」の威力を発揮する。
・サーバーの数を増やせば増やすほど、②「永続性KVS」を使用すればするほど
 「単純なデータ構造」と「データの記憶容量と永続性」の威力を発揮する。
・サーバーの数を増やせば増やすほど、「負荷分散」になる。
・サーバーの数を増やせば増やすほど、大量のデータであっても爆速データ処理を実現できる。

上記のようにKVSを分散させた仕組みを「分散KVS」と呼ぶ。ということだろう。たぶん。

今日は可視化の話は無し。