認証データベースへのHBase/Hadoopの適用

2011年2月4日(金)
湯本 勝之玉城 久頌

3.6. 動的なスケールアウト

本章では、通常のRDBMSにはない、HBaseの特長である動的なスケールアウトが、認証データベースとしての用途でも実現できるかを紹介します。

まずは図6の「スケールアウト前」をご覧ください。リージョンサーバーとデータノードの動作するサーバーが1台しか存在しない疑似分散環境です。認証サーバーからのリクエストは アプリケーションゲートウェイを経由して、この1台のサーバーに全て集中します。一方「スケールアウト後」は、リージョンサーバーとデータノードが計3台から構成される完全分散環境です。「スケールアウト前」の環境で動作しているHBaseにサーバーを追加し、「スケールアウト後」の状態に変化させ、その間認証モジュールに対して常に高い負荷をかけ続けることで、毎秒の認証回数がどう推移するか、毎秒の認証回数のばらつきがどう変化するかを確認しました。

なお、本章でご紹介している疑似分散環境構成のHBaseは可用性が欠如しており、実運用では選択することのない構成です。サーバー追加後の完全分散環境構成も、筆者らが考える最小のHBase 構成台数です。今回はリージョンサーバーが扱うデータが自動で分割されることを明確にするため、あえてこれらの構成をとりました。

図6:スケールアウト前のサーバー構成(クリックで拡大)

以下のグラフ2をご覧ください。開始から240秒に至るまで、毎秒の認証回数が大きくばらつき、過負荷の状態に陥っていることが分かります。開始から240秒経過後に、それまで1台だったリージョンサーバーとデータノードを3台に増加させています。もともと1台のサーバーに格納されていたデータを3台のサーバーに自動で分割させる処理が行われるため、瞬間的に毎秒の認証回数が減少します。しかしその後は毎秒の認証回数が増加していき、ばらつきが少なくなり、スケールアウトを実現していることが分かります。このようにノード追加時に従来保持していたデータを自動で分割することで、より高い負荷に耐え、より高いスループットを実現できることが HBaseの大きな特長です*5

  • [*5] HP IceWall SSOの機能により認証モジュール自体をスケールアウトさせることで、さらにスループットを向上させることも可能です。

グラフ2:リージョンサーバーを1台から3台にした際の認証件数グラフ(クリックで拡大)

4. まとめ

HBase/Hadoopをシングルサインオンソフトウエアの認証データベースとして適用した例は今までになく、さまざまな課題に直面しましたが、最終的には要求を満たす性能と可用性を確認することができました。運用中でも性能が不足すればサーバーを増やすだけで、無停止でスケールアウトするHBaseやHadoopの特長は、要求性能をあらかじめ見積もれない用途や超大規模な認証基盤としての用途には特に適していると思います。

HBaseやHadoopはまだ若いソフトウエアであり、開発スピードが非常に速いので今後も動向を注視していきたいと思います。

次回はクラウドとの認証連携についてご紹介します。

日本ヒューレットパッカード株式会社

2004年より検疫システムソフトウェア開発、2009年よりIceWallソフトウェア開発(現職)。

日本ヒューレットパッカード株式会社

テクノロジーコンサルティング本部 IceWall ソフトウェア本部 第一部
2009 年にエンジニアとして新卒で入社。以後 IceWall ソフトウェア開発(現職)。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています