데이터엔지니어링
-
카프카를 탄생시킨 핵심 설계 원칙: 2011 NetDB 논문과 초고처리량 아키텍처ARCHIVE 2026. 10. 10. 09:02
참고: 2011년 아테네에서 열린 ACM SIGOPS NetDB 워크숍에서 제이 크렙스(Jay Kreps), 네하 나르케데(Neha Narkhede), 준 라오(Jun Rao)가 발표한 카프카 창립 논문 "Kafka: a Distributed Messaging System for Log Processing"과 [[코딩하는기술사]]의 아키텍처 분석 강의를 바탕으로 정리한 기술 분석입니다.📌 핵심 요약2011년 공개된 아파치 카프카(Apache Kafka) 창립 논문은 전통적인 엔터프라이즈 메시지 큐의 무거운 보장(2PC 분산 트랜잭션, 메시지별 영속성, B-Tree 인덱스, 임의 삭제)을 과감히 버리고, 추가 전용 로그(Append-Only Log), 오프셋 기반 주소화, 리눅스 sendfile 제로카피..
-
카프카(Kafka)를 메시지 큐로만 쓰면 안 되는 이유: 'The Log'와 분산 커밋 로그 아키텍처ARCHIVE 2026. 9. 21. 21:14
참고: 본 글은 링크드인(LinkedIn)의 분산 인프라를 설계하고 아파치 카프카(Apache Kafka)를 창시한 제이 크렙스(Jay Kreps)의 기념비적 논고, "The Log: What every software engineer should know about real-time data's unifying abstraction" (2013)의 핵심 통찰을 바탕으로 현대 분산 시스템과 데이터베이스 아키텍처의 기저 원리를 심층 분석합니다.📌 한 줄 요약카프카는 단순한 고성능 메시지 큐가 아니라, 물리적 시계의 불완전성을 논리적 순번(Offset)으로 극복하는 분산 커밋 로그(Distributed Commit Log)이며, $O(N^2)$ 거미줄 파이프라인을 $O(N)$으로 단순화하고 모든 분산 시스..