DBA 입장에서 바라보는 데이터베이스 직군 이야기

 

DBA 입장에서 바라보는 최근 데이터베이스 직군 이야기

SE3년, Oracle DBA 및 엔지니어 8년, PostgreSQL, MySQL 1년, 현재 MongoDB DBA를 하고 있습니다.

아래 글은 어디까지나 제 개인적인 견해임을 밝힙니다. 누구에게는 공감할 수 있는 내용일수도 있고 누구에게는 공감할 수 없는 이야기 일수도 있습니다.

 

IT 인력 시장의 현재

IT 산업이 가파르게 성장하면서 IT 기업들이 대기업 수준으로 치고 나가기 시작했고, 그에 상응하는 IT 기술직들에 대한 급여 역시 근래 대폭 상승하게 되었습니다. ‘네카라쿠배’에 추가로 ‘당토’ 라고 불리면서 현재 국내 IT 시장을 선두해 나가는 IT 기업들이 있습니다. 그리고 많은 게임 회사들이 근래들어 앞다투어 자사의 인력을 빼앗기지 않기 위해 개발자들의 연봉을 1000만원 전후로 대폭 상승하겠다는 기사들이 쏟아졌습니다. 많은 개발자들이 소위 잘나간다는 IT기업들, 게임사에 눈을 돌렸고, 기존의 IT 전문이 아닌다른 분야의 대기업들, 그리고 자본이 충분하지 못한 중소기업들은 덩달아 인력난에 빠져 있습니다. 개발자들의 눈은 높아졌고, 급여를 많이 주는데를 찾고 있는데, 대기업들은 직원수도 많은데 기존 직원들과 형평성을 고려해 IT분야만 천만원 가까이 더 올려줄수 있는 상황도 아니고, 기존에 IT를 중시하지 않았던 물류, 유통, 제조쪽의 회사들은 IT 분야만 더 올려주는 것에 어려워 하겠지요. 그리고 돈이 없는 중소기업들은 실력있는 개발자들에 맞춰줄 돈이 부족하니 또 어렵습니다.

개발자들의 눈이 높아진것도 한 몫 합니다. 정말 실력있는 사람들은 돈을 많이 주거나 좋은 회사들로 가게 됩니다. 하지만 근래 언론들이 어디는 얼마를 올려주니 하고 쏟아낸 기사들로 비전공자들도 개발에 뛰어들기 시작했고, 개발자면 누구나 그렇게 받을거란 헛된 기대감을 가지는 것도 적지 않습니다. 연봉이 쎈 IT 회사들의 면접관들의 눈은 굉장히 높기 때문에 학원에서 다룬 프로젝트 가지고 도전하는건 엄청난 경쟁률을 뚫어야 하기도 하고, 실력적으로나 요구사항이 꽤 높아 여러모로 꽤나 어려운 일입니다.

잘나간다는 IT기업들이 인력난이라고 말하는건 즉 자기눈에 차는 수준의 인력이 없다는 것이고, 중소기업들은 자신들이 제시 할 수있는 연봉에 일하려는 인력이 없다는 뜻이되며, 대기업들은 IT기업들에게 고급인력을 빼앗긴 상황에서도 실력이 있어도 대졸이 아니거나, 비슷한 수준에 대기업에서 일 하지않았던 사람들에게 자기네 연봉 테이블 수준으로 맞쳐주긴 꺼려하니 인력난이라고 말하는 거라 보시면 됩니다. 실제 대기업들은 중소기업 출신들의 경력 2년을 제하는 경우가 종종 있습니다.

 

데이터베이스 분야는?

우선 데이터베이스 분야는 업무 별로 나눌수 있습니다.

  • 데이터베이스 엔지니어
  • 데이터베이스 관리자 (DBA)
  • 데이터베이스 아키텍트 (DA)
  • 데이터베이스 튜너

데이터베이스 엔지니어는 여러가지 데이터베이스 중에 자신이 전공한 특정 데이터베이스(예: 오라클, MySQL 등)에 대한 기술지원 업무가 일차적입니다. 설치, 구성, 이관, 백업 구축, 장애지원 등 밴더사나 SI 업체에서 주로 일을 하게 됩니다.

데이터베이스 관리자는 일하는 회사에서 사용하는 데이터베이스에 대한 운영, 관리, 모니터링, 백업 정책 수립, 쿼리 튜닝, 성능 개선 등의 프로젝트를 위주로 하게 되며 실제 운영 업무가 주로 이룹니다.

데이터베이스 아키텍트는 서비스를 하는데 있어 데이터베이스의 효율이나 성능 최대한으로 끌어내기 위해 사전 구축 단계에서부터 스키마 모델링이나 물리적인 서버 모델링 등 전반적인 아키텍처 업무가 주를 이룹니다. 데이터베이스의 아키텍처를 완벽하게 이해하고 있어야 하며 도메인 지식이 풍부해야 합니다.

데이터베이스 튜너는 SQL 튜닝을 하는 인력들을 말하는데, 예전에 오라클이 주를 이뤘을때는 튜너들이 많았지만, 근래에는 DBA들이 튜너의 업무를 같이하기도 하고, 장비나 소프트웨어가 발달함에 따라 전문 튜너들의 필요성이 줄어들게 되었습니다.

그리고 많은 분들이 물어보시는 것중 하나가 데이터 엔지니어도 데이터베이스 분야가 아니냐는 것인데, 기존에 DBA들이 하던 업무랑은 많이 다르기 때문에 데이터베이스 분야에 잘 포함하지 않는 걸로 알고 있습니다.  빅데이터 시스템이나 ETL 등 OLAP 성 데이터 분석 시스템을 구축하고, 파이프라인을 만들고 데이터를 전처리해서 대용량 OLAP 또는 DW 시스템에 저장하는 역할을 합니다. 주 역할이 데이터 전처리 입니다.

DBMS에 따라 크게 RDBMS와 NoSQL로 나뉘어 있고, 거기에서도 Oracle, MySQL(또는 MariaDB), MSSQL, PostgreSQL, MongoDB, 카산드라, 최근에는 클라우드 밴더사에서 제공하는 DBMS서비스 등 세부적인 데이터베이스의 종류로 나눌수 있습니다. IT종사자가 아니거나, 기업 임원들 중에서는 DBA면 다 다룰수 있어야 하는거 아니냐라고 착각하시는 분들도 있는데 두세가지 이상의 데이터베이스의 아키텍처를 이해하고 완벽히 다룰수 있는 사람은 시장에 많지 않습니다.

물론 비슷한 RDBMS 계열의 DB를 다뤄 봤으면 다른 데이터베이스에 적응하고 익히는데 빠를순 있습니다. NoSQL은 기존의 RDBMS와 아키텍처가 전혀 달라서 익히고 숙달되는데는 시간이 필요합니다.

 

데이터베이스 직군의 트렌드 변화는?

예전에 “데이터베이스를 한다 = Oracle 을 한다” 였습니다. Oracle의 점유율은 독보적이었고, 지금도 안정성이나 중요도 높은 DB들은 Oracle을 많이 사용하기도 합니다. 다만 Oracle의 라이선스가 매우매우 비싸고, 폐쇄된 정책을 가지고 있기 때문에, 근래에는 오픈소스 DB를 많이 사용하기 시작했습니다. 또, 오픈소스 DB들의 성능이나 안정성이 Oracle 못지 않게 올라온 것도 한 몫을 하고 있으며 기업 입장에서는 단가를 줄일 수 있다라는 장점이 가장 크게 다가왔을 것 입니다. 물론 아직도 “돈 많으면 오라클”이라고 농담을 던질 정도로, 오라클이 제공하는 기능들의 강력함은 누구나 인정하는 것이죠. 하지만 IT로 떠버린 카카오나 네이버 같은 기업들에서도 오픈소스 데이터베이스를 적극적으로 활용하면서 세간의 인식이 변했습니다.

어쨌든 기업들은 IT 분야에 들어가는 단가를 줄이기 위해 탈 오라클을 선언하기 시작했고, 국내는 MySQL, 일본이나 유럽은 PostgreSQL을 필두로 RDBMS 시장이 급격히 변화하고 있습니다. 또 RDBMS로 커버하기 힘들거나, 대규모 클러스터링 시스템을 위해 NoSQL을 선택하는 경우도 늘고 있습니다.

기존의 Oracle DBA들은 오라클을 운영 할 줄알면 되었고, SQL를 다루거나 정책적인 부분, 프로젝트등에 많이 시간을 할애 하고, 장애나 기술적인 부분은 SI업체나 밴더사를 통해 기술지원을 받는 경우가 대부분이었습니다. 하지만 오픈소스DB를 사용하는 업체들은 DBA가 개발을 어느정도 할줄 알아야 하고, 직접 모니터링을 개발한다거나, 클라우드를 접목하는 경우가 많기 때문에 클라우드 인프라 환경등에 대한 특성을 알아야 한다거나 하는 엔지니어링 측면이 보다 중요해 졌습니다. 그래서 기존의 ORACLE만 하던 DBA분들이 오픈소스 쪽으로 쉽게 넘어오지 못하는 경우도 많고, 또 Oracle 처럼 강력한 기능들이 없으니 개발을 통해 구현해야하는 부분은 직접 개발을 배우지 않고는 도전하기 힘든 부분이어서 경력이 찬 후에는 상당한 고민거리 중 하나입니다.

그리고 오픈소스 데이터베이스는 특정 데이터베이스 하나만 가지고 사용하는 경우도 있지만, 여러 데이터베이스를 혼합해서 사용하는 경우도 있습니다. 예를 들면 MongoDB의 Full Text Search는 n-gram도 지원하지 않고 한국어도 지원하지 않으니, 엘라스틱 서치를 같이 도입해서 검색엔진으로 사용하기도 합니다. 특히나 Redis의 경우 분야를 가리지 않고 다양한 영역에서 사용됩니다. Key-Value 스토어로 사용되는 경우도 있고, 웹이나 DB 캐시로, 또는 Queue로 사용되는 경우도 있습니다.

하지만 결국, 금융권을 제외하고는 계속 탈 오라클 추세가 이어질 것으로 보이고, 새로 데이터베이스 분야에 도전하는 사람이라면 수많은 오픈소스 DBMS 중에 이것저것 손대는 것 보다는 자신이 특기로 내세울수 있는 DB를 하나 집중적으로 만들고 나서 분야를 넓혀가는 것을 추천드립니다. 우선적으로 오라클을 공부하는 것은 많은 RDBMS 오픈소스들이 오라클의 아키텍처를 따라가고 있으니 RDBMS를 이해하는데 있어 좋은 방법이기도 합니다. 트렌드를 잘 읽고 남들이 하지 않는 것을 해서 유니크한 사람이 될 것인지, 대세를 따라 많이 필요로 하는 분야를 택할 것인지는 잘 고민해보시기 바랍니다.

 

데이터베이스 업무가 중요한 이유

DBA를 보유한 기업들은 대부분 이미 알고 있습니다. 하지만 DBA가 없이 개발자들로만 시작한 프로젝트들의 경우 사용자가 많아지고 시스템 규모가 커지면서 데이터베이스에 대한 구조적인 문제가 눈에 보이기 시작합니다. 데이터베이스의 이해도 없이 DB를 구축한 경우, 데이터가 없고 사용자가 많지 않은 서비스 초반에는 잘 느끼지 못하는데, 사용자가 늘고 서비스가 커진 이후에 이건 설계부터가 잘못 되었다고 느낀 순간이오면 이미 돌이킬 수 없는 상황일 수도 있습니다. 정말 데이터베이스를 처음부터 재구성하고 이관을 해야하는 경우가 생길 수도 있습니다. 초기 데이터베이스 모델링 없이 서비스 구축에 의한 사용자 증가 후 성능 이슈 발생은 실제로 많은 스타트업들에서 겪는 일입니다. 업계가 워낙 좁으니 한다리만 건너면 그 회사가 어떤 상황인지 대부분 알수 있습니다. 실제 엄청 잘나가는 회사인데 데이터베이스 부분 인력공고가 나서 물어보면, “거기 DB 개판이야 손댈수가 없는 지경이야”, “똥 치우러 가야하는 걸 수도 있어” 라는 대답을 들어본적도 있습니다.

실제로 서비스를 위한 애플리케이션을 설계할 때 데이터베이스 모델링이 계획한 서비스에 맞게 제대로 진행되어야 하는 부분이 매우 중요합니다. 실제로 DBA 없는 업체의 MariaDB에서 한 테이블에 20개가 넘는 컬럼값을 가진 테이블들이 많다거나, ERD 없이 데이터 저장되는 것에 따라 설계 해버린 데이터베이스, MongoDB를 사용하면서 관계형으로’만’ 설계한 데이터베이스 등 잘못된 초기 아키텍처를 많이 봤습니다.

사용하고자하는 DB의 아키텍처 및 특성을 고려하지 않고 DB를 설계해버리면 나중에 처음부터 재구축을 해야하는 경우도 발생하고, DB의 버전이 업그레이드 해야 되는 시점까지 겹치게 되면 애플리케이션이나 다른 부분도 개발을 다시해야하는 경우도 발생합니다. 그러니 장기적으로 보고 데이터베이스 설계부터 단단히 하는 것이 비용적으로 시간적으로 모두 중요한 부분입니다.

 

데이터베이스’만’ 해서는 안되는 시대

오라클이 DBA들의 주 타겟이었을 때는 데이터베이스’만’ 해도 괜찮았습니다. 다른 IT 직군 보다 높은 연봉, 희소성 등 모든게 좋았죠. 하지만 오픈소스 데이터베이스, 클라우드 환경, MSA 환경으로 서비스 환경 자체가 변화되면서 DBA들의 역할도 변하고 있습니다. 하지만 그때도 데이터베이스’만’ 할줄 아는 사람과 인프라, 즉 네트워크, OS, 스토리지 등을 이해하고 있는 DBA 하고는 차이가 존재 했었습니다. 지금은 새로운 환경에 대해서 아느냐 모르느냐에 따라 극심한 차이가 납니다.

기업이 신규 서비스에 MSA를 도입하기로 했습니다. 심지어 DB도 도커라이즈 하길 원합니다. 그럼 DBA입장에서는 도커가 뭔지 알아야하고, 도커라이즈 했을때 발생할 수 있는 문제점, 도커라이즈 하는 법에 대해 알아야합니다. 개발의 영역에 들어선 겁니다. 또 다른 예로, MySQL을 도입했습니다. 하나의 Master로는 도저히 쓰기 작업을 감당하기 힘듭니다. 샤딩을 도입해야 할 것 같습니다. DB 자체는 스파이더 엔진을 통한 샤드밖에 지원되지 않으니 앞단(Was나 애플리케이션)에서 샤딩 처리를 구현해야 할거 같습니다. 이런 경우로 DBA가 개발에 참여 할 수 밖에 없습니다.

오픈소스 데이터베이스를 도입하고 신규 모니터링을 도입하고자 합니다. 오픈소스로 구축하다보니 상용 모니터링 툴을 도입하기 기업이 꺼려합니다. 모니터링도 개발로 해결하자고 합니다. 그럼 어떤 것을 모니터링 할 것인지 결정하는 것도 DBA 몫으로 돌아옵니다. 개발자들과 협업도 잘 이루어 져야하고, 어떤 툴을 이용할 것인지, 선택한 오픈소스 모니터링툴들이 DB에 부하를 주지는 않는지, 어떤 방식으로 모니터링 하는지 알아야 하죠. 자빅스, 프로메테우스, 그라파나, 플루언트디, 엘라스틱서치, 키바나 등 모니터링에 사용되는 오픈소스들도 굉장히 많습니다.

특히 이런거는 대기업에서 많이 접하는 사례인데, 우선 엔지니어에서 DBA로 전향한 분들이 겪는 어려움이기도 합니다. 내 분야의 일이 아닌것도 많이 시키고, 문서 작성이 많습니다. 엔지니어때는 내 할일만 하면 됐는데, 그 역할로 기업에 입사했는데, 정말 이것 저것 시킵니다. 그런 부분이 싫어서 퇴사하는 사람도 봤습니다. 그게 대기업이구요. 그 대기업에 오라클 DBA로 입사 했습니다. 단가를 낮추기 위해 신규 서비스는 MySQL로 도입한다고 합니다. 그럼 그 몫은 DBA에게 갑니다. MySQL 공부 해야죠. AWS에 올린답니다. RDS를 사용한다고 합니다. 그럼 RDS에 대해 알아야 할테고, 오로라랑 비교도 해봐야 할테고, EC2에 올려서 설치하는것도 고민을 해야 할테구요. 그러기 위해서는 AWS가 뭔지도 조금은 알아야 하겠죠.

다른 분야를 어느정도 알아두게 되면, 물리적인 아키텍처를 그리거나 트러블 슈팅 할 때도 좋습니다. 적어도 DB 이외의 것을 몰라서 처리를 못하는 상황을 겪는거 보단 내 분야가 아니더라도 빠르게 원인 파악을 할 수 있는 편이 회사로부터 더 자신의 가치를 높이는 일이겠죠. 나중에가면 직급이 오르고 CTO 같은거 할 수도 있잖아요.

 

어디까지나 위의 내용들은 제 개인적인 견해일 뿐입니다.

하지만 자신의 위치를 정확히 알고, 너무나 빨리 변해가는 IT 기술의 흐름에 맞게 자신의 능력을 키우는 것도 중요한 일이하고 생각합니다. 많은 개발자들이 충원된 만큼 시간이 지나면 DBA를 충당하려는 기업들도 많아질 겁니다.

데이터베이스를 다루는 직군은 여전히 매력적이며 다양한 분야로 업그레이드 할 수 있는 직군이라 저는 아직은 좋다고 생각합니다.

 

You may also like...

15 Responses

  1. 타락천사26 댓글:

    좋은 글 감사합니다.

  2. 닷닷 댓글:

    좋은 글~!
    하지만 이정도 시야를 갖지 못하는 dba들도 너무 많아요..

  3. 술이 댓글:

    이젠 옛날과 달라졌습니다. 달라도 많이 달라졌어요.
    MSSQL쪽에 몸담고 있는데 SQL쪽은 OS쪽도 빠삭해야되고 이기종 인터페이스 패키지 가이드도 잘해야되고 성능분석 장애분석도 DBA단에서 처리를 해야되는 현실이 되었습니다. 권한통제 및 이력관리 잘되야되고 뭐 여러가지가 있는데 이젠 정말 깔끔하게 FM데로 해야됩니다. 이런 다양성을 지닌 인력을 추구하다보니 사람이 아예 없죠. 인건비가 많이 비쌈에도 불구하고 사람이 없습니다.

  4. 잼민이 댓글:

    좋은 글 감사합니다. 요즘 느끼는 점은 한분야가 아닌 다방면으로 재능이 필요해지는 시기 같아요.

  5. dd 댓글:

    좋은글 잘읽었습니다. 저는 6년차 DBA인데 처음부터 DBA로만 경력을 쌓았고 할줄 아는건 MS-SQL밖에 없는데 이제는 오픈소스 dbms를 하고 싶은데 옮기기가 쉽지 않습니다. 여러 기종의 dbms를 다뤄보신거 같은데 어떻게 하면 기술 범위를 넓힐수 있을까요? 궁금합니다..

    • Rasta Lion 댓글:

      우선 저는 교재로 삼을 수 있는 도서를 많이 봤고, 스택오버플로와 공홈의 문서를 많이 참고 했고, 스터디를 만들어서 리딩을 진행했습니다.
      RDBMS는 비슷한 부분이 많아 대상 DB의 아키텍처만 이해하면 공통적인 부분은 많이 따라옵니다. NoSQL의 경우 아키텍처와 동작 방식이 완전히 다르니 실제 테스트하고 구성 해보는 것을 많이 했습니다.
      기존에 사용하시던 제품과 장단점을 구별해보고 하는 것도 도움이 됩니다. 새로운 프로젝트에 그런 자료를 가지고 DB를 바꿔보자고 제안을 올려보셔도 좋고요. 해야하게 되면 결국 할수 밖에 없으니까요

  6. 지나가던사람 댓글:

    좋은 글 읽고 질문이 남깁니다… 현직 1년차에 팀 내에선 몽고db를 이용한 서버 개발 업무를 진행 중인 사람입니다. 언젠간 저도 이직을 하게된다면 몽고 db 관련하여 이직한 제 사수와 동일하게 몽고 db 쪽 분야로 진출하고 싶습니다. 데이터베이스 엔지니어 형태로 많이 뽑더라구요.. 요즘.. 말씀하신대로 한 dbms 판 다음 기술 범위를 넓히는 식으로 진행하려고하는데, 몽고 db 하나를 메인으로 진행할 정도로 몽고 db의 전망이나 변별력이 있는지 여쭤봅니다.. 그리고 조언 한마디 부탁드립니다. 감사합니다

    • Rasta Lion 댓글:

      우선 개발자 출신이 MongoDB를 하는데 있어 유리한 부분이 있습니다. MongoDB 특성상 Javascript를 잘해야하는 부분이 있거든요.
      MongoDB를 통한 DBA 포지션으로 전향을 생각하시는 것 같은데 한국에서는 취업문이 되게 좁습니다.
      우선 DBA 포지션이 기본적으로 RDBMS를 깔고가는 포지션이기 때문입니다. 많은 회사에서 RDBMS +@를 원하는 경우가 많기 때문에,
      MongoDB로 전문적으로 서비스를 운영하는 업체는 많지 않습니다. 대충 카카오, FLO, EA Korea 정도이고 각각의 회사들의 니즈가 매우 다르기 때문에 Mongo로 취업을 원하신다면 가고자 하는 회사에 맞는 준비를 하셔야합니다.
      대부분 한국에서 MongoDB 포지션은 MongoDB 밴더사의 기술지원 포지션, MSP의 기술지원팀, 그 밖에는 클라우드 상품개발팀이 대부분인 상황입니다. DBA로 업무를 하는 곳은 많지 않다고 보셔야 해요.
      DBA라는 포지션은 기본기가 엄청 중요한 포지션이라 DB의 동작 아키텍처와 데이터베이스에 대한 이론 공부가 바탕이 되야하는 포지션입니다.
      그래서 기술 면접에 기초적인 아키텍처와 동작방식에 대한 질문을 많이 하는것이구요.
      현재로써는 MongoDB만 가지고는 취업시장이 너무 힘들다라고만 전해드리고 싶네요. 제가 실제로 도전하고 느낀 것 이라서 말씀드릴수 있습니다.
      DB는 기본기가 매우 중요하고, 특히 DB마다 가진 아키텍처를 이해하는 것이 중요합니다. 또 일반적인 데이터베이스 이론이 매우 중요한 부분이니 DB로 전향을 생각하신다면, 스터디 찾아서 공부하시고, 공식 문서를 많이 보셔야 합니다.
      MongoDB 하나만 가지고 DB엔지니어로 전향도 괜찮지만, MongoDB를 잘 다루고 이해하는 백엔드 개발자로 성장하시는게 취업에는 더 유리할것 같습니다.

  7. 정상규 댓글:

    안녕하세요. 와~ 정성스런 글 잘 읽었습니다.
    저는 데이터베이스 엔지니어를 12년 정도 했습니다. 인포믹스와 DB2를 주로 지원하고 있습니다.
    말씀하신대로 DB만 해서는 안되고 누가 시키진 않지만 개발을 공부해야된다는 압박을 스스로도 느끼고 있지만 너무 엔지니어 생활만 오래해서 그런지 쉘스크립트나 sql에만 익숙해져 있네요. 쉘에 너무 익숙해져서 그런지 python은 진도가 잘 안나가네요.
    수년전부터 클라우드니 오픈소스 전환이니 해서 인포믹스에서 다른 DBMS로 전환되는 경우가 많다보니 겉핥기식으로 postgresql이나 edb, mariadb, mysql, altibase도 공부했는데.. 그렇게 조금씩 공부하다가 이직 시도 해보면서 안되면 그냥 적당히 하는데까지 하다가 IT는 접어야 될 것 같습니다. 쩝..

    • Rasta Lion 댓글:

      하나만 집중하시는게 좋을것 같습니다. PostgreSQL의 수요도 점점 많아지고, MySQL은 이미 많이 늘었습니다. 둘 중에 하나에 집중하셔서 보시면 금방 실력이 느실겁니다.

      • 정상규 댓글:

        답글 감사드립니다. 몇년동안 이직 시도를 하고 있는데 점점 자신이 없어지네요. 인포믹스가 잘되면 좋겠지만 국내에선 그럴 가능성은 없어보이고.. 그래도 먹고 살려면 계속 시도해봐야겠죠.

  8. 구름 댓글:

    안녕하세요. 이직 준비중에 글 너무 잘 보았습니다. 몇가지 조언을 얻고자 댓글 남겨봅니다. 현재 저는 oracle 엔지니어로 만 4년 동안 일했습니다. DBA 로 이직을 하려하는데 처음에는 단순히 oracle dba 만 생각을 했었습니다. 근데 말씀하신 내용이 너무 공감이 되는게 현재 구인공고를 보면 대부분의 기업들이 클라우드 환경으로 넘어가는 추세이고 그에 따라 mysql 등 오픈소스, 클라우드 환경에서의 db 운영 경험자를 요구하더군요.. 근데 현재 저는 oracle 엔지니어 경험만 있지 oracle db 운영 경험도 없는 상태입니다. 기본적인 oracle 아키텍쳐만 알지 dba로서의 운영 능력, 대용량 데이터를 만져본 적도 없으며 튜닝 지식 또한 부족합니다.. 요즘 들어 엔지니어 업무가 겉핥기로 느껴져 DBA로 이직을 준비하도 있습니다. 막연히 oracle dba로 공고를 보니 금융권, 대기업 si 업체가 많더군요.. 와중에 클라우드 db 운영 경험을 할 수 있믄 클라우드 업체로부터 컨택을 받은 상황입니다. 금융권 si 업체로의 이직과 클라우드 업체가 너무도 극명히 차이가 나서 고민됩니다. 결국은 클라우드를 피할 수 없는거라면, 지금 바로 클라우드 환경 dba로 이직을 하는게 맞는걸까요? 아니면 금융권에서 온프렘에서의 오라클 및 타디비 dba 경험한 이후에 클라우드 환경을 경험해도 늦지 않을까요? 클라우드 환경으로 갔다가는 제 oracle db 엔지니어 커리어도 애매해지고 저만의 메인 db가 없는 것 같아서 고민이고 금융 dba로 갔다가는 결국 생존하기 위해서 나중에 클라우드쪽으로 가는 것이면 괜히 돌아가는 건가 하는 생각이 듭니다. 지금 두가지 갈림길에서 한가지로 결정해서 갔다가 영영 그 안에만 머무르고 변화가 어려울 것 같기도 하구오.. 조금이라도 빨리 클라우드를 경험하는게 나을까요 아니면 oracle dba를 거치고 가는게 맞을까요? 답은 없다지만 조언 부탁드리겠습니다. 감사합니다.

    • Rasta Lion 댓글:

      정말하고 싶은게 무엇인지 본인의 성향을 잘 파악하시는게 중요할것 같습니다. 오라클만 해도 괜찮아 하는 경우는 금융권이 되게 안정적이고, 좋은 경력을 쌓을수 있는 조건을 갖추고 있습니다. 그리고 오라클의 경우 그런 금융권 및 대기업은 꾸준히 수요가 있습니다. 오히려 더 안정적일수도 있습니다. 하지만 반대로 새로운 걸 공부하는 것을 좋아하고 이것저것 다른 분야와 개발에 조금 관심이 있다면 클라우드 쪽이 나중에 더 많은 방향으로 길이 열려있다고 말씀드리고 싶네요. DB 쪽 방향 뿐만아니라 좀 더 다양한 직종으로 도전할 기회가 생기기도 합니다.
      오픈소스든 오라클이든 DB는 기본적인 아키텍처를 이해하는 것이 중요하고, RDBMS의 경우는 대부분의 동작 원리가 오라클에서 크게 벗어나지 않아 기본기를 잘 쌓으셨다면 배우는데 어렵지는 않을겁니다. 운영 경험이 없는건 높은 연차의 엔지니어도 없는 경우가 많습니다. 다만 경력이 차면서 남의 서비스만 해주는 사람과 내 서비스를 운영하는 사람의 차이가 발생하긴 하기 때문에 내 서비스를 운영해보는게 중요해지는 시점이 오긴 합니다. 내 서비스를 하다 보면 책임감이 더 높아지기도 하고요.
      오픈소스를 하게되면 공부량이 오라클 하던 때보다 더 많아야 하고 그정도 각오는 하셔야합니다. 일단 오라클에서 되던게 다른 DB에서는 안되는게 많습니다. 그런부분, 새로운 아키텍처등을 익혀야하고, 도전하길 좋아하는 스타트업의 경우 RDBMS만 하는게 아니기 때문에 다양한 DB를 동시 다발적으로 공부할 준비가 되어 있으셔야 할거에요. 제가 PostgreSQL를 첨 도전할 때는 국내 발매되어 있는 psql 관련 도서 4권을 한달안에 다 봤습니다. 그렇다고 마스터 했다는 것은 아니구요. 기본은 배웠다 하는 수준이었죠. mongodb를 공부할 때는 스터디 리딩과 실무를 동시에 하면서 mongodb 출간 도서 8권 정도를 6개월에 걸쳐 다 봤구요. 몽고 유니버시티 강의도 찾아보고 그랬습니다. 더욱이 실무라는건 책으로는 배울수 없는 부분도 많기 때문에 정말 운영하면서 배울수 있는 부분도 많습니다. 운영 업무에 도전은 필요하다고 생각하지만, 회사는 준비되기까지 기다려주지 않기 때문에 최대한 빠르게 그 자리에 걸맞는 사람이 되고자 하는 노력이 필요합니다.
      부디 원하는 방향을 잘 생각해보시고 건승하세요 ^-^

  9. 두구둥둥 댓글:

    안녕하세요 글 올려주셔서 감사합니다!!
    현재 대학교 졸업 후 데이터분석쪽으로 취업을 하긴 했는데 이쪽보다는 DBA쪽으로 방향을 잡고 나아가고 싶습니다
    현재 사용할 수 있는 언어는 SQLD자격증 취득하면서 조금 써 본 sql과 Python뿐입니다..
    어떻게 어떤 준비를 해야 DBA 신입으로 입사할 수 있을까 질문 드립니다…

    • Rasta Lion 댓글:

      DBA 신입은 현재 별로 답이 없습니다. 스타트업의 경우 엉망진창인 데이터베이스를 잡아줄 시니어급이 필요하고, 신입을 찾는데는 몇몇 대기업과 금융권 혹은 IT 공룡기업의 공채 정도뿐입니다. DBA 신입을 잘 안뽑는 이유는, 일단 데이터를 다루는 업무가 쉽지 않고, 신입에게 맡기는게 부담인 경우가 많기 때문이구요. 가장 쉬운 방법은 오라클 교육기관 인증을 받고 자격증을 따서 SI 엔지니어부터 시작하는 방법도 있습니다. 오라클이 생각보다 신입에게는 매우 좋은 기회가 됩니다. 아니면 정말 대기업 공채를 노리거나 하는 방법도 있죠. DB는 아키텍처적인 동작 원리를 이해 하는것, 기본기를 매우 중요시하는 포지션입니다. mysql 의 경우는 real mysql 이 책을 달달 외우시는 것이 좋고, 오라클은 공인 교육기관에서 교육시간 인증을 받고 자격증을 취득하는게 가장 빠른 길입니다.
      근데 저라면 통계학을 더 깊게 해서 데이터 분석쪽을 더 특화 시킬것 같습니다.

답글 남기기

이메일 주소는 공개되지 않습니다.