생명공학도가 DB전문가로 거듭나기까지…
잘 나가는 생명공학 연구원의 길을 버리고 IT에 입문하다…
저의 과거를 아시는 분들은 아직도 물어보십니다. 왜 잘나가는 생명공학 연구원의 길을 버리고 4D인 IT를 하고 있느냐고…ㅎㅎ
사실 제가 학부는 화학공학, 석사는 생명공학을 전공했기에 IT에 입문하기 전까지는 IT가 뭔지도 몰랐습니다. 물론 교양과목이나 전공과목에서 프로그래밍을 조금 해보기는 했으나 정보시스템, DB 이런 말은 들어보지도 못했죠..^^;; 아마 제 전공을 살렸다면 유전공학자로서 ‘멋있어 보이는’ 흰 가운 입고 연구소에서 연구하고 있을 겁니다.
사실 제가 IT에 입문하게 된 계기는 아주 단순합니다. (제가 그렇게 복잡한 사람은 아니라서..ㅎㅎ) 연구원 생활이 그럴 듯 해 보이지만 제가 했던 연구는 하루 꼬박 서서 실험준비하고, 실험이 시작되면 3~4일은 쪽잠 자가면서 실험실에서 살다시피 해야 하고, 결과 분석에 또 하루 꼬박 서서 일하는 아주 힘든 일종의 ‘육체노동’이였습니다. 거기에 제가 다루던 것들이 ‘세포’라 실험에서 사용하는 화학약품들은 그대로 인체에도 유해한 물질들이 대부분이었죠… 염산, 황산, 벤젠, 톨루엔 등등…이런 것들은 아주 약과이고, 피부에 흡수되어서 피부암을 유발하거나 (장갑도 통과합니다..) 흡입하면 인체에 축적되어 언젠가는 백혈병, 폐암 등을 일으키는 등등 무서운 물질들이 대부분이었습니다. 연구가 즐겁고 재미있기는 했지만, 체력도 안 따라주고 “내가 이러다 암에 걸려 100세까지 못살겠구나. 퀴리부인처럼 노벨상타면 뭐하나 죽으면 다 말짱 꽝인 것을,,,,”..라는 생명의 위협을 느껴 업종을 바꿔야겠다고 생각했습니다. ‘몸 대신 머리만 쓰고 오래 살 수 있는 업종’을 찾던 중 IT분야의 취업공고를 접하게 되었는데,,,,
“ 유레카~!!! 사무실에서 컴퓨터로만 일하는 이런 훌륭한 직업이 있었다니,,, 바로 이거다!!” 하고 LG CNS에 지원하여 운 좋게 입사하게 되었습니다.
컴퓨터 앞에서 편하게 일할 줄 알고 왔는데 속았다…
면접 때 근무지가 바뀌지 않는 안정적인 곳에서 일하고 싶다고 했더니 신입사원 교육을 마치고 인천 데이터센터에 시스템관리자로 배치가 되었습니다. 그때만해도 직무가 세분화되어 있지 않아서 시스템관리자가 NW을 제외하고 HW, OS, DB, M/W를 다 관리했는데요. 업무 자체가 주간 업무시간에 이루어지는 일보다는 다른 사람들이 쉬는 주말 야간에 이루어지는 변경작업과 24x365 장애처리가 매우 중요한 일중 하나였습니다. 어쩐지,,,, 면접 때 밤 잘 새냐는 질문에 감을 잡았어야 했는데,,,,^^;;
그래도 밤새는 것은 워낙 단련이 되어있어서 일주일에 하루쯤 밤새는 것 정도야 아무렇지도 않고 위험한 물질이 없는 곳에서 일하니 행복하고 좋았답니다. 제가 좀 긍정적입니다.ㅎㅎ
그리고 새로운 것을 공부하는 것도 재미있고, 내가 관리하는 시스템이 기업의 업무에 얼마나 중요한지를 알았기에 자부심을 가지고 일할 수 있었습니다.
SQL Server…이것도 관리가 필요한 것이었어?
어설프게 시스템 관리를 하던 2000년대 초반 제가 관리하던 시스템 중에 모 유통회사의 그룹웨어 시스템이 있었는데요. NT기반에 Exchange server와 SQL Server를 사용하는 시스템이었습니다. 그러던 어느 날,,, 고객으로부터 그룹웨어 게시판 로딩속도가 느리다는 연락이 와서 살펴보니 CPU 사용량도 멀쩡하고 에러로그도 깨끗하고, Disk IO가 평소 대비 좀 높다는 것 말고는 문제될 것이 없었습니다. 고객은 어제까지 멀쩡했는데, 어떻게 갑자기 느려질 수가 있느냐, 혹시 시스템 변경한 것 없느냐, 디스크에 이상 있는 것 아니냐 등등 쪼아대고, OS나 HW상으로는 전혀 문제가 없고.. 귀신이 곡할 노릇이라 일단 MS 엔지니어를 불러서 점검을 받기로 했습니다.
엔지니어가 와서 좀 보더니 뭔가 리스트를 쭉 뽑아서 보여주면서 이 테이블들에 클러스터 인덱스들이 누락되어있으니 일단 클러스터 인덱스를 만들고 결과를 본 이후에 넌클러스터 인덱스를 추가하거나 하겠다는 겁니다. 지금이야 어떤 문제였는지 알지만, 그때는 클러스터/넌클러스터는 고사하고 인덱스가 뭔지도 모를 때라 일단 해봅시다. 하고 진행했습니다.
이럴 수가, 다음날 게시판 로딩 속도가 장애 나기 전보다 훨씬 더 빠른 겁니다. 성능지표도 더 좋아지고,,,, 앗,,,,이게 뭐지? 문제를 해결해준 엔지니어가 대단해 보이더군요.
작업을 마친 후 엔지니어 말이 “일단 처리는 했으니 앞으로 지속적으로 인덱스를 관리 해주고, 모니터링해서 튜닝도 진행하세요.” 하는 겁니다. SQL Server는 그 동안 장애를 일으킨 적이 거의 없어서 DB백업정도만 받고 가끔 PM과 패치 등만 했던 때라 따로 뭔가를 해줘야 한다는 개념 자체가 없었던 것 같습니다. 물론 그때 오라클은 SQL Server와는 다르게 테이블스페이스도 늘려주고, 여러 가지 관리(?)를 하고 있었죠. 같은 DBMS인데 왜 SQL Server는 그냥 놔둬도 잘 돌아갈 것이라고 생각했을까요?^^;;
이 장애를 계기로 DB에 관심을 갖게 되어 몇 년 후 이춘식 팀장님이 이끄시던 DB관리팀으로 팀을 옮겨 본격적으로 DBA의 길로 들어서게 되었습니다.
연구하듯 SQL Server를 대하다…
DBA를 하겠다고 팀을 옮기기는 했는데, 그때 DB관리팀 팀원의 대부분은 Oracle과 DB2 DBA였고 SQL Server DBA는 저와 Oracle을 하시다 이제 막 SQL Server를 시작하신 부장님 한 분 뿐이었습니다. 외부 교육기관에는 운영교육 말고는 교육도 별로 없던 시절이라 누군가에게 배워서 익히는 것은 거의 불가능한 상황이었습니다.
이때 다행스럽게도 팀장님의 지원 하에 저의 연구적 성향이 빛을 발하기 시작했습니다.
연구할 때와 마찬가지로 일단 DB에 대한 기본 개념을 잡기 위해 데이터베이스 대학교재를 공부하며 이론적인 부분을 이해함과 동시에 SQL Server Internal 책을 가지고 SQL Server의 아키텍처를 파고들었습니다.
업무적으로는 기존의 GUI 방식으로 수행하던 SQL Server 관리 업무의 업무 생산성이 너무 떨어져서 쿼리방식으로 업무들을 변경하면서 이때 관리 쿼리들을 차곡차곡 정리했습니다. 그리고, 그 당시 전무 하다시피 했던 SQL Server의 관리체계와 표준들도 만들어나갔습니다. 혼자 하느라 일이 많기는 했으나 내 손으로 하나하나 만들어가는 재미에 즐겁게 하다 보니 저도 모르게 실력이 쌓이고 있었습니다.
‘나홀로 DBA’는 너무 힘들어~
회사 내에 SQL Server 전문가가 몇 명 안되나 보니 SQL Server 쪽에 일이 다 저한테 몰리는 현상이 발생하였습니다. 그때 마침 기다리던 둘째를 임신했는데, 자칫 잘못하면 애 낳으러 가기 직전까지 장애 처리하다 가는 것은 아닌가 하는 두려운 생각이 들었습니다. (지금은 농담처럼 얘기하지만 실제 첫째는 Exchange Server 장애 처리하다가 갑자기 애 낳으러 갔습니다..ㅎㅎ )
그래서 제가 없어도 업무 공백이 생기기 않도록 하는 방법이 없을까 고민하다 임신중임에도 불구하고 겁도 없이 세 가지 일을 벌였습니다. (사실은 이춘식팀장님이 애만 낳고 바로 나오라고 겁을 주셔서 어쩔 수 없이…. ^^;;)
첫번째, SQL Server DBA를 육성하는 교육 프로그램을 기획해서 SQL Server를 하고자 하는 DBA들에게 초급부터 중/고급까지 단계적으로 교육을 시켰습니다. 기본 아키텍처와 운영, 튜닝/문제해결까지 진행했는데 결과적으로 단기간 내에 중급 이상의 SQL Server DBA를 집중적으로 잘 키워낸 사례가 되었습니다.
두번째, 제가 가진 지식과 자료들을 찾아보기 쉽게 표준화해서 회사 지식게시판에 다 올려서 공유했습니다. 이 때 올린 글이 200개가 넘었는데, 지금은 다시 하라고 해도 못할 것 같습니다. ^^;;
마지막으로 초급자도 쉽게 중고급 이상의 관리를 할 수 있도록 세션 모니터링 툴과 진단 툴, 스크립트 셋을 포함하는 운영패키지 툴을 개발했습니다.
이 세가지를 해놓고도 좀 걱정하며 애 낳으러 들어 갔는데, 출산휴가로 쉬는 동안 신기하게도 전화 한 통화 안오더군요. 내심 내가 필요 없었나?하는 생각이 들어 좀 서운하기는 했습니다. ㅎㅎ
마구마구 퍼준 결과는…
산후조리를 마치고 복귀하니 이럴 수가,,, SQL Server만을 관리하는 별도의 DBA 파트가 생기고, 제가 만든 툴을 가지고 이제 1년 미만의 DBA들이 너무도 쉽게 적응해서 중급이상으로 DB를 관리 하고 있는 겁니다. 간단한 툴을 가지고 잘 관리하고 있는 것을 본 팀장님께서 이 툴을 본격적으로 솔루션으로 개발해보자는 제안을 하셔서 SQL Server 모니터링 솔루션이 탄생하게 되었습니다. 이 솔루션으로 인해 업무 생산성이 높아지니 SQL Server 파트의 DBA들은 남는 시간에 더 깊은 지식을 같이 스터디하고 결과를 정리해서 IT전문 잡지나 세미나를 통해 공유하는 활동들을 할 수 있었습니다. 이런 활동을 통해 저는 사내외에서 DB전문가로 활동하는 기회들도 덩달아 생기게 되었고 지금의 DB컨설턴트로 전향할 수 있었습니다.
사실 DB를 한 제 경력이 햇수로 따지면 그리 길지 않은데, 짧은 시간 동안 DB전문가로 성장할 수 있었던 데는 몇 가지 요인들이 있었던 것 같습니다. 일단 저의 긍정성과 집요하게 핵심을 파고드는 탐구정신을 기본으로 DB에 대한 열정과 함께 제가 가진 지식을 혼자만 소유하지 않고 개방하고 공유해야 한다는 생각이었습니다.
‘나비효과’라는 말이 있지요. 처음에 제가 한 일은 나비의 날개 짓처럼 거창한 목적이나 의도 없이 순수하게 시작한 작은 시도였지만, 그 결과는 DB솔루션을 탄생시켰고 저를 DB전문가로 키워냈습니다.
지금 DB人에 칼럼을 연재하는 것도 많은 사람들과 같이 지식으로 소통하고자 하는 순수한 마음으로 시작하는 작은 날개 짓에 불과하지만, 이 미미한 시작이 앞으로 어떤 태풍을 이끌어낼지 기대가 됩니다.
첫 글이라 제가 살아온 얘기를 이야기 식으로 가볍게 풀어봤는데요. 다음 글부터는 SQL Server에 대한 구축, 운영, 튜닝, Troubleshooting, 기술검토 등 좀 더 전문적인 글로 찾아 뵙겠으니 댓글로 많이 응원해주세요~ 제 글을 통해 같이 소통하는 장이 되었으면 합니다.
저도 화학공학 학부인데, 생명에 위협(?)을 느껴 IT분야 길을 걷게 되었는데, 반갑습니다. ㅎㅎ