KB증권 하둡마이그레이션
프로젝트 개요
데이터 분석가를 통해 KB증권에 적재되어있는 데이터 레이크에서 유의미한 인사이트를 지속적으로 도출하기 위해 분석환경 구축프로젝트가 다음과 같이 3가지 프로젝트로 나눠져 병렬로 진행되었습니다.
- 데이터 분석 포탈 개발
- 데이터 마이그레이션
- ModelOps 구축
이 중에 데이터 마이그레이션 프로젝트에 참여하여 배치 전환 개발, 데이터 이관, 배치 스케줄 등록 및 모니터링, 데이터 검증 업무를 진행 하였습니다.
프로젝트 구성
KB증권에 기존 데이터 흐름은 Alteryx에서 Splunk, Hadoop system, TeraDB(2580)에서 데이터를 읽어 드려 전처리, 가공하여 각 시스템에 다시 적재하는 데이터 흐름을 가지고 있습니다. 고객의 니즈는 Hadoop과 Alteryx을 제외하고 Hadoop system, TeraDB(2580)을 TeraDB(IPX)에 병합하여 DW구축을 하고자 하였습니다. Altertyx에서 사용하고 있는 ETL과정은 Python으로 대체하고 해당 배치를 Airflow에서 핸들링 하는 방식을 선택하였습니다.
담당역할
Alteryx WorkFlow 분석
Alteryx의 배치를 Python 배치로 전환 하기 위해 기존에 작성된 ETL 흐름 분석이 필요 하였습니다. 워크플로우 별 Source와 Target을 명확히 작성 후 신규 변경된 Target명을 꼼꼼하게 체크하여 별도 파일로 관리하였습니다.
Python 전환 개발
전환개발 하면서 KB증권내 규격화된 Python Code 지침이 별도로 존재하지 않아 BTEQ의 규격을 참고하여 개발하였습니다. 개발하면서 보다 신경 썼던 부분은 Alteryx의 WorkFlow동일하게 구현 하는 것 이였습니다. 또한 이기종 디비를 조회 할 수 있는 DBLink나 쿼리그리드 등이 구축되어 있지 않아 각각 커넥션을 맺어 Pandas의 Datafram을 활용하여 조인하고 전처리를 진행 하였습니다.
Airflow 배치 스케줄 등록
배치를 개발한 서버내에 Airflow가 설치되어 있지 않고 별도 서버가 존재하여 스케줄 Dag을 작성할 때, 원격접속하여 배치서버를 실행하게 끔 설정하였습니다.
전환 대상 데이터 검증
전환 개발 이후 AS-IS와 TO-BE을 병행 가동하여 각 배치 별로 데이터가 정상적으로 적재 되었는지 검증을 하였습니다. 검증은 크게 일자 별 데이터 수, 데이터 내용으로 구분하였습니다.
- AS-IS 데이터 수, TO-BE 데이터 수가 동일한지
- 한글 데이터 깨짐 없지 출력 되는지
- 테이블의 최소 값, 최대 값, 평균 값, 합계 등 조회 했을 때 동일한지
전환 테이블 대상 데이터 표준화 및 정형화
전환 대상 테이블의 컬럼 중 사내규격에 맞지않는 컬럼명이 다수 존재 하여 ITQM(KB증권 내부전산망)에 도메인, 신규용어 등록 요청 진행하였습니다.
프로젝트 회고
프로젝트를 끝내고 문서를 정리하면서 그 당시에는 파악하지 못했던 내용들 까지 파악하는데 도움이 많이 되었습니다. 또한 폐쇄망 경험, Airflow 배치관리, 규격화된 Code등 많은 것을 경험 할 수 있었고 몇 가지 견해를 작성하면 다음과 같습니다.
- KB증권은 이미 구축되어있던 Hadoop system과 Alteryx을 왜 제외 하고자 했을까?
이미 KB증권은 2021년부터 데이터 분석을 환경을 만들기 위해 DW 구축하는 사업이 선행되어 있는 걸 검색을 통해 알 수 있었습니다. 프로젝트 투입 초반 현업과 회의를 진행하면서 Alteryx, Hadoop의 관리 인력과 인수 인계 된 관련 서류가 대부분이 존재하지 않아 이미 운영에 불만과 어려움을 겪고 있었습니다. 이러한 상황속에서 Alteryx의 라이센스 비용은 계속 지불하고 있었던 점을 이용하여 영업을 잘 하지 않았나 싶습니다.
- DW대상을 왜 TeraDB을 선택 했을까?
가격대비 성능을 최대한 고려 한걸로 추측된다. TeraDB는 Oracle, mySQL보다 데이터를 read 하는 속도가 빠릅니다. 때문에 DW로 부터 데이터를 조회 후 분석하는 분석가에게는 최적의 DB라고 할 수 있습니다. 또한 TERA DB는 INDB방식을 지원하기에 분석포탈의 리소스를 사용하지 않고 서버의 리소스를 사용하기 때문에 분석포탈 운영에 있어 용이 합니다.