大量のリクエストを高速に処理する、高性能分散KVS、「KFEP」が知りたい 2-2
SUMMARY
- 高性能な分散KVS「KFEP」はP2P型アーキテクチャを採用し、障害発生時も、データの一貫性を保つ
- 「KFEP」はコンシステント ハッシュ法を採用し、ノードの増減に柔軟に対応する
- 「KFEP」は、データサイズが小さく、データの総量が大きく、短時間での大量の処理を必要とする現場に最適
かもめエンジニアリングの分散KVS型エンジン「KFEP」(ケイフェップ)は、高速な分散KVSエンジンです。サーバの増設やデータ同期が容易で、スケールアウトに適しており、大量のリクエストを超高速に処理する「KFEP」は、現在、大手通信業における数千万ユーザの認証をはじめ、幅広い用途でご活用いただいています。
このシリーズでは「KFEP」の性能についてご紹介します。
「KFEP」はP2P型アーキテクチャを採用し、障害発生時も、データの一貫性を保つ
高性能エンジン「KFEP」をはじめとした分散KVSには、その性能を高めるための複数のアーキテクチャが存在します。そのなかで、代表的なものをご紹介します。
―マスター – スレイブ(master-slave)型
分散KVSのアーキテクチャ、マスター – スレイブ(master-slave)型とは、1つのハードウェアやプロセスをマスターとして定め、マスターが、他のデバイスやプロセスを支配下に置いて一方的に制御する方法です。
各ノードに、マスター(主)ととスレイブ(従)という役割を与えることで、それぞれのノードの役割を分担させるアーキテクチャです。
―P2P(peer to peer)型 / 対称型
分散KVSのアーキテクチャ、P2P(peer to peer)型とは、各ノードに役割分担はさせずに、すべてのノードがマスター(主)とスレイブ(従)の役割を果たす方法です。
「KFEP」では、このP2P(peer to peer)型を採用しています。
P2P(peer to peer)型の「peer」とは同等の人やモノを意味し、P2P(peer to peer)では、個々のノード(peer )が、サービスの消費者であると同時に、提供者でもあります。
コンピュータリソースを共有してすべてのホストが対等に振る舞うことができる、つまり「すべてが並列、対等である」というのが基本的な考え方です。
分散KVSの高性能エンジン「KFEP」が採用したP2P(peer to peer)型、そのメリットは次のようなものです。
-マスターが存在しないため、単一障害点(SPOF/シングルポイントオブフェイラー)が存在しない
-ノード追加時には、自動でデータが再配置される
-障害発生時にも、他ノードが処理を引き継ぐ
とくに「KFEP」では、独自仕様により、障害発生時にもデータの一貫性の確保に対応します。
「KFEP」は、ノードの増減に柔軟に対応するコンシステント ハッシュ法を採用
また「KFEP」では、コンシステント ハッシュ(Consistent hashing)というアルゴリズムを採用しています。
コンシステント ハッシュ法では、スロットの追加や削除が、最小限の変更で行うことができます。これによって、ノードの増減に柔軟に対応し、かつ影響範囲を最小限にすることができます。
「KFEP」は、データサイズが小さく、データの総量が大きく、短時間での大量の処理を必要とする現場に最適
最後に、分散KVSの高性能エンジン、「KFEP」の特長をまとめてみました。
―高速な分散KVSエンジン
―ごく安価なマシンを使用しても、10台構成で秒間90,000処理以上を処理することができる。
―スケールアウトに適し、無停止でサーバを追加・削減できる。
―台数を増やすことで簡単に性能を向上できる。
―P2P(peer to peer)型アーキテクチャを採用しているので、単一障害点(SPOF/シングルポイントオブフェイラー)が無い
ー独自の技術により、障害発生時もデータの一貫性を保つことができる
―コンシステント ハッシュ法を採用しているので、ノードの増減に柔軟に対応する
こういった特長のある分散KVSの高性能エンジン「KFEP」は、次のようなビジネスの局面で、ご活用いだたけます。
●1件ごとのデータサイズが小さい
(数KB~数十KB程度)
●データの個数、総量が大きい
(数千万~数億件以上)
●短時間での大量の(参照、更新)処理が要求できる
(数千~数万件 /秒以上)
分散KVSを活用した統合認証基盤の導入支援や移行支援については、こちらへ
分散KVSを活用した統合認証基盤についてもっと知りたい方は、こちらへ