米Facebook、HBaseの信頼性を強化した「HydraBase」を発表――99.999%の可用性を実現

 米Facebookは6月5日、社内で開発を進めている新プロジェクト「HydraBase」構想を発表した。キーバリュー型データストア「Apache HBase」の信頼性を強化したものとなり、99.999%の可用性を実現可能という。

 FacebookがHydraBase開発に至った経緯として、2010年にメッセージ機能を強化した際に採用したHBaseがある。ここでFacebookは、Facebook Message、SMS、チャット、電子メールなどを1つに統合するにあたり、高い書き込み性能、水平型のスケールアウト、一貫性、高可用性を評価してHBaseを採用しシステムを構築した。その後はオンライン分析処理などのワークロードにもHBaseの利用を拡大、現在はメッセージのほか、内部のモニタリングシステム、、検索インデックス、ストリーミングデータ解析などにも利用しているとのことだ。同社が先日ローンチした、近くにいる友人を探す新機能「Nearby Friends」もHBaseをベースとするという。

 HydraBaseは、HBaseの信頼性、実装の柔軟性を強化するためにFacebook社内で開発した技術。HBaseではデータは「リージョン」単位で物理的に共有され、各リージョンサーバーは1つ以上のリージョンを受け持つことになる。データが追加されると、最初にWAL(Write-Ahead Long)のHLogに書き込まれ、インメモリMemStoreに保存され、一定量に達するとHFileとしてディスクに書き出される仕組みだ。1台のリージョンサーバーがダウンするとそのリージョンサーバーがホスティングしていたリージョンは別のリージョンサーバーに移行する。HydraBaseでは、単一のリージョンサーバーが各リージョンをホスティングするのではなく、複数台のリージョンサーバー群でリージョンをホスティングする。これにより、あるリージョンサーバーに支障があった際はスタンバイ状態にあるリージョンサーバーが迅速に引き継ぐことができるという。スタンバイリージョンサーバーは、ラックやデータセンターを分散して設定することができる。

 このように論理的、物理的なレプリケーションを分割することで、HydraBaseでは、HBaseの信頼性である99.99パーセントのアベイラビリティをさらに強化し、99.999パーセントを実現できる(複数のデータセンターで設定時)という。ダウンタイムに直すと1年間で5分以下のレベルとしている。

 HydraBaseのコードなどは現在公開されておらず、Facebookは今後外部に公開するかどうかなどの計画を明らかにしていない。Facebookによると、HydraBaseは現在テスト中で、今後段階的にロールアウトするという。

米Facebook
http://www.facebook.com/