Data Flow 기반 시스템간 대용량 데이터 전송 자동화
Data Flow 기반 시스템간 대용량 데이터 전송 자동화
개요
Data Flow는 다양한 데이터 소스로부터 데이터를 추출하고, 스트림/배치 데이터의 변환/전송에 대한 처리 흐름을 시각적으로 작성하는 데이터 처리 흐름 도구로, 오픈소스 Apache NiFi를 제공합니다.
Samsung Cloud Platform의 Kubernetes Engine 클러스터 환경에서 단독으로 사용하거나, 다른 애플리케이션 소프트웨어와 함께 사용할 수 있습니다.
아키텍처 다이어그램
System Manger는 시스템간 데이터의 수집, 변환, 전송 처리 자동화 수행을 위해 Data Flow 서비스를 신청합니다.
Data Engineer는 Flow Manager를 통해 Data Flow 서비스의 설정을 수정하고 추가적인 Custom 프로세서 배포 및 Flow Template 파일을 관리 할 수 있습니다.
Data Flow 서비스는 Apache NiFi를 기반으로 GUI를 통해 다양한 프로세서들의 Flow의 작성 및 스케줄링이 가능하고 데이터 처리 흐름을 시각적으로 확인 할 수 있습니다.
- 또한 NiFi Registry를 사용하여 NiFi에서 작성한 Flow의 버전 관리 및 복원 기능을 사용할 수 있습니다.
- 또한 NiFi Registry를 사용하여 NiFi에서 작성한 Flow의 버전 관리 및 복원 기능을 사용할 수 있습니다.
수집, 변환된 데이터는 Cloud Hadoop(HDFS), PostgreSQL(DBaaS), Object Storage 등에 전송되어 저장할 수 있습니다.
사용 사례
다양한 데이터 소스간의 데이터 전송
다양한 데이터 소스로부터 원하는 다양한 타겟으로 대용량 데이터를 처리/전송 할 수 있습니다. (File, NoSQL, RDB, HDFS, JMS, FTP, SFTP, Kafka, HTTP(s) REST 등)
실시간 데이터흐름 제어
데이터 처리과정에 대하여 Flow 파일로 실시간 데이터처리단계를 확인할 수 있으며, 오류처리 케이스도 설계하여 데이터전송흐름을 제어할 수 있습니다.
GUI 기반 데이터 처리 Flow 작성
이미 정의된 데이터 처리 프로세서를 사용하여 GUI 기반 Drag and Drop 을 통해 데이터 추출/변환/전송 작업을 코딩 없이 작성할 수 있습니다.
Gallery 기반 Flow Template 관리
Flow Manager 내 사용성이 높은 Flow Template을 초기 제공하고 있으며 사용자가 추가로 Custom Flow Template을 등록, 배포할 수 있습니다.
선결 사항
없음
제약 사항
없음
고려 사항
Data Flow 사용을 위해 클러스터 내 Ingress Controller가 존재해야 합니다.
관련 서비스
본 가이드에서 설명하는 기능 또는 구성과 연결되는 Samsung Cloud Platform의 서비스 목록입니다. 서비스 선택 및 설계 시에 참고하세요.
| 서비스군 | 서비스 | 상세 설명 |
|---|---|---|
| Container | Kubernetes Engine | Kubernetes 컨테이너 오케스트레이션 서비스 |
| Storage | File Storage | 네트워크 연결을 통하여 다수의 클라이언트 서버가 파일을 공유하는 스토리지 |
| Storage | Object Storage | 데이터 저장 및 검색에 용이한 객체 스토리지 |
| Networking | VPC | 클라우드 환경에서 독립된 가상 네트워크를 제공하는 서비스 |
| Networking | Security Group | VM의 트래픽을 제어하는 가상 방화벽 |
| Networking | Load Balancer | 서버 트래픽 부하를 자동으로 분산하는 서비스 |
| Data Analytics | Data Ops | 데이터 처리 작업을 위한 워크플로우를 작성하고 작업 수행을 자동화하는 서비스 |
