BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Apache Flinkを用いたデータストリーミングアーキテクチャ

Apache Flinkを用いたデータストリーミングアーキテクチャ

原文(投稿日:2016/06/09)へのリンク

data Artisansでアプリケーションエンジニアリング・ディレクターを務めるJamie Grier氏が、Apache Flinkを用いたデータストリーミングアーキテクチャについてOSCON 2016 Conference講演し、データストリーミングアプリケーションの構成要素について語った。

データストリーミングアプリケーションは、静的なデータセットではなく、イベントのストリームとして継続的に生成されるデータを処理するために使われる。従来の中央集権的な「実世界の状態」型のデータベースおよびデータウェアハウスと比べて、データストリーミングアプリケーションは、イベントのストリームおよびイベントの履歴を集約したアプリケーション固有のローカルな状態に従事する。ストリーミングデータ処理にはいくつかの利点がある。

  • シグナルから判断までのレイテンシー削減
  • リアルタイムデータと過去データの処理方法の統一
  • タイムトラベルクエリ

Apache Flinkは分散ストリームおよびバッチデータ処理のためのオープンソースプラットフォームであり、Google Data Flowのモデルに着想を得ている。プログラミング言語としては、JavaとScalaでStream Processing APIをサポートする。他のストリーミングデータ処理フレームワークと比べると、Flinkにはデータのマイクロバッチ処理がなく、「一度に1メッセージ」のストリーミング処理に基づいている。

Jamie氏はステートフルなストリーム処理について語り、Flinkアプリケーションのサンプルコードならびに、オープンソースの時系列データベースInfluxdbおよび可視化ツールGraphanaを用いたモニタリングについて紹介した。

彼はストリーム処理におけるWindowingのコンセプトと、処理時間とイベント時間でのWindowingの違いについても語った。処理時間でのWindowingはストリーミングデータ解析に影響を与え、データ処理の一部にエラーをもたらしてしまう。イベント時間の場合、Windowingはクロックタイムではなくデータからもたらされる。イベント時間を使うことで、データはデータ自体に埋め込まれたタイムスタンプに従って処理され、より正確な結果を計算できるという。

また彼は、アプリケーションでFlinkを使ったときの障害処理と耐障害性についても触れた。Flinkのセーブポイント機能を使うことで、状態を失うことなく、プログラムとFlinkクラスタを更新することができる。リアルタイムで生成されるデータをストリーム処理しているとき、このセーブポイントデータスナップショットは重要だ。

Apache Flinkについて興味がある人はWebサイトをチェックしてみよう。また9月にはFlink Forward 2016 Conferenceがベルリンで開かれる予定だ。プロポーザルの提出締め切りは2016年6月30日となっている。

 

 

 

 

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

BT