• 프로젝트 시작 반년, 회고

    2024. 1. 9. 12:03

    by. 위지원

    난 2023년 6월 7일에 현재 프로젝트에 투입되었다. 역할은 이행 DBA 겸 데이터엔지니어였다.

    그리고 현재 반년이 지났고, 어느 정도 안정화가 되었다. 정말 힘들고, 온몸에 식은땀이 흐르는 하루하루를 보냈다. 때문에 한 겨울에도 계속 반팔을 입었다.

    지난번에는 검증역할이라 모두가 끝난 뒤에 작업하는 일이었지만 이번에는 stage에 적재하는 선이행이라는 역할이 컸기에 모두가 나를 기다리고 있었고, 나의 실수는 곧 모든 팀원들에게 영향이 갔기 때문에 지난 프로젝트에 비해 땀이 100억 배는 더 낫고 부담감이 컸다..(이행할 때마다 울고 싶었다 ㅠㅠ)

    사실 눈물인지 땀인지 모르겠었다


    처음엔 DBA란 룰이 좀 겁이 났다. 내가 생각한 DBA=쿼리전문가란 생각도 있었고, EDB라는 생소한 데이터베이스를 사용했기 때문이었다. 그러나 이제와 생각하지만 이건 아주 작은 걱정이었다.

    더 큰 산이 있었다. 바로 Sybase라는 DB였다. 언어로 치면.. 오라클이 python이라면 sybase는 c언어 같았다. sybase ase 버전이었는데 정말 있는 게 없었다.  참고할만한 게시글이나 스택오버도 크게 없었다.. 있어봤자 iq 버전이었다. postgresql로 몇 분이면 짜는 것을 하루종일 걸렸다(물론 내가 실력이 좋지 못한 이유도 있다)

    화가 나기도 했고, 허탈하기도 했으며, 또 그만큼 어려운 산을 넘은 기분이라서 뿌듯함도 컸다 🤣

    이기종 디비 이행은 참 고행이 많았다. 이 전 프로젝트에서는 단순 검증을 맡았다면 이번엔 직접 이행을 하다 보니 데이터 크기, 타입 등 디비 간 다르게 정의되고 다뤄지는 부분들에서 이슈가 많았다.

    이러한 이슈들을 다루는 것이 첫 번째 과제였다.

    내가 느낀 가장 큰 고행은 개행문자였는데, 이행툴에서 개행문자를 내 생각과는 다르게 인식하는 이슈가 있어 해당 데이터를 찾는 게 무척 어려웠다.

    처음에는 요령이 없어서 수백에서 수천, 억 건에 달하는 데이터를 계속 반으로 쪼개면서 해당 row를 찾기 위해 계속해서 반복했다. 계속 반복을 하다 보니 이젠 이 칼럼에서 개행문자 문제가 발생했겠구나? 하고 처음보다는 처리속도가 매우 빨라졌다 :) 그래도 처음엔 너무 힘들었다...🥲

    이행에는 ETL 툴을 사용하였는데, 해당 툴도 처음 써보다 보니 뚝딱뚝딱 거리는 점도 많았고 쉬운 길을 돌아가는 행동도 여러 번 했다. 다행히 해당 툴 경험이 많으셨던 수석님께서 도움을 많이 주셔서 여러 번 내 목숨을 구해주셨다 🤣🤣 저번 플젝에서 느낀 바와 같이 질문을 정말 많이 하려고 노력했다. 떨렸고 걱정된 적이 많았지만 결과적으로는 빠른 일처리와 지식습득을 할 수 있는 지름길이 되었다.

    반년이 지난 지금은 아래와 같은 기술스택을 얻을 수 있었다.
    1. edb postgresql
    2. sybase sql
    3. procedure 짜기
    4. bash shell로 edb 이행 자동화

    이전 프로젝트에서 4번을 습득하고 이번 프로젝트에서 사용한 것이었는데, 만일 내가 이걸 몰랐다면 정말 힘들었을 것이다. 다행히 cli를 shell을 이용하여 자동화하여 약 이삼주 걸렸을법한 일을 두어 시간 내에 끝냈다. 이를 사용하다 보니 툴을 사용할 때 발생할 수 있었던 이슈들도 말끔히 해결할 수 있었다.


    두 번째로 나를 괴롭혔던 것은 암호화인데, 암호화라는 개념 자체는 알고 있었지만 실제로 해본 것은 처음이었다. 물론 암호화 설루션을 내가 개발하진 않고 적용만 했었다. 다양한 칼럼, 다양한 데이터 값들로 인해 여러 이슈가 발생했다.

    가장 큰 일은 암호화에 적합하지 못한 패턴의 데이터를 걸러내는 작업이었던 것 같다. 데이터가 워낙 많았기 때문에 어떤 다양한 데이터들이 나올지 몰라 열심히 데이터를 조사하고 청소를 해야 했다. 이즘 되니까 난 데이터 청소부인가라는 생각도 들었다 🤣🤣

    이 청소로 인해 정규표현식 공부를 아주 단단히 하게 되었다.. 좋은 건가? 그리고 암호화 대상이 되는 칼럼들에 대해서도 알게 되었다. 거의 상식적으로 알고 있을 법함 칼럼들이긴 했다 ㅎㅎ

    아무튼, 이런 모든 일이 고되었지만 해결하고 나면 몇 시간을 앉아있었든 며칠을 고생했든 기분이 확 좋아지는 게 도파민이 폭발하는 느낌이다. 이 때문에 데이터를 손에서 놓지 못하는 거 아닐까 🤣🤣

    이번 프로젝트에서는 이행의 시작과 끝을 담당하는 역할이다 보니 문지기 같은 느낌이 들어서 한편으론 뿌듯하기도 하고 부담감도 엄청 컸다. 그래도 좋은 팀원분들님 덕분에 많은 것을 배울 수 있었다. 이쯤 되면 난 그래도 프로젝트 운이 좋은 게 아닐까 싶다..(쭈욱 이러면 좋겠다)

    현재까지 진행하면서 얻었던, 다음 프로젝트 때 적용해야지라고 생각하는 것은
    1. 침착함을 유지하기
      pl님이 정말 침착하신 분이고, 때문인지 일처리가 정확하고 빠르시다. 배우고 싶은 점이다.
    2. 효율적으로 일하려고 한 번 더 생각하기!!
      선임님과 수석님이 내 목숨을 많이 구해주셨는데, 냅다 일을 시작하려는 나완 다르게 어떻게 하면 좀 더 일을 효율적으로 할 수 있을지를 알려주셨었다. 알고 있었을 법한 일인데도, 냅다 들이박는 행위를 자제해야겠다.
    3. 기록하기
    이번 프로젝트에선 너무 정신없어서 그랬는지 하지 않던 실수를 한 것 같다. 원래는 월, 일 단위로 기록했는데,, 다음번부턴 꼭 기록해야지!
    4. 쉬고 일하기
    이사님이 deep worker 같다는 말씀을 하셨다. 일을 시작하면 나도 모르게 무아지경에 빠져 식음전폐에 화장실도 안 가는 일 습관이 있는데 고치려 노력하는데도 잘 안 된다. 또 노력해 보자!!!

    아직 오픈까지 남았고, 또 얼마나 바빠질지 모르지만 남은 시간 더 큰 일 없길 바라며 오늘 글은 여기까지😽

    '✎ 2024년' 카테고리의 다른 글

    프로젝트를 끝내며, 회고  (0) 2024.04.16
    폐쇄망에서 Superset 설치 삽질하기  (0) 2024.01.15

    대화의 장 💬