목록 보기
폐쇄망 환경에서 대용량 데이터를 Python과 SQLite로 결합하기
백엔드

폐쇄망 환경에서 대용량 데이터를 Python과 SQLite로 결합하기

CSLEE
CSLEE
2026년 10월 14일

두줄요약

폐쇄망 분석실에서 Python과 SQLite로 약 19.8억 행의 SAS 데이터를 월별로 적재·정제했습니다. 색인과 PRAGMA를 작업별로 조정하고 조인 팬아웃을 검증하는 방법을 설명합니다.

문제 상황

  • 인터넷·도구 설치가 차단된 분석실에서 SAS 원본 약 19.8억 행의 적재·결합 필요
  • Python 3.8 내장 SQLite와 제한된 메모리 환경, 오래된 SQLite 버전 제약

구조와 흐름

  • 월별 SAS 파일을 하나씩 읽어 대상 컬럼과 대상자·명세서 키 기준 행만 SQLite에 적재
  • 원본 SAS 파일 보존, 적재 테이블과 정제 테이블 분리, 연월 단위 재시작 구조
  • 손상 파일 대상 일반 읽기·청크 읽기·인코딩 변경의 단계별 폴백

성능/운영 포인트

  • 적재 완료 후 조인 키·필터 키 중심의 색인 일괄 생성과 EXPLAIN QUERY PLAN 검증
  • 적재·조회와 대형 색인 생성 단계별 SQLite PRAGMA 분리
  • WAL, 캐시 크기, temp_store 조정과 정제 규칙 재실행 가능한 적재 원본 보존

주의할 점

  • 청크 읽기의 손상 레코드 건너뜀에 따른 유실 행 로그와 완료 연월 별도 기록 필요
  • 조인 전후 행 수 비교로 기관 이력 테이블의 팬아웃 검증
  • 윈도 함수 미지원 환경의 MAX 기반 대표 행 선택 시 최신 시점 동률 여부 점검

다음 읽기

비슷한 주제의 AI 글

Inner Loop 엔지니어링으로 본 Deep Insight Chatbot – 대화형 분석 챗봇의 4가지 설계 결정

Deep Insight의 Inner Loop 챗봇 설계에서 데이터 보호, 속도, 신뢰성, 비용을 맞추는 4가지 결정을 정리했습니다. DuckDB 샌드박싱과 세션 단위 OLAP 상주, SQL 투명성, prompt cache로 대화형 분석 도구를 구현했습니다.

AWS
AWS
AI
전체 보기

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...