인터뷰

클루커스 DBA…다양한 클라우드 경험하죠

클루커스 Data Analytics 그룹 DE팀 김예준님

2021. 10. 14 (목) 18:59 | 최종 업데이트 2021. 10. 15 (금) 10:12
클루커스 Data Analytics 그룹의 데이터 엔지니어(Data Engineer)팀에서 근무하고 있는 예준님은 'DBA'라고 불린다. DBA는 DataBase Administrator의 약칭으로, 주로 클라우드 환경에서 데이터 마이그레이션(Data Migration), 성능 튜닝, 트러블 슈팅, DB 설계와 같은 일을 수행하고 있다. 단어만 놓고 보면 구체적으로 어떤 업무인지 이해하기 어려울 터. 예준님이 실제로 하고 있는 일이 뭔지, 더 파고들어봤다.
이미지
안녕하세요, 자기 소개 부탁 드립니다.
안녕하세요. 저는 클루커스 Data Analytics 그룹의 DE(Data Engineer)팀에서 근무하는 DBA(DataBase Administrator) 김예준입니다.

저는 주로 클라우드 환경에서 데이터 마이그레이션(Data Migration), 성능 튜닝, 트러블 슈팅, DB 설계와 같은 업무를 수행하고 있습니다. 그리고 팀내 상용 DB인 Oracle과 mysql, postgresql과 같은 오픈소스 데이터베이스도 담당하고 있어요.
클라우드 환경이라고 하셨는데, 클라우드는 어느 클라우드를 주로 사용하시나요?
MS Azure, GCP, AWS 그리고 NCP까지 멀티로 다 다루고 있어요.
클라우드 환경이 다 다를텐데, 업무를 위해서 모든 클라우드를 다 알아야 하는건가요?
네, 맞아요. 클라우드마다 다 다르기 때문에 두루두루 다 알고 있어야 해요. 비슷한 면이 있긴 하지만, 특징과 제약사항이 다 다르거든요. AWS에서는 가능한 기능이 Azure에서는 안 되기도 하고, Azure에서 되는 게 NCP에서는 안 되는 경우가 있어서 두루 알아야 하죠. 각 클라우드에 대한 이해가 필요해요.
공부해야할 양이 굉장히 많겠네요.
네, 공부해야할 게 정말 많죠. 그리고 클라우드는 구독 형식으로 사용하면 그만큼 비용이 나가다보니 공부를 위해서 클라우드를 만질 때에도 비용이 발생하는데요. 그런 부분은 회사에서 지원해 주고 있어요!
이미지
데이터 마이그레이션 업무를 하신다고 하셨는데, 그 업무에 대해 좀 더 구체적으로 이야기 해주실 수 있나요? 데이터 마이그레이션은 왜 필요한가요?
한 곳에 있는 데이터를 또 다른 곳으로 옮기는 것을 마이그레이션이라고 해요. 데이터를 클라우드로 마이그레이션하는 건 고객사마다 이유가 다르겠지만, 보통은 온프레미스상에서의 데이터베이스 관리가 어렵기 때문이에요. 데이터 베이스는 DBA가 꼭 필요한 분야인데, 온프레미스 환경에서 데이터 베이스를 그냥 떼어 놓을 수는 없거든요. 그래서 항상 DBA가 붙어서 관리를 해줘야 해요.

그런데 이 데이터베이스를 클라우드로 옮겨서 PaaS 제품을 사용하게 되는 경우, PaaS 서비스가 DBA의 롤을 어느 정도 대신 해줘요. 자동적으로 백업도 해주고, 용량이 부족할 때 오토스케일링도 해주고요.

또 온프레미스에서는 DBA만 있으면 되는 게 아니라, 네트워크 엔지니어와 인프라 엔지니어도 필요해요. 용량이 부족해지면 인프라 디스크를 새로 붙여야 하는데 그걸 관리하는 사람도, 그리고 네트워크 선을 꽂을 사람도 다 필요한거죠. 하지만 클라우드 상에서는 그런 엔지니어를 따로 둘 필요가 없어요.
성능 튜닝이라는 건 또 뭔가요?
예를 들어 설명해보면, 어떤 서비스가 속도가 느린 경우에 쿼리의 느린 반응 속도가 원인이 되는 경우가 있어요. 그걸 슬로우 쿼리라고 하는데, 이 느린 쿼리들을 모니터링을 하는거죠. '3초 이상 걸린 애들을 적어놔라'라고 명령해서 쌓인 로그를 들여다 보고, 왜 느린지 분석해요. 그리고 그 쿼리들을 고치는 작업을 하고요. 인덱싱 작업을 통해서 성능을 향상시키는데 이걸 쿼리튜닝이라고 해요.

또 다른 예로 데이터가 테이블에 너무 많이 쌓여서 관리가 어려워지는 경우에는 파티셔닝 작업이라는 걸 통해서 데이터를 더 쉽게 관리할 수 있도록 하죠. 이것 역시 작업이 빨라지도록 하는거예요. 이것도 성능 튜닝의 하나죠.
하루 일과가 어떻게 되시는지도 궁금합니다.
DBA는 프로젝트에 따라 업무의 종류가 나눠지는데요. 대용량 데이터 마이그레이션(Data Migration)을 진행하는 경우에는 진행에 있어 에러가 없었는지 확인하고 CPU, Memory, DISK I/O 같은 부분을 모니터링 해요. 마이그레이션 속도를 높일수 있을지 확인해서, 가능하다면 속도를 올리는 작업도 하죠.

CPU와 디스크와 메모리에 여유가 있다면 조금 더 빠르게 데이터를 넣으려는 시도를 해요. 속도를 빠르게 하려고 많은 양의 데이터를 한꺼번에 넣게 되면 작업이 실패하기 때문에 적정선을 찾죠. 마이그레이션 작업은 시간이 오래 걸리는데, 중간에 fail이 생기면 처음부터 다시 해야 하거든요. 그래서 모니터링 하면서 작업하는 게 굉장히 중요하고, 그 적정선을 찾기 위한 계산을 잘 해야하죠.

데이터 마이그레이션은 사람들이 서비스를 잘 사용하지 않는 새벽 시간에 진행하는 경우가 많아요. 그래서 야간과 새벽에 작업하는 경우도 있죠.
이미지
현재 직무와 관련된 일을 하게 된 계기는 뭔가요?
저희 아버지도 IT 업계에서 일하세요. 그래서 어려서부터 이쪽 일에 관심이 있었죠. 아버지께서는 공공 기관의 IT PM으로 근무하고 계신데, 원래는 DA(Data Architect)에 가까우셨어요.

아버지의 영향으로 개발도 일찍 시작했어요. 학부는 경영정보학과인데요. 쉽게 말해 데이터플랫폼에 관련한 내용을 다루는 전공인데 자바, 네트워크, 데이터베이스 설계, 데이터 마이닝, SAP 등을 배워요. 경영 관련 IT를 모두 다루는 학과죠. 그 중에서 제가 제일 흥미를 느꼈던것은 데이터베이스였어요. 처음에는 개발 언어를 알아야 해서 자바를 배웠고, 방학에는 오라클 학원을 다녔어요. 군대는 프로그램 개발병으로 갔어요. 그렇게 자바로 프로그램 개발을 열심히 했죠(웃음). 복학한 후에는 알바로도 꾸준히 개발 일을 했습니다.

사실 DBA라는 직군이 신입을 뽑지를 않거든요. 네트워크 엔지니어 혹은 인프라엔지니어, 프로그래머 이렇게 경력을 좀 쌓은 사람이 DBA 신입으로 들어갈 수 있어요. 당시에 DBA를 하고 싶었지만 신입을 뽑지 않아서, 개발자로 경력을 쌓은거죠. 3년 정도 그렇게 일하고 나서 DBA로 이직을 하게 됐어요.(웃음) 온프레미스 DBA로도 일하다가, 클라우드까지 다루고 싶은 생각이 들어서 그래서 클루커스로 오게 된 거죠!
온프레미스 DBA와 클라우드 DBA를 모두 해보셨는데, 어떤 게 다른가요?
온프레미스 DBA는 물리적인 데이터베이스도 관리해요. 클라우드 DBA는 클라우드로 마이그레이션할 때 클라우드의 생태를 알아야 하고요.

클라우드로 오게 되면 온프레미스에서 쓰던 데이터베이스의 기능을 사용할 수가 없거든요. 클라우드의 DB는 굉장히 제약되어 있어요. 관리를 대신 해주는 만큼 건드릴 수 있는 부분이 한정돼 있는 거죠. 그렇기 때문에 클라우드 DBA는 온프레미스와 달리 클라우드 내에서는 어떻게 사용해야 하는지, 어떤 방법으로 마이그레이션 해야 하는지 등을 고민해야 해요.
주로 사용하는 기술 스택과 개인적으로 선호하는 기술은 무엇인가요?
Azure mysql을 사용하는 고객사가 많다 보니 mysql을 주로 사용하고 있고요. 선호하는 기술로는 가장 잘 다루는 인메모리로 DBMS인 altibase가 있습니다. altibase는 사용하는 곳이 많지 않지만, 아무래도 제일 오래 다뤘고 많이 공부한 DB라 개인적으로 선호하고 있어요.
이미지
일하면서 가장 보람을 느낄 때는 언제인가요?
성능 튜닝과 같은 업무가 성공적으로 끝났을 때 가장 보람을 느끼는 것 같아요. 고객사는 성능 이슈 떄문에 DB의 스케일업을 고려하는 경우가 많은데요. DB 튜닝 작업이 효과적으로 끝나서 장비의 스케일업이 필요 없어졌을 때 고객사분들이 많이 고마워하시더라구요. 그런 부분에서 보람을 느껴요. 그리고 아무래도 CPU 지표나 쿼리 응답 속도와 같은 지표로 As-is To-be 튜닝 전후 비교가 돼서 저도 뿌듯함을 느끼는 것 같고요.
DBA으로서 좋은 성과를 만들기 위해서는 어떤 역량과 자질이 필요하다고 생각하시나요?
수학적이고 논리적인 사고를 잘하는 분이 잘 할 수 있는 직무인 것 같아요. DBMS에 대해 공부하는 과정을 즐기실 수 있는 분, 그리고 야간에 이루어지는 작업에 대해서도 부담을 덜 느끼시는 분이 이 직무에 잘 맞을 거예요.
클루커스에서 어떻게 일하고 있는지도 궁금해요. Data Analytics 그룹만의 매력은 무엇인가요?
다른 사람이 맡은 업무라도 자기 일처럼 같이 고민하고, 기술 공유가 굉장히 잘 이루어지는 게 저희 팀만의 매력이라고 생각합니다. 누가 바쁘면 자연스럽게 옆에 있는 동료가 맡아서 진행하는, 이런 유연한 문화가 매력이에요!
이미지
앞으로의 목표는 무엇인가요?
온프레미스 DB를 다룰 때에는 전문적으로 한 가지 분야만 맡아서 파고들었다면, 클라우드 DB에서는 보다 많은 DB를 다루게 되었어요. 각 벤더의 클라우드 환경에서 각 벤더의 DBMS를 모두 다루게 된 거죠. 저는 원래 넓게, 많은 부분을 배워보고 싶었거든요. 그래서 멀티 클라우드와 다양한 DBMS를 만져봤다는 게 좋은 경험이 된 것 같아요. 앞으로 욕심을 내보자면, 다양한 경험을 쌓는 과정 속에서도 한 가지 스페셜리티를 가지는 거예요. 전문성이 있는 DBA가 되고 싶어요.
마지막으로, DBA가 되고 싶은 후배들에게 조언 한 마디 부탁 드립니다.
클루커스 DBA로 오신다면 다양한 클라우드를 할 수 있어요. 멀티 클라우드, 멀티 DB 모두 경험할 수 있죠. 다양한 경험을 하고 싶은 분은 환영합니다!