대규모 LLM 기반 SQL 마이그레이션 프레임워크
초록
본 논문은 Oracle PL/SQL에서 PostgreSQL PL/pgSQL로의 코드베이스 마이그레이션을 자동화하기 위해, 두 단계의 파인튜닝과 인간‑인‑루프 피드백을 결합한 LLM 기반 프레임워크를 제안한다. 하이브리드 코드 특징 프로파일링 엔진(HCFPE)으로 데이터셋을 구조화하고, RAG와 전략적 지식베이스를 활용해 변환 정확도와 오류 감소를 실현한다. 실험 결과 구문 오류율이 크게 낮아졌으며, 반복적 학습 사이클을 통해 기능 정렬과 의미 보존이 향상되었다.
상세 분석
이 연구는 기존 스키마 변환 도구가 제공하지 못하는 절차적 로직, 트리거, 동적 SQL 등 복합적인 PL/SQL 요소를 다루기 위해 두 단계 파인튜닝 방식을 채택한다. 첫 번째 단계에서는 Oracle과 PostgreSQL의 구문을 자연어 설명 형태로 매핑하는 데이터셋을 이용해 모델이 언어 구조를 학습하도록 한다. 이는 모델이 단순 문자열 치환을 넘어 구문적 패턴과 타입 체계를 이해하도록 돕는다. 두 번째 단계에서는 실제 코드 변환 쌍을 제공해 변환 능력을 강화한다. 이러한 단계적 접근은 초기 구문 오류를 최소화하고, 의미적 드리프트를 방지한다는 점에서 의미가 크다.
데이터셋 구축 과정에서 HCFPE는 코드 조각을 구문 마커, 흐름 제어, 데이터 타입 등 메타정보로 라벨링한다. 이 메타데이터는 정형화된 벡터 스토어에 저장돼 RAG 단계에서 유사도 검색에 활용된다. 전략 A와 전략 B라는 두 가지 지식베이스 아키텍처를 비교함으로써, 다중 출처(Oracle 코드, PostgreSQL 문서, SME 규칙)와 단일 예시 기반 검색의 장단점을 실험적으로 검증한다. 전략 A는 복합적인 컨텍스트를 제공해 희귀 기능 변환에 강점이 있지만 관리 복잡도가 높다. 반면 전략 B는 단일 벡터 DB로 구현이 간단하고 검색 속도가 빠르지만, 데이터셋 커버리지가 부족하면 변환 정확도가 떨어진다.
인간‑인‑루프 피드백은 오류 분석 모듈이 구문·의미·구조·기능 네 가지 카테고리로 오류를 분류하고, SME가 선택적으로 개입하도록 설계되었다. SME의 의견은 새로운 샘플 생성, 라벨링 수정, 프롬프트 조정 등에 반영돼 다음 파인튜닝 사이클에 투입된다. 이 폐쇄형 반복 로직은 오류 패턴을 점진적으로 감소시키며, 최종 모델이 단순 번역기가 아니라 SQL 방언 간 논리적 추론 엔진으로 기능하도록 만든다.
실험에서는 BLEU, CHRF와 같은 자동 평가 지표뿐 아니라 SQL 정적 분석기와 PL/pgSQL 실행 검증을 통해 구문 정확도와 실행 가능성을 동시에 측정했다. 결과적으로 구문 오류율(SER)이 기존 도구 대비 60 % 이상 감소했으며, 기능 정렬 점수도 유의미하게 상승했다. 이러한 성과는 파인튜닝과 RAG, 인간‑인‑루프가 결합된 통합 파이프라인이 대규모 데이터베이스 마이그레이션에 실용적임을 입증한다.
댓글 및 학술 토론
Loading comments...
의견 남기기