フェイスブック、HBaseを進化させた「HydraBase」を発表安定性を向上し、99.999%の可用性を実現

フェイスブックは「Apache HBase」の安定性を向上させ、99.999%の可用性を実現可能な分散データベース「HydraBase」を発表した。

» 2014年06月10日 16時40分 公開
[鈴木聖子@IT]

 米フェイスブックは2014年6月5日、オープンソースの分散データベース「Apache HBase」の安定性を高めた「HydraBase」を発表した。99.999%の可用性を実現し、年間のダウンタムを5分以内に短縮できると説明している。

 フェイスブックでは、2010年にメッセージ機能を刷新してSMSやチャットを統合するに当たり、HBaseを採用。その後、HBaseの利用を拡大、メッセージサービス運用向けだけでなく、大量のデータを扱う分析処理ワークロードにも適用した。現在は、社内モニタシステムや近くの友達を探せる「Nearby Friends」機能、検索インデックス、ストリーミングデータ分析などのサービスにも使うようになっている。

 こうした用途に合わせてスケールやリーチを拡大するため、特に安定性に重点を置いて機能強化を図り、HBaseの制約を乗り越えて高い安定性を実現したのがHydraBaseであるという。

 HBaseではデータはリージョンとして物理的に断片化され、単一のリージョンサーバーが各リージョンのホスティングを担う。HBaseに追加されたデータは、まずWAL(ログ先行書き込み)実装である「HLog」に書き込まれ、次にメモリストア「MemStore」に保存される。メモリ内のデータが一定の値に達すると、「HFile」としてディスクに書き出される。HFileの数が増えると読み込みのオーバーヘッドを減らすために、複数の小さなファイルを大きなファイルにまとめる「コンパクション」という処理が行われる。

  従来のHBaseでは、一部リージョンサーバーに障害が発生た際の自動フェイルオーバーで、リージョンに関連付けられたWALデータの扱いに時間がかかり、切り替え時間が長引く原因になっていた。

 HydraBaseでは、各リージョンを単一のリージョンサーバーでホスティングするのではなく、複数台をセットにしたリージョンサーバーでホスティングする方式を採用。1台のサーバーに障害が起きても、予備サーバーで対応できるようにしている。予備サーバーは別々のラックやデータセンターに分散させることも可能で、さまざまな障害に対応できるという。

 これにより、クロスデータセンターの構成でHydraBaseを導入した場合の可用性を99.999%まで高められる可能性があるという。また、単一のデータセンターでHydraBaseを導入する場合も、ホストやラックを横断するフェイルオーバーではHBaseを使った場合よりも切り替え時間を短縮させられるとしている。

 HydraBaseは現在、フェイスブック社内で試験段階にあり、段階的に実サービス向けの環境に導入していく計画だ。また、今後もフェイルオーバーのさらなる高速化を図る方針であるという。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。