Apache Parquet - 열 기반 포맷의 내부 구조
이전 글에서는 행 기반과 열 기반의 차이를 살펴봤습니다. 열 기반이 분석에 유리한 이유는 필요한 컬럼만 읽고, CPU 캐시와 SIMD를 활용할 수 있기 때문입니다.
데이터 엔지니어의 기술 블로그
69개의 글
이전 글에서는 행 기반과 열 기반의 차이를 살펴봤습니다. 열 기반이 분석에 유리한 이유는 필요한 컬럼만 읽고, CPU 캐시와 SIMD를 활용할 수 있기 때문입니다.
지난 글에서는 Protobuf의 Wire Format을 바이트 단위로 뜯어보며, 필드 이름 대신 숫자 태그를 쓰고 값을 가변 길이 정수(Varint)로 인코딩하는 방식이 JSON 대비 얼마나 효율적인지 확인했습니다. 그리고 Protobuf를 행(Row) 기반 처리의 표...
지난 1편에서는 데이터 시스템이 커질수록 직렬화 비용이 필연적인 병목이 된다는 점을 이야기했습니다. 초당 수백만 건의 이벤트를 처리해야 하는 환경에서, 범용적인 JSON은 '가독성'을 얻는 대신 CPU와 네트워크 비용을 비싸게 치르게 됩니다.
데이터 시스템의 규모가 커지면 직렬화(Serialization) 비용이 필연적으로 병목이 됩니다. 초당 수십만~수백만 건의 이벤트를 다루는 환경에서 JSON은 가독성이라는 장점이 있지만, CPU와 네트워크 부하가 빠르게 누적되기 때문입니다.
2025년은 제게 편안한 자리를 떠나 다시 배우는 자리를 고른 해였습니다.
이전 글에서는 MCP(Model Context Protocol)가 무엇인지, 그리고 Python SDK로 간단한 MCP 서버를 만들고 연동하는 방법을 정리했습니다. MCP 서버를 한 번이라도 실행해 보면 자연스럽게 이런 질문이 따라옵니다. “내가 만든 이 파이썬 MCP...
데이터 레이크(Data Lake)가 처음 등장했을 때, 우리는 모든 데이터를 한곳에 모으기만 하면 자연스럽게 가치가 만들어질 것이라고 기대했습니다. 하지만 현실은 조금 달랐습니다. 검증되지 않은 데이터가 무작정 쌓이면서 레이크는 금세 ‘데이터 늪(Data Swamp)’...
현대의 대부분 소프트웨어는 단순한 웹 페이지를 렌더링하는 수준을 넘어서, 많은 양의 데이터를 지속적으로 저장하고, 조회하고, 전달하고, 변환해야 합니다. SNS 피드, 쇼핑몰 추천, 실시간 분석, 로그 수집, 금융 거래 시스템까지 이 모든 서비스의 근본적인 어려움은 “...
데이터 엔지니어링은 다양한 요구사항에 맞춰 데이터 파이프라인을 설계합니다. 각 회사가 자주 사용하는 방식은 자사 소스의 특성과 운영 환경에 최적화되어 있으며, 이를 추상화해 다른 요구사항에도 재사용하곤 합니다.
2025년 10월 22일에 제4회 Airflow 커뮤니티 밋업이 열렸습니다. 데이터 엔지니어라면 누구나 한 번쯤은 Airflow를 다뤄봤을 겁니다. 다만, 처음 배운 뒤로는 Airflow를 배치 파이프라인 실행기 정도로만 여겨왔고, 점점 발전해온 기능 변화에는 무심했습...