데이터 인터뷰

DB 노하우, 데이터직무, 다양한 인터뷰를 만나보세요.

PC 조립하던 사람이 DB 튜너가 되다 - 박찬권 DB 튜너 (상)

DATA 인터뷰
작성자
dataonair
작성일
2017-11-27 00:00
조회
3636


한 프리랜서 DB 튜너의 이야기 (상)

PC 조립하던 사람이 DB 튜너가 되다

계획한 대로 자기만의 길을 걷는 사람도 있는가 하면, 생각하지 못했던 영역에서 살아가는 사람도 있다. 중문학과를 다니다 중퇴하고 PC 조립 업무를 거쳐 DB 튜너가 된 사람이 있다. 사회에서 인정해주지 않은 스펙임에도 자신의 길을 걸으며 인정 받는 튜너가 되기까지 쉬지 않고 공부하고 고민했다. 프리랜서 DB 튜너로 일하는 박찬권 씨가 바로 그 주인공이다. 박찬권 씨는 DB가 좋아서 자신도 모르게 현재의 자리에 이르렀다고 한다. 프로젝트 현장에서 고객이나 동료로부터 찬사는 DB 튜너로 가는 길에 힘이 되었고, 작으나마 배움의 나눔을 실천하는 계기가 되었다. ‘내 얘기가 주변에 작으나마 힘이 되기를 바란다’며 인터뷰에 응한 박찬권 씨의 들어보자.



in_068.jpg
▲ 박찬권 DB 튜너


나는 DB 튜닝과 데이터마트 설계·구축 업무를 주로 하는 프리랜서다. 일반 모델링과 마트 모델링은 조금 다르다. 데이터마트를 구축하는 프로젝트는 규모가 좀 작더라도 데이터의 양은 많다. 이때 종종 성능이 이슈가 되는 SQL문을 튜닝할 수 있는 점이 플러스 요인이 된다. 지금은 KT의 ‘기가지니’ 인공지능 스피커 개발 프로젝트에서 통계 시스템 구축을 위한 데이터마트 설계와 구축을 하고 있다. 우연한 기회에 대학에서 SQLD(SQL Developer) 자격증 대비반 특강을 하게 됐고, 기업체나 개발자 대상의 DB 튜닝 교육을 하기도 한다.


PC를 조립하던 사람이 DB를 만나다

90년대 후반, 나는 학업에 잘 적응하지 못하는 중문과 학생이었다. 컴맹이었지만 친구로부터 컴퓨터 조립 방법을 배웠다. 같은 과 동기들은 워드프로세서도 익숙하지 않았던 내가 컴퓨터를 조립한다고 하자 매우 신기해 했다. 친구로부터 배웠던 PC 조립기술이 대단한 건줄 알고 중국어 전공을 포기하기로 결정했다. 처음엔 창업자금이 부족한 선배의 PC방에 PC를 조립/설치하는 일을 도왔다. 수 십대 분량의 부품들을 쌓아 놓고 며칠씩 새우잠을 자면서 PC를 조립했다. 너무 재미있었다. 하지만 그 일이 나와 맞지 않음을 아는 데까지 그리 긴 시간이 걸리지 않았다.

더 높은 전문 지식 없이는 IT 분야에서 계속 일하기 어렵겠다는 생각이 들었다. 어떤 거라도 더 공부를 해야 했다. 컴퓨터 조립은 가능했지만 컴퓨터 활용은 컴맹 수준이었으므로 모든 게 두려웠다. 게다가 인문학과 출신인 내게는 PC 조립 말고, 무언가 내세울 것이 필요했다. 지금 돌이켜보면 그 무언가는 실력이었다. 당시 IT 자격증을 따면 실력이 올라갈 것으로 생각했다. 윈도우 NT 4.0 트랙의 MCSE(Microsoft Certified System Engineer) 자격증을 따는 건 할 만해 보였고, 간신히 따긴 땄다. 이때가 한창 닷컴 열풍이 불던 1998년 전후였다. 그나마 자격증 덕분인지 어렵지 않게 닷컴 업체에 들어갔다. 그 직장에서 만났던 한 선배가 내 인생을 바꿔 놨다.

그 선배가 MCSE 자격증 공부를 한번 더 하자고 하여 윈도우 NT Server 2000 트랙의 MCSE 자격증을 더 땄다. 그분 덕분에 직장에 다니면서 공부하는 맛을 알게 됐고 공부 습관을 들일 수 있었다. 그래서 다시 도전한 자격증이 바로 MCDBA(Microsoft Certified Database Administrator)다. 그 자격증 공부를 하면서 접하게 된 SQL Server 2000이 나를 DB 세상으로 이끌어 주었다.

몇 개의 자격증은 땄지만 여전히 뭔가 부족하다고 생각했다. 당연한 얘기지만, 자격증 한두 개가 실력을 올려줄 수 없지 않은가. 프로그래밍 언어를 알아야 한다는 생각에 C 언어를 공부할 필요를 느꼈다. 그럼에도 여전히 나는 IT에 대한 두려움으로 가득했다. MCDBA를 땄으니 SQL은 해 볼 만하다 생각해 정원혁의 [SQL Server]를 보면서 SQL 언어의 매력에 푹 빠졌다.

SQL을 쓰려면 프로그래밍을 배워야 한다고 생각해 C 언어를 공부했다. 프로그래머로 일했지만, 첫 언어가 SQL이었으므로 SW 개발 업체에 들어가서도 DB에 지속적으로 관심을 뒀다. 나중에 프로그래머로서 내 자신의 실력을 알아보고 싶어 ‘하드한’ 프로그래밍 영역 가운데 하나인 게임 프로그래밍에 도전했다. 게임사에서 프로그래머로 일할 때도 DB 쪽에 관심이 많았다.


게임 프로그래머의 관심거리 DB

2000년 초반까지 온라인 게임에서 이슈는 그래픽 처리에서 발생하는 병목현상이었다. 2000년대 중반에 들어서면서 DB 병목현상이 게임 서비스의 새로운 문젯거리로 떠올랐다. SQL을 공부한 경험 때문에 튜닝을 포함하여 DB일을 많이 했다. 게임사에서는 SI 업체와 달리, 프로그래머에게 매우 다양한 시도를 해볼 기회를 줘서 가능한 일이었다.

중견 게임 개발업체였는데도 DBA는 있었지만 DB 튜너와 데이터 모델러라는 개념이 없었다. 단순히 DBA와 개발자로 구분됐다. DBA가 DB 튜닝과 모델링을 직접 해야 했다. 나는 DB를 잘 이해하고 있었으므로 DBA들이 튜닝할 때 많은 도움을 줄 수 있었다. 게임 콘텐츠 개발보다 DB일에 더 재미를 느꼈다.


다시 돌아오다

가장 어려운 영역 가운데 하나로 통하는 게임 프로그래밍을 하면서 천재들을 여럿 만났다. 공부를 하면 할수록, 아는 것이 많아질수록 그들과 비교가 되면서 좌절감이 밀려왔다. 상대방의 ‘내공’을 볼 수 있을 단계에 이르면, 자신을 되돌아볼 수밖에 없다는 말처럼, 프로그래머로서 실력과 경험을 쌓을수록 내 자신에 대한 한계를 느꼈다. 정말 노력하면 저 정도로 할 수 있을까? 하는 생각이 들었다. 남들이 한두 시간만에 가능한 일을 나는 밤을 세워도 하지 못할 수 있음도 알게 됐다.

2006년에 들어갔던 게임 개발업체에서 4년 만에 나왔다. 아예 IT 분야에서 떠날 결심이었다. 프로그래머로 더 이상의 성장이 힘들 것 같았기 때문이다. 그때 큰 아이가 심하게 아팠다. 내로라하는 국내 최고의 병원들에서도 못 고치던 그 아이의 병을 지방의 작은 한의원에서 1개월만에 고치는 것을 봤다. 아이 병 치료에 지쳤던 탓에 그 한의원이 있던 경주에서 1년을 쉬었다.


in_069.jpg
▲ 가족여행을 자주 가는 박찬권 씨는 주중 여행지로 최근 다녀온 단양을 추천한다.


그곳에서 영어 강사를 하려고 공부하고 있을 때, 서울의 친구로부터 도움 요청이 왔다. IT 분야에서 일하는 학창 시절의 유일한 친구였다. 대법원에서 발주했던 판례검색 SW를 만드는 업무였다. 검색엔진을 구입해 처리해도 쉽지 않은 일이었는데, 이를 염두에 두지 않고 수주한 상태였다. 대안을 찾을 수밖에 없었다. 간단하게 단어 추출 프로그램을 하나 만들어 색인어를 추출했다. 이를 근간으로 색인 데이터 모델링, 검색 SQL 개발, 튜닝 등 정말 자고 먹는 건 빼고 프로젝트에만 몰두한 끝에 기간 내에 성공적으로 마칠 수 있었다. 정말 너무나도 오랜만에 느껴보는 성취감과 함께 DB 영역에서는 뭔가 해보고 싶어졌다.

한참 후에 들은 얘기지만 이 프로젝트의 PM(초중학교 동창)이 전 버전을 제작한 회사 직원을 우연히 만났는데, 도대체 검색엔진 없이 어떻게 개발했냐고 놀랐다고 했다. 다시 돌아올 수 있는 계기를 만들어준 그 친구가 늘 고맙다.


이해될 때까지 책 사보기

DB를 공부할 때 책을 많이 참고했다. 이해가 될 때까지 계속해서 읽기를 반황을 PC에 구현해 직접 확인해 보았다. 예를 들어, 인덱스 영역이 이해되지 않으면 처음엔 같은 책을 반복하여 읽고, 그래도 이해가 되지 않으면 인덱스를 설명해 놓은 이 책 저 책을 계속 보면서 이해가 될 때까지 공부했다. 그러다 보니 새로운 뭔가를 받아들이기까지는 일반적으로 다른 사람에 비해 더 많은 시간이 걸렸다.

이것은 학창 시절의 공부 습성이기도 했다. 새로운 수학 공식을 접하면, 꼭 증명을 해 본다. 공식이 만들어진 과정이 반드시 이해가 되어야 다음으로 넘어간다. 그러고 나서야 받아들일 수 있었다. 그 과정을 거치고 나면 술술 풀리기 시작했고, 그때부터 속도는 느리지 않았다. 지금도 DB를 공부할 때 만들어 놓은 스크립트 파일을 프로젝트 현장에 가져가서 사용하고 있다. 1MB도 안 되는 간단한 스크립트를 실행하면 수십 기가바이트의 데이터 파일이 생성된다. 운영서버에서 테스트하기 힘들 때는 내 PC에 세팅된 데이터로 실제 상황을 구현튜닝해 보면서 가능성을 체크해본 다음, 실제 서버에서 구현하는 형태로 접근한다.


토플 점수 200점을 4개월만에 600점으로 끌어올리다

공부 얘기가 나왔으니 하나 더 해야겠다. 군 제대 후 복학하여 한 학기를 더 다녔으나, 중국어는 내게 너무 재미가 없었다. 영어공부를 핑계로 전공 공부를 뒤로 하고 영어학원을 다닌 적이 있다. 나에게 대학은 공부하러 간 곳이 아니어서 영어학원에 다니기 전까지만 해도 대학생들이 그 정도로 열심히 공부한다는 것을 몰랐다.

학생들이 집에 갈 생각도 안 하고 열심히 공부하는 것을 보고 놀랐다. 나도 공부라는 걸 제대로 해 보고 싶다는 생각이 들었다. 당시 나는 대입 수능 영어도 이해 못할 수준이었으므로 토플책을 보는 건 무리였다. 우선 수능 문제집과 [맨투맨 기본영어]를 보았다. 맨투맨 기본영어는 아예 다 외워버렸다.

학원생 모두 토플 책을 보는데, 나 혼자서 기초 영어책을 펼쳐 놓고 있었으니 주변의 눈길을 끌 수밖에 없었다. 창피했지만 이것은 잠시라고 생각했다. 아침 7시에 학원에 나갔다가 저녁 9시까지 공부하고, 다시 독서실에서 새벽 2시까지 공부하는 생활을 4개월 정도 했더니 토플 점수가 600점 넘게 나왔다(2000년 중반에 토플 점수는 120점 만점으로 바뀜, 당시에는 670점 만점 기준임 _편집자 주). 그때도 시중에 나온 토플 책은 모두 사보다시피 했다.

원리를 모르면 진도가 안 나가는 성격 때문에 어쩔 수 없었다. 이해력이 그리 뛰어나지 않은 내가 할 수 있는 방법으로서는 같은 책을 여러 번 보거나 같은 내용을 설명한 여러 책을 살펴보는 것밖에 없었다. 점수에서 큰 향상이 없더라도 어제의 나보다 오늘의 내가 조금 나아진 거 같으면 꾸준히 공부하겠다는 마음으로 포기하지 않았다. (다음 회에 계속)


출처 : 한국데이터산업진흥원
제공 : 데이터 온에어 Dataonair.or.kr