米フェイスブックは2017年2月3日(現地時間)、同社が開発したインメモリ時系列データベース「Beringei」をブログポストで説明、同ソフトウェアを最近オープンソース(BSDライセンス)で公開したことを紹介した。
米フェイスブックは2017年2月3日(現地時間)、同社が開発したインメモリ時系列データベース「Beringei」をブログポストで説明、同ソフトウェアを最近オープンソース(BSDライセンス)で公開したことを紹介した。
「Beringeiは現時点で、ユニークな時系列データを最大100億件格納し、毎分1800万件のクエリに応えられる。Facebookにおけるほとんどのパフォーマンスモニタリングおよびヘルスモニタリングを担っている。エンジニアやアナリストは、正確なリアルタイムのデータを活用し、迅速な決定ができるようになっている」と、ジャスティン・テラー(Justin Teller)氏は記している。
フェイスブックでは以前、モニタデータをHBaseに格納していた。だが、より多くのデータを読み出して可視化するといった作業が増えてくると、データの読み出しだけで分単位の時間がかかることが増えてきたという。
この問題に対処するために開発されたのがBeringei。モニタリングデータに特に適したデータ圧縮方式を採用。より多くのデータをメインメモリに格納でき、データの書き込み時間とクエリへの応答遅延を桁違いに短縮できたとしている。フェイスブックでは、直近24時間のモニタリングデータ全てを、メモリ上に配置しているという。
Beringeiは、ロスレスのストリーミング圧縮アルゴリズムを使用。時系列データの各時点でのタイムスタンプとカウンタの値を表す64ビット値のペアをデータポイントとし、タイムスタンプと値を、以前の値に関する情報の利用により個別に圧縮する。「タイムスタンプ圧縮では、デルタ・オブ・デルタ・エンコーディングが使用されるため、通常の時系列では、タイムスタンプを保存するためのメモリ消費は非常に少ない」という。圧縮率は90%を超えるとしている。
Beringeiに書き込んだデータは、約300マイクロ秒後に読み出し可能であり、読み出し要求に対する同社サーバの応答時間は約65マイクロ秒という。
Beringeiはライブラリとして提供され、他のモニタリングソリューションのバックエンドストレージとして利用できる。また、参照用のクライアント実装が含まれ、スタンドアロンのサービスとしても活用できるという。
オープンソース化により「この技術をより広く共有することで、業界や学会とより密接に連携し、私たちのモニタリングシステムにも新たなソリューションを統合していきたい」と、テラー氏は記している。
Copyright © ITmedia, Inc. All Rights Reserved.