Evolve logo オンデマンド配信 Evolve 2023 Tokyo|AI、データと分析の先進事例を紹介
  • Cloudera Cloudera
  • Apache Nifi

    リアルタイム統合データロジスティクスと、シンプルなイベント処理プラットフォーム

    Apache NiFi によって、異種のデータソースやシステム間でのデータの移動を自動化し、高速で容易、そしてセキュアなデータの取り込みが可能になります。

    Apache NiFi の機能

    Apache NiFi は、異種のシステム間のデータ移行を自動化する、統合データロジスティクスプラットフォームです。NiFi のリアルタイムコントロールによって、あらゆるソースの移動の容易な管理が可能になります。NiFi は、フォーマットやスキーマ、プロトコル、マシンのスピードやサイズ、地理位置情報デバイス、クリックストリーム、ファイル、ソーシャルフィード、ログファイル、ビデオなど、データソースの違いに依存することなく、異種の分散したソースをサポートすることができます。これは、Fedex や UPS、あるいは宅配サービスが荷物を移動させるように、自由に構成可能なデータを移動させるための配管のようなものです。これらのサービスで配達状況を追跡できるのと同様に、NiFi によってデータをリアルタイムで追跡することができます。

    Apache NiFi は、過去8年間にわたり NSA で大規模な開発が行われ使用されてきた「Niagara Files」と呼ばれるテクノロジーを基礎にしたもので、その後 NSA Technology Transfer Program によって、Apache Software Foundation でも利用できるようになりました。そのため NiFi は、Raspberry Pi のような小型軽量のネットワークエッジデバイスから、エンタープライズデータクラスタやクラウド環境に至るまで、現場の広範なデバイスに柔軟かつ迅速に適用できるよう、当初から設計されています。Apache NiFi はまた、通信やデータ配信に影響およぼす可能性がある流動的なネットワークの接続にも、動的に対応できるようになっています。

    Nifi 概要

    データフローという言葉は、さまざまな状況で使用されますが、ここではシステム間の自動的でマネージドな情報のフローを意味します。これは、複数のシステムが存在する企業で、あるシステムはデータを生成し、別のシステムがそれを利用するという状況において以前から存在していた問題です。このような問題やソリューションのパターンは、広く議論され明確になってきました。総合的ですぐに利用できるフォームは、 Enterprise Integration Patterns [eip]にあります。データフローに関する主な課題は、次のようになります:

    システム障害

    ネットワーク障害、ディスク障害、ソフトウェアのクラッシュ、人為的ミス。

    データアクセスのキャパシティ超過

    特定のデータソースによって、一部の処理や配信チェーンに問題が発生する場合があります。1つの問題が全体の足を引っ張るという状態です。

    境界条件は単なる「提案」に過ぎない

    大きすぎる、小さすぎる、速やすぎる、遅すぎる、破損している、誤っている、あるいはフォーマットが誤っているデータが入ってくることは日常のできごとです。

    ある日ノイズだったものがシグナルに変わる

    企業の優先順位は、一瞬で変わります。新しいフローと既存のフローに対する変更を迅速に行うことが可能でなければなりません。

    システムは異なる速度で進化する

    既存のシステムに使用されているプロトコルやフォーマットは、いつでも変更される可能性があり、それはシステムの事情に関係なく発生するものです。お互いが緩やかに、あるいはまったく関連なしに動作するよう設計されたコンポーネントで構成された大規模な分散システムであっても、Dataflow を使用することで相互に接続できるようになります。

    コンプライアンスとセキュリティ

    法律や規制、そしてポリシーは常に変化します。企業間の契約も変わります。システムとシステム、システムとユーザーの間のやり取りは、安全で信頼性の高い責任あるものでなければなりません。

    業務における継続的な改善

    多くの場合、ラボの中では業務に近い環境を複製することさえできません。

    長年の間、dataflow はアーキテクチャーの必要悪の1つでした。しかし今では、dataflow が企業から大きな関心を引き、成功に不可欠なものとする、さまざまな活動や急速な進展が見られます。これらの中には、サービスオリエンテッドアーキテクチャー [soa]やAPI の台頭 [api][api2]、モノのインターネット [iot]、ビッグデータ [bigdata] といったものがあります。さらに、コンプライアンスやプライバシー、セキュリティの重要性がますます高まっています。このような新しい概念が登場しても、dataflow のパターンやニーズが大きく変わることはありません。基本的な違いは、複雑さの範囲、適応に必要な変化の割合、および大規模なエッジの利用が一般的になったことです。NiFi は、このような最新の dataflow の課題の解決に向けて構築されたものです。

    基本的なコンセプト

    NiFi の基本的な設計コンセプトは、フローベースプログラミング [FBP] の主要なアイデアと密接に関連しています。以下でNiFi の主なコンセプトと、FBP との比較結果について悦明します:

    NiFi Term FBP Term Description
    FlowFile Information Packet  A FlowFile represents each object moving through the system and for each one, NiFi keeps track of a map of key/value pair attribute strings and its associated content of zero or more bytes.
    FlowFile Processor Black Box  Processors actually perform the work. In [eip] terms a processor is doing some combination of data Routing, Transformation, or Mediation between systems. Processors have access to attributes of a given FlowFile and its content stream. Processors can operate on zero or more FlowFiles in a given unit of work and either commit that work or rollback.
    Connection Bounded Buffer Connections provide the actual linkage between processors. These act as queues and allow various processes to interact at differing rates. These queues then can be prioritized dynamically and can have upper bounds on load, which enable back pressure.
    Flow Controller Scheduler  The Flow Controller maintains the knowledge of how processes actually connect and manages the threads and allocations thereof which all processes use. The Flow Controller acts as the broker facilitating the exchange of FlowFiles between processors.
    Process Group Subnet  A Process Group is a specific set of processes and their connections, which can receive data via input ports and send data out via output ports. In this manner process groups allow creation of entirely new components simply by composition of other components.

    Your form submission has failed.

    This may have been caused by one of the following:

    • Your request timed out
    • A plugin/browser extension blocked the submission. If you have an ad blocking plugin please disable it and close this message to reload the page.