TOPSoftware > イベントストリーミングプラットフォームの代表格、Apache...

Software

イベントストリーミングプラットフォームの代表格、Apache Kafka(後)

2022/03/24

Martin Heller InfoWorld

 データウエアハウスにすべてのデータを保存し、夜間のバッチ処理で分析して、ビジネスやプロセスの状況を把握するという手法は、今の時代に求められる瞬時の対応が難しい。保存したデータに対する事後分析だけでなく、データストリームに対するリアルタイムの分析を、シンプルに実行できる機能が要求される。

前回から続く)

Apache Samzaとは

Credit: Gonin / Getty Images
Credit: Gonin / Getty Images

 Apache Samzaは、JavaとScalaで開発されたオープンソースの分散ストリーム処理フレームワーク。Kafkaと共に、もともとLinkedInで生まれた。Kafkaを含む複数のソースから得たデータをリアルタイムで処理するステートフルアプリケーションを開発できる。Samzaには次のような特徴がある。

  • 共通のAPI:シンプルなAPIを使って、データソースの違いを問わない形でアプリケーションのロジックを記述できる。データのバッチ処理とストリーミング処理の両方に、同じAPIで対応できる。
  • あらゆるレベルでのプラガビリティ:各種ソースのデータの処理と変換に対応できる。Apache Kafka、Amazon Kinesis、Azure Event Hubs、Elasticsearch、Apache Hadoopと連携する機能を標準で提供しているほか、独自のデータソースとも簡単に連携できる。
  • 組み込みライブラリとしての使用:既存のアプリケーションに統合でき、ストリーム処理のためのクラスタを別途立ち上げて稼働する必要がない。Java/Scalaアプリケーションに組み込む軽量なクライアントライブラリとしてSamzaを利用できる。
  • 一度書けばどこでも実行:デプロイの選択肢が多彩で、パブリッククラウド、コンテナ環境、ベアメタルハードウエアなど、あらゆる場所でアプリケーションを実行できる。
  • マネージドサービスとしての稼働:Apache YARNをはじめ、一般的なクラスタマネージャーと連携し、ストリーム処理をマネージドサービスとして実行できる。
  • 耐障害性:障害が発生した場合、タスクとその状態を透過的に移行する。障害からの迅速な復旧を支える機能を備えている。
  • 大規模運用への対応:数テラバイトの状態データを使用して数千コアで稼働するアプリケーションでの稼働実績がある。LinkedInや米Uber、米TripAdvisor、米Slackをはじめ、複数の大手企業が利用している。

↑ページ先頭へ