반응형

RealTimeAnalytics 4

[Apache Flink] 7. [심화] 복합 이벤트 처리(CEP): 실시간 사기 탐지(FDS) 시스템 구축하기

안녕하세요!지난 6편에서는 복잡한 스트리밍 로직을 우아한 SQL 문법으로 풀어내는 마법, 그리고 시계열 조인(Temporal Table Join)에 대해 알아보았습니다. 이제 여러분은 흐르는 데이터의 통계를 내고 집계하는 작업의 달인이 되셨습니다.하지만, 비즈니스 현장에서는 단순한 '통계' 이상의 능력을 요구할 때가 많습니다. "최근 1시간 총매출"을 구하는 건 SQL이나 Window API로 충분하지만, 다음과 같은 시나리오는 어떨까요?"어떤 유저가 ①비밀번호를 3회 연속 틀린 후, ②5분 이내에 성공적으로 로그인해서, ③평소와 다른 IP로 100만 원 이상을 결제하면 즉시 계정을 동결해라!"이것은 데이터의 합계나 평균을 구하는 문제가 아닙니다. 시간의 흐름에 따라 발생하는 이벤트들 사이의 '인과관계'..

[Apache Flink] 6. [분석] 배치를 스트리밍처럼, 스트리밍을 배치처럼: Flink SQL & Table API

안녕하세요!지난 5편까지 우리는 시간(Time), 상태(State), 윈도우(Window), 그리고 장애 복구(Checkpoint)까지 Flink의 핵심 내부 엔진을 모두 분해하고 조립해 보았습니다. 진정한 하드코어 데이터 엔지니어링의 세계였죠.그런데 지금까지 배운 내용들을 Java나 Scala 코드로 직접 구현하려면 코드가 꽤 길고 복잡해집니다. "스트리밍 데이터도 그냥 RDB 다루듯이 SELECT, JOIN, GROUP BY 같은 표준 SQL로 처리할 순 없을까?"당연히 있습니다! Flink는 복잡한 하위 레벨 API(DataStream API)를 몰라도, 누구나 쉽게 실시간 파이프라인을 구축할 수 있도록 강력한 Table API & Flink SQL을 제공합니다. 오늘은 스트림을 테이블처럼 다루는 ..

[Apache Flink] 1. [서론] 왜 Flink인가? Micro-batch(Spark) vs True Streaming(Flink)

안녕하세요! 지금까지 우리는 Spark를 통해 거대한 데이터를 요리하는 법을 배웠습니다. 그런데 혹시 이런 의문이 들지 않으셨나요?"Spark도 실시간 처리(Spark Streaming)가 된다던데, 왜 다들 찐(True) 실시간 처리를 하려면 Flink를 써야 한다고 말하는 걸까?"1초의 지연도 수백만 원의 손실로 이어지는 금융권의 이상 거래 탐지(FDS), 수백만 명의 유저가 동시에 접속하는 게임의 실시간 랭킹 시스템, 클릭하는 즉시 상품이 바뀌는 맞춤형 추천 시스템.이런 극단적인 초실시간(Real-time) 환경에서는 기존의 도구들이 한계를 드러냅니다.오늘부터 시작하는 새로운 연재, 그 첫 번째 시간으로 왜 우리가 Apache Flink라는 새로운 세계로 넘어가야 하는지 그 근본적인 이유와 핵심 아..

[초실시간 데이터 아키텍처] Apache Flink 완벽 정복: Spark의 한계를 넘는 True Streaming 가이드

안녕하세요!데이터 엔지니어링의 끝판왕, '초실시간(Real-time) 스트리밍'의 세계로 오신 것을 환영합니다! Spark Streaming이 훌륭한 도구이긴 하지만, 태생적으로 데이터를 잘게 쪼개어 처리하는 '마이크로 배치(Micro-batch)' 방식이기에 수 초의 지연(Latency)이 발생합니다.하지만 금융권의 이상 거래 탐지(FDS), 초당 수백만 건이 발생하는 클릭 로그 분석, 실시간 추천 시스템에서는 밀리초(ms) 단위의 반응 속도가 필요합니다. 이때 혜성처럼 등장해 업계 표준으로 자리 잡은 진정한 스트리밍 엔진, Apache Flink의 모든 것을 바닥부터 최상위 운영 노하우까지 낱낱이 파헤쳐 보겠습니다.📋 Apache Flink 연재 시리즈 리포트제1편. [서론] 왜 Flink인가? M..

반응형