Apache NIFI 장점
- live batch streaming
- guaranteed delivery
- flow file 기반으로 누락없는 전송을 보장함
- 데이터 버퍼링
- 백 프레셔 관리 가능
Apache NIFI 우려사항
- 실제 데이터가 커짐에 따라 GUI 및 트랙킹이 귀찮은 면이 있음
- zoo keeper 필요함
NIFI 가 가장 잘 쓰일 수 있는 요건
- 자원 효율적, NRT 로 데이터를 A 에서 B 로 옮김
Apache Airflow 장점
- workflow 를 코드로 관리 가능
- task 의존성 관리
Apache Airflow 우려사항
- worker 의 ETL 성능
- airflow 는 workflow 엔진, ETL 처리 엔진은 x ?
Airflow 가 가장 잘 쓰일 수 있는 요건
- Airflow 클러스터 외부 시스템에서 ETL 이 처리되고 Airflow 는 workflow 관리만 하는 형태
고민의 지점
- GUI 형태로 process 를 만들고 직접 UI 상에서 개발/디버깅을 해야 하는 NIFI 대비 파이썬 코드로 DAG, Operator 를 관리할 수 있는 Airflow 가 더 우위 ?
- 다만 Airflow 는 NIFI 대비 장비 효율적인 성능이 나올지는 확인이 필요. Airflow 는 workflow 관리 자체에 의미를 두고 실제 실행은 클러스터 외부에서 (hive/spark) 수행되는 아키텍처에 가장 적합 ? 직접 끊임없이 데이터를 공급받아 ETL 을 태워야 하는 곳에는 NIFI 가 더 적합 ?
원문 : http://www.kwangsiklee.com/2022/01/%EC%A7%A7%EC%9D%80-%EC%83%9D%EA%B0%81-airflow-vs-nifi/