DuckDB

  • PostgreSQL 데이터를 Parquet로 이관하는 Cold Storage 파이프라인

    처음에는 애플리케이션에서 SELECT 결과를 읽어 Parquet 파일로 쓰려고 했습니다. 데이터가 적을 때는 잘 동작했습니다. 범위가 커지자 모든 직렬화와 전송이 애플리케이션을 통과했습니다. Migration Job의 메모리 사용량과 실행 시간이 데이터량에 따라 크게 흔들렸습니다. Cold Storage의 목적은 단순히 파일 하나를 만드는 것이 아니었습니다. 이관이 끝난 범위는 온라인 PostgreSQL에서 정리해야…

    읽기 →

  • 실시간·Hot·Cold 3계층 데이터 아키텍처를 설계한 이유

    시간 순서로 쌓이는 이벤트 데이터도 시간이 지나면 접근 빈도와 갱신 방식이 달라집니다. 수집 직후에는 새 데이터가 계속 들어오고 상태가 갱신되지만, 최근 며칠 또는 몇 주의 데이터는 화면 조회와 통계에서 반복해서 읽힙니다. 수개월이 지난 데이터는 거의 조회되지 않지만 감사, 장기 통계, 파일 내보내기를 위해 보관해야 합니다. 초기에는…

    읽기 →