데이터 마이그레이션 리팩토링 및 자동화 처리를 위한 10단계 가이드

데이터 마이그레이션 시스템은 단순히 데이터를 옮기는 것을 넘어, 데이터의 무결성을 검증하고 사용자의 작업 편의성을 극대화해야 한다.
최근 진행된 마이그레이션 기능의 대대적인 리팩토링 과정을 통해, Excel 파싱 심화 과정과 언어 자동 감지, 그리고 버전별 독립 매핑 시스템 구축에 대한 기술적 성과를 정리하였다.

1. 데이터 마이그레이션 리팩토링의 핵심 전략과 변화

기존의 단일 파일 처리 방식을 넘어, 다중 시트와 다양한 언어가 혼재된 복잡한 데이터를 안정적으로 처리하기 위한 구조적 개선이 이루어졌다.
이번 리팩토링은 데이터 정확도 향상과 사용자 인터페이스(UI)의 직관성 강화에 초점을 맞추었음

2. 다중 시트 대응 Excel 파싱 및 버전 관리 시스템

기존 파싱 로직을 확장하여 Excel 파일의 강력한 기능인 ‘다중 시트’를 효과적으로 활용하도록 구현하였음.

  • parseExcel() 함수 도입: xlsx 라이브러리를 고도화하여 파일 내 모든 시트를 추출하고, 각 시트명을 데이터의 ‘버전’으로 자동 할당하는 로직을 추가하였음.
  • 버전별 독립 매핑 저장: 사용자가 시트(버전)를 변경할 때마다 설정한 필드 매핑 정보가 휘발되지 않도록 독립적인 저장 및 복원 매커니즘을 구현하였음.
  • UI 통합: 분류 단계에서 각 버전별로 탭을 생성하여, 사용자가 여러 버전의 데이터를 한눈에 확인하고 관리할 수 있도록 개선하였음.

이로 인해 대규모 업데이트 시 여러 시트에 분산된 데이터를 한 번에 처리할 수 있는 기반이 마련되었음

3. 지능형 언어 자동 감지 및 무결성 검증 로직

수동으로 언어를 설정해야 했던 번거로움을 줄이기 위해 샘플 데이터 기반의 자동 분석 기능을 도입하였음.

  • detectLanguageFromSamples() 구현: 엑셀의 실제 데이터 행을 2~3줄 분석하여 해당 열이 한국어, 영어, 일본어, 중국어 중 어떤 언어인지 자동으로 판단함.
  • 중복 방지 알고리즘: 매핑 과정에서 동일한 언어 코드가 중복 설정되는 것을 원천 차단하여 데이터 충돌을 방지하였음.
  • 필수 필드 체크: 원문 및 필수 메타데이터가 누락된 경우 작업을 진행할 수 없도록 유효성 검사 로직을 강화하였음.

4. 사용자 경험(UX) 고도화를 위한 인터페이스 개선

사용자가 마이그레이션의 현재 단계를 명확히 인지하고 작업 생산성을 높일 수 있도록 UI 요소를 정제하였음.

  • 단계별 라벨 명확화: 기존 ‘미리보기’ 단계를 ‘필드 매핑’으로 변경하고, 최종 확인 단계를 ‘미리보기’로 재정의하여 작업의 흐름을 논리적으로 배치하였음.
  • 불필요한 정보 제거: 한국어(KO) 열이 원문과 동일한 경우, 중복된 정보를 화면에서 숨겨 시각적 피로도를 줄였음.
  • 피드백 시스템: 오류 발생 시 3초 후 자동으로 사라지는 토스트 알림을 적용하여 작업의 연속성을 방해하지 않으면서도 정보를 전달함.

5. 기술적 안정성을 위한 코드 리팩토링 및 구조 개선

서버와 클라이언트 양측의 코드를 정교하게 다듬어 유지보수성을 확보하였음.

  • API 로직 최적화: preview/route.ts의 처리 로직을 리팩토링하여 대용량 데이터 파싱 시 발생할 수 있는 병목 현상을 해결하였음.
  • 상태 관리 체계화: 페이지 단위의 상태 관리를 컴포넌트 단위로 파편화하지 않고 중앙 집중식으로 개선하여 데이터 일관성을 유지하였음.
  • 에러 핸들링: 비정상적인 파일 포맷이나 매핑 오류 시 발생할 수 있는 런타임 에러를 사전에 차단하는 방어적 코딩을 적용하였음.

6. 자동화 확장 로드맵

이번 리팩토링을 통해 마이그레이션 시스템은 단순한 업로드 도구를 넘어, 데이터 엔진으로서의 면모를 갖추게 되었음.

  • 자동 매핑 AI: 향후에는 컬럼명 유사도를 분석하여 필드를 자동으로 연결해 주는 기능을 추가할 예정임.
  • 실시간 검증: 업로드와 동시에 데이터의 오류(오타, 포맷 불일치)를 실시간으로 교정하는 기능을 검토 중임.

댓글 남기기