海外コメンタリー

ビッグデータの今後とストリーミング--AkkaプロジェクトのJ・ボナー氏に聞く - (page 3)

Matt Asay (Special to TechRepublic) 翻訳校正: 村上雅章 野崎裕子

2015-07-14 06:30

 開発者による「青写真」の実行(「具現化」)や、実行エンジンのいずれかを使った実行のスケジューリングを可能にすることで、処理内容と処理方法を切り離しているのです。このような実行はシングルスレッドやパラレルスレッドでも、分散処理でも可能です。

 Akka Streamsでは、さまざまなストリームの終端からデータを捕捉し、新たな出力を生成した後、それらストリームをLEGOのブロックのようにつなぎ合わせ、グラフを作り上げることで、アプリケーションのワークフローをストリーミングアーキテクチャ上に持ち込めるようにしているのです。Akka Streamsは、ストリーミング処理でよく登場する分割や変換、マージといった幅広いタスクを取り扱う、豊富なストリーム変換ステージをあらかじめ定義して提供しています。

 われわれは、ストリーミングアプリケーションの開発における非常に複雑かつ予測不能な工程を簡潔かつ、しっくりとしたかたちでモデル化できたことに満足しています。

——このストリーミング運動で生み出されるイノベーションの全容について、そして主な賛同者について聞かせてください。

 選択肢の多様性があらゆるレベルで広がっているという点で、システムアーキテクトにとっては良い時代になりました。しかし、そういった選択肢すべてと、ものごとの進歩の速さを考えると、コンシューマーにとっては極めて混乱しやすい時代でもあります。

 クラスタ間をまたがる分散型のリアルタイム処理フレームワークには、Intelの「GearPump」やLinkedInの「Apache Samza」、米Yahooの「Apache S4」、Twitterの「Apache Storm」、Googleの「MillWheel」など、星の数ほどのイノベーションが存在しています。

 また、TypesafeのAkka StreamsやNetflixの「ReactiveX/RxJava」、Pivotalの「Reactor」、Red Hatの「Vert.x」のように「Reactive Streams」と互換性を持つライブラリも爆発的に増加しています。さらに、Java 8にもStreamライブラリが用意されています。

 そして「Event Store」や「Akka Persistence」「Eventuate」といった、イベントソーシングやコマンドクエリ責務分離(CQRS)のためのシステムもあります。

 さらには、取り込んだデータをApache Sparkに(マイクロバッチ形式で)流し込む「Apache Spark Streaming」といったシステムのほか、「Apache Cassandra」や「Riak」「MongoDB」「Membase」などのほとんどのNoSQLデータベースに対応したストリーミングドライバも数多くあります。

 また、「Apache Kafka」や「LevelDB」、「Java-Chronicle」といった、イベントログを取得するためのインフラ系ツールもあります。

 Typesafeの「Slick」のような、SQL向けのストリーミングライブラリもあります。

 それから、「Esper」や「Oracle Complex Event Processing」といった、複合イベント処理(CEP)を取り扱う古典的なツールもあるうえ、低レイテンシが要求される高頻度取引(HFT)まわりでも「Informatica Ultra Messaging」や、「Aeron」といった製品により、さまざまな興味深い動きがあります。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

注目している大規模言語モデル(LLM)を教えてください

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]