반응형

300===Dev Framework/Apache 5

⛓️ 데이터 파이프라인의 뼈대, DAG(Directed Acyclic Graph)

+--------+ +--------+ | Task A |----->| Task B | +--------+ +--------+ | | | | v v +--------+ +--------+ | Task C |----->| Task D | +--------+ +--------+ 복잡한 데이터 처리나 분산 시스템 작업을 코딩하다 보면, 어느 작업이 먼저 실행되어야 하는지 순서가 꼬여버린 경험, 다들 한 번쯤 있으시죠? 태스크 A의 결과가 B와 C에 필요하고,..

Apache Flink - 실시간 데이터 처리의 혁명 🚀

여러분은 넷플릭스를 보다가 갑자기 "이런 영화도 좋아하실 것 같아요!"라는 추천을 받아본 적이 있나요? 🎬 또는 온라인 쇼핑을 하다가 신용카드 사기를 막아준 보안 시스템을 경험해보셨나요? 이 모든 것이 바로 실시간 스트림 처리의 마법입니다! 그리고 그 중심에는 Apache Flink가 있죠. 오늘은 실시간 스트림 처리와 배치 처리를 통합한 분산 처리 엔진인 Apache Flink에 대해 깊이 있게 알아보겠습니다. 마치 요리사가 주문이 들어오자마자 바로 요리를 시작하는 것처럼, Flink는 데이터가 들어오는 즉시 처리를 시작합니다! 등장 배경과거에는 데이터를 모아놓고 한꺼번에 처리하는 배치 처리 방식이 주류였습니다. 마치 빨래를 일주일치 모아서 한 번에 돌리는 것처럼요. 하지만 이런 방식으로는 실시간으로..

Apache Kafka - 실시간 데이터의 택배기사 📦🛵

Kafka가 데이터를 빠르게 배달해주는 택배기사라면, Kafka Streams는 그 데이터를 실시간으로 가공하고 조립하는 마법사라고 할 수 있어요. 그냥 받기만 하는 게 아니라, 받아서 조합하고, 집계하고, 변형해서 새로운 정보로 재탄생시키는 거죠!등장 배경Kafka는 원래 메시지를 저장하고 전달하는 플랫폼이었어요. 그런데 데이터를 받기만 하고 뭔가 유의미한 가공을 하려면 Spark, Flink 같은 복잡한 외부 스트리밍 시스템을 붙여야 했죠 😓Kafka Streams는 Kafka만으로 실시간 데이터 처리를 끝내고 싶은 욕망에서 탄생했어요!Kafka Streams의 탄생 이유:외부 프레임워크 없이 Kafka에서 바로 처리하고 싶다가볍고 쉽고, Java 애플리케이션처럼 개발하고 싶다내장된 상태 기반 처리..

Apache Kafka - 실시간 데이터의 택배기사 📦🛵

"실시간 데이터 스트리밍이 필요할 땐 뭐가 제일 좋을까?"라고 물으면 많은 개발자들이 입을 모아 말하는 이름이 바로 Apache Kafka입니다. 대용량 데이터를 빠르게 처리하면서도 안정성까지 챙긴 Kafka는 마치 실시간으로 데이터를 배달해주는 택배기사 같아요. 한 번에 수천만 건의 데이터를 안전하게 다른 시스템으로 옮겨주죠.등장 배경과거엔 시스템 간 데이터를 주고받을 때 파일을 직접 주고받거나, 데이터베이스 간에 복제하거나, 일일 배치 작업을 돌렸어요. 그런데 이 방식은 느리고, 실시간 처리가 어렵고, 확장성이 떨어지는 문제가 있었죠.Kafka는 LinkedIn에서 처음 개발되어, 실시간 데이터 파이프라인과 스트리밍 앱을 지원하기 위해 만들어졌어요. 이후 오픈소스로 공개되어 전 세계 수많은 기업이 사..

Apache Airflow - 복잡한 데이터 작업을 조율하는 오케스트라 지휘자 🎶

안녕하세요! 👋 데이터 엔지니어링, 머신러닝 파이프라인, ETL 작업 등등... 처리해야 할 작업 흐름이 점점 복잡해지고 있지 않나요? 🤯 마치 수많은 악기 연주자를 이끌어야 하는 오케스트라 지휘자처럼, 이 복잡한 작업들을 어떻게 조화롭게 관리하고 실행할 수 있을까요? 오늘은 바로 이 문제에 대한 멋진 해결책, Apache Airflow에 대해 쉽고 재미있게 알아보겠습니다!등장 배경과거에는 복잡한 작업들을 어떻게 처리했을까요? 🤔 아마 많은 분들이 쉘 스크립트(.sh)를 잔뜩 만들어 크론탭(Crontab) 에 등록해서 사용했을 겁니다.초기: 개별 스크립트를 작성하고, 리눅스의 cron 같은 스케줄러를 이용해 특정 시간에 실행되도록 설정했습니다.문제점:작업 간의 의존성 관리 🔗 (A 작업이 끝나야 ..

728x90
반응형