데이터ㆍ분석 / 오픈소스 / 클라우드

스트리밍 데이터 플랫폼을 선택하는 방법

Martin Heller | InfoWorld 2022.02.28
스트리밍 데이터는 보통 센서, 서버 로그와 같은 수많은 데이터 소스에 의해 지속적으로 생성된다. 스트리밍 데이터 레코드는 대체로 작아서 각각 몇 킬로바이트에 불과하지만, 수가 많고 끊임없이 이어진다. 여기서는 스트리밍 데이터에 대한 기본 정보와 함께 스트리밍 데이터 플랫폼을 선택하는 방법을 알아본다. 
 
ⓒ Getty Images Bank
 

스트리밍 데이터 플랫폼은 어떤 식으로 움직이는가? 

흡수(Ingesttion) 및 데이터 내보내기(Export). 일반적으로 데이터 흡수와 데이터 내보내기는 모두 외부 시스템에 특화된 데이터 커넥터에 의해 처리된다. 경우에 따라서는 목적지에 맞게 데이터를 재정렬, 정제, 조절하기 위해 ETL(extract, transform, load 추출, 변환, 로드) 또는 ELT(extract, load, transform, 추출, 로드 및 변환) 프로세스가 사용되기도 한다. 

스트리밍 데이터 흡수에서는 보통 여러 소스, 경우에 따라 수천 개의 소스에 의해 생성되는 데이터를 읽어 들인다. 예를 들어 IoT 디바이스가 여기에 해당된다. 데이터 내보내기는 심층 분석과 머신러닝을 위해 데이터 웨어하우스 또는 데이터 레이크를 대상으로 하기도 한다. 

게시/구독과 주제. 아파치 카프카(Kafka), 아파치 펄사(Pulsar)를 포함한 많은 스트리밍 데이터 플랫폼은 데이터가 주제별로 구성되는 게시 및 구독 모델을 사용한다. 흡수된 데이터에는 하나 이상의 주제가 태깅되어 해당 주제를 구독하는 클라이언트가 데이터를 받을 수 있다. 온라인 뉴스 게시를 예로 들면, 정치인의 연설에 대한 기사라면 속보, 미국 뉴스, 정치 태그가 달릴 수 있고, 그러면 페이지 레이아웃 소프트웨어는 섹션 편집자(사람)의 감독 하에 각 해당 섹션에 이 기사를 포함한다. 

데이터 분석. 데이터 스트리밍 플랫폼에서 분석을 수행할 수 있는 기회는 일반적으로 파이프라인의 두 지점에 있다. 첫 번째 지점은 실시간 스트림 부분, 두 번째 지점은 영구적 엔드포인트다. 예를 들어 카프카의 스트림(Streams) API에는 간단한 실시간 분석 기능이 있고, 더 복잡한 실시간 계산에는 아파치 삼자(Samza) 또는 다른 분석 프로세서를 호출할 수도 있다. 데이터가 영구 데이터 저장소에 게시된 다음에는 분석과 머신러닝을 위한 부가적인 기회도 있다. 이 처리 작업은 근실시간 또는 주기적인 일괄 프로세스로 실행될 수 있다. 

맞춤형 프로그램을 사용해 스트리밍 데이터 레코드를 분석하기 위해 AWS 람다와 같은 서버리스 함수를 데이터 스트림에 사용할 수 있다. 서버리스 함수는 아파치 플링크(Flink)와 같은 스트림 분석 프로세서의 대안이다. 

클러스터링. 개발 및 테스트 환경을 제외하고 데이터 스트리밍 플랫폼이 단일 인스턴스인 경우는 거의 없다. 프로덕션 스트리밍 플랫폼은 확장성이 필요하므로 일반적으로 노드 클러스터로 실행된다. 클라우드 이벤트 스트리밍에서 이를 구현하기 위한 최신 방법은 컨플루언트(Confluent) 클라우드와 같은 탄력적 서버리스 플랫폼을 사용하는 것이다. 
 

스트리밍 사용례 

오픈소스 카프카 문서에는 다음과 같은 사용례가 나와 있다. 
 

회원 전용 콘텐츠입니다. 이 기사를 더 읽으시려면 로그인 이 필요합니다. 아직 회원이 아니신 분은 '회원가입' 을 해주십시오.

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.