グリー技術者が聞いた、fluentdの新機能とTreasure Data古橋氏の野心:OSや言語ではなくデータベースを極めたい(1/3 ページ)
シリコンバレーで起業したビッグデータベンチャーの創業者の1人に、経歴や今後の目標、自身が開発した大人気のログコレクタなどについて聞いた。
タンポポの遺伝子解析、fluentd、トレジャーデータ、オープンソース、日本と米国の違い、そして……
Webエンジニアリングの世界に関わっている技術者であれば、オープンソースのログコレクタ「fluentd」の名前を聞いたことがある方は多いことだろう。
シリコンバレーで起業したビッグデータベンチャー、トレジャーデータの創業者の1人、古橋貞之氏が作ったこのシンプルで拡張性の高いツールは、データ解析のニーズが高まる現在、ソーシャルゲームやアドテクなどのWebサービス関連企業を中心に、そのユーザー数を飛躍的に伸ばしている。
fluentdのほかにもバイナリシリアライゼーションフォーマット「MessagePack」の開発などで知られる古橋氏だが、学生時代からその技術力の高さには定評があり、注目され続けてきたスーパーエンジニアでもある。
今回、fluentdのユーザーでもあり、古橋氏とは旧知の仲でもあるグリー 開発本部 リーダーの森田想平氏がインタビュアーとなり、fluentdにまつわるトピックや、トレジャーデータでの開発、オープンソースへの想いなどを訊いている。本稿では、その模様をお伝えしながら、“エンジニア・古橋貞之”の魅力に迫ってみたい。
fluentd v11の注目ポイント
森田 まずは、グリーでも大変お世話になっているfluentdについて、いろいろ聞かせてください。開発中の新バージョン(v11)では、かなり大きな変更や機能追加があると伺っていますが、注目ポイントをいくつか教えてもらえますか。
フィルタプラグイン
古橋 まずはフィルタプラグインが挙げられます。fluentdの最大の強みはプラグイン構造、つまり「プラグインを配布するプラットフォームがあるので、ロガー側がカスタマイズする必要がない」点にありますが、v11では、さらにログの加工を行う、つまりインプットとアウトプットを同時に行うプラグインを作ることができるようになります。
また、例えばTwitterの分散処理システムである「Storm」のように、流れてくるログに対して1分間隔で集計結果を作って行くようなストリーミング処理もfluentdで行えるようになるはずです
ストリーミング処理の性能向上
古橋 機能強化という点では、マルチプロセス化によって性能向上を図っています。従来ではマルチコアCPUのサーバでも1コアしか使えず性能を出すには一工夫も二工夫も必要だったのですが、v11ではより簡単に複数のコアを使い切ることができます。
エラーストリームの導入
古橋 それからユーザーからのリクエストが多かったものとして、エラーストリームの導入があります。これまでは複数のログの処理中にエラーが発生した場合、そのログはすべて捨てるしかなかったんですが、捨てては困るものまで捨てていたんですね。
例えば、「エスケープが若干おかしい」という程度でエラーが起こった場合でも、そのほかの正常なログも含めて、すべて破棄していたわけです。これを改善するために、エラーが起こった場合はラベルを貼って別の場所に保存する(別のプラグインにemitする)という仕組みにしました。
森田 エラーストリームは非常にありがたいですね。グリーの場合だと、障害対応時の参照ログや課金のログはロストしたくないので、「エラーストリームが導入されることでかなり改善されるのでは」と期待しています。fluentdはログロストが極力起こらないように設計されていると思うんですが、それでもやはり、バッファでのロストが若干気にはなりますね。
古橋 ログロストの許容範囲をどの程度に設定するかは非常に悩ましいんですが、現状では、これ以上バッファで頑張り過ぎると処理速度が遅くなってしまいます。もしコレクタそのものが死んでしまえば、バッファにたまっているデータも当然ロストしてしまいますので、バッファへのこれ以上の負荷はちょっと厳しいかもしれません。
森田 なるほど。もっとも、グリーはfluentdを導入してからは正直、楽になったことばかりで実は不満どころか感謝の気持ちでいっぱいです(笑)。現状、コレクタ死亡時の問題などがあるので、どうしても失いたくないログはfluentd以外の仕組みを用いていますが、それ以外のログ、特に分析用途のログに関しては、例えばrsyncを利用する場合などに比べ、すごくお手軽になったのが正直なところです。
Windowsへの対応
古橋 ありがとうございます。あと新バージョンの大きなトピックとしてはWindowsへの対応ですね。なんといっても世界で一番使われているBIツールはExcelなので、それを考えるとクライアントであるWindowsの対応は避けて通れませんから。
Copyright © ITmedia, Inc. All Rights Reserved.