본문 바로가기

Data & Database

NiFi 개요와 특징

NiFi는 NSA(National Security)에서 Apache에 기증한 DataflAgencyow 엔진입니다.

NiFi 장점

Dataflow를 쉽게 개발할 수 있고, 시스템 간의 데이터 이동과 내용을 UI로 볼 수 있다
실시간 데이터 전송에 필요한 기능 제공
데이터 추적 가능
오픈 소스
여러 시스템 간 통신을 지원
Multi-tenant( 여러 조직이 자원을 공유 ) 지원

NiFi 단점

배치 작업을 잘 못함, 원본 소스의 파일들이 목적지에 잘 전달 되었는지 확인하기 힘듦
현재 실행되는 내용을 확인할 수 없으며, 끝나고 성공 여부만 알 수 있음
복잡한 연산을 잘 못하지만 Spark, Storm 등과 연동 가능

구성 요소

Processor

특정 업무, 기능 단위로 묶은 것
InputOutput 포트를 제공해 Process Group간 데이터 이동이 가능

Connection

Processor 간의 연결
대기열, 라우팅, 처리량 제한, 우선순위 제어, 모니터링 등의 기능을 제공

FlowFile

데이터를 표현하는 객체, 데이터 단위
데이터와 데이터 속성으로 구성됨
/값 형태로 저장
Processor를 이동할 때 마다 metadata를 복사해 추적이 가능

프로세스 연결 방법

프로세서의 중앙에 화살표 아이콘을 드래그 해서 다른 프로세스와 연결 할 수 있다

NiFi 아키텍처

Web Server
HTTP 기반 요청 및 API 관리
Flow Controller
Processor 작업 스케쥴러 역할 수행
Extension
기본 제공 외 개발자가 Process를 개발해 확장 가능
FlowFile Repository
FlowFile의 속성과 상태값을 저장하는 곳
Content Repository
FlowFile
의 데이터가 저장되며, 용량이 큰 데이터를 저장할 수 있다
Provenance Repository
Processor
가 처리될 때 마다 FlowFile의 이력이 저장되는 곳

'Data & Database' 카테고리의 다른 글

Snowflake 개요 및 특징  (2) 2023.11.19
Chart.js로 데이터 시각화하기  (0) 2023.11.15
Kafka와 Spark의 차이점 & 유사점  (0) 2023.11.13
Spark의 개요 및 특징  (0) 2023.11.11
Kafka 개요 및 특징  (0) 2023.11.10