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...

43 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 이 책을 달달 외우시는 것이 좋고, 오라클은 공인 교육기관에서 교육시간 인증을 받고 자격증을 취득하는게 가장 빠른 길입니다.
      근데 저라면 통계학을 더 깊게 해서 데이터 분석쪽을 더 특화 시킬것 같습니다.

  10. 시그니처 댓글:

    안녕하세요. 좋은 글 정말 잘 읽었습니다.
    현재 3개월차 신입 백엔드 개발자로 스타트업에서 일하고 있습니다.
    사실 입사 전까진 생각이 크진 않았는데, 일하면서 데이터베이스를 자주 다루다 보니 이 분야가 재밌고 더 배워보고 싶다는 욕심이 생겼습니다.
    (물론 수준이 굉장히 낮습니다만..ㅠ)

    그래서 다음 커리어로는 DBA로 도전해보고 싶습니다.
    현재 회사에선 EC2에 마리아디비 사용하고 있고, DBA를 전향하게 된다면 클라우드에 MySQL 또는 오픈소스 디비로 갈 생각입니다.

    지금 RealMySQL보면서 공부하고 있지만, 구체적으로 DBA가 되기 위해서 현재 백엔드 개발자로서
    회사에 기여하고 DBA로 이직할 때 내세울 수 있는 경험들, 또는 공부 방향 등에 대해서 조언을 얻고 싶어 이렇게 댓글 남깁니다.

    어떤 말씀이라도 좋으니 라이언님의 솔직한 고견 듣고싶습니다. 감사합니다!

    • Rasta Lion 댓글:

      우선 DBA의 업무는 생각보다 굉장히 반복적이고 지루한 업무가 많습니다. 개발할때와는 다른 점이 많을거에요. 데이터베이스를 공부하다보면 데이터베이스 이론서들이 강조하는 기본 요소가 빠져있는 모델링이 많고, 이런 구조의 DB들은 데이터가 쌓여갈수록 성능 이슈가 발생하죠. 그런데 이미 돌아가고 있는 데이터베이스의 데이터 표준화, 정규화 이런 작업은 쉽지 않습니다. DB 모델이 바뀌면 쿼리가 바뀌고, 소스가 바뀌어야하는 대작업이 발생하죠. 그래서 DBA는 환경 개선의 꿈을 안고 일을 시작하게 되어도, 안되는 현실에 타협하는 경우가 많습니다.

      백엔드에서 DBA로 전향은 매우 좋다고 생각합니다. 일단 비지니스 로직을 아는 DBA는 모델링할 때 이점이 있습니다. 그리고 오픈소스DB를 다루는데 부가적으로 드는 개발 요소들을 직접 할 수 있다는 장점이 있죠. Real MySQL은 우선 정말 좋은 MySQL 교재이지만, 데이터베이스 이론서들을 같이 공부하시는게 좋습니다. 관계형 데이터모델링 프리미엄 가이드, 파워 오브 데이터베이스, 데이터베이스 인터널스 등 이론적인것을 많이 보셔야합니다.
      DB를 트러블 슈팅하거나, 장애 처리하는데 있어 DB마다 가진 아키텍처를 이해하고 있는 수준에 따라 그 DB를 운영하는데 큰 차이가 발생합니다.

      그리고 클라우드 DB는 두가지 선택지가 있습니다. 하나의 DB를 깊게 파는 방법, 여러 DB를 두루 다루는 방법
      기존의 DBA들은 대부분 하나의 DB를 깊게 파서, DB의 소스레벨까지 뜯어보는 매니악한 직군중에 하나였어요.
      하지만, 클라우드 밴더사가 매니지드 서비스를 다 해주는 바람에 깊이 있게 공부하지 않아도 장애처리나 운영이 가능한 시대가 되었죠.
      따라서 본인이 선택을 잘 하셔야합니다. 자신이 깊이 파고드는 스타일인지, 두루 넓게 배우는 스타일인지

      • 시그니처 댓글:

        정말 좋은말씀 감사합니다!

        또 하나 질문드리고 싶은게 있습니다!
        현재 제가 속한 회사의 서비스가 트래픽이 그렇게 높지 않아서
        디비 과부하나 장애가 발생할 일이 적습니다.
        이런 상황에서 제가 시도해볼 수 있는 부분이 있을까요??
        다시 한번 답변 감사합니다.

        • Rasta Lion 댓글:

          실제 트래픽을 늘릴수는 없으니, 그런 상황에서는 다른 회사의 경험자의 경험담을 듣거나 세미나나 같은것도 찾아보는 것도 방법입니다. 간접 체험도 도움이 많이 됩니다.

  11. 농땡이 개발자 댓글:

    DB에 관심이 많은 25년차 윈도우 개발자 입니다.
    개발을 처음 시작하면서 SQL6.x, Oracle6.x를 접하고 프로젝트마다 주로 씨퀄과 오라클을 사용했었습니다.
    개발자로 시작했기 때문에 DB 지식이 깊이가 있지는 않았지만 기초적인 테이블, 인덱스 설계 및 쿼리, sp, fn 작성 정도하는 수준이었습니다.

    예전 직장이긴 하지만 자사 erp 고도화 프젝트를 Oracle DBA와 함께 6개월동안 같이 했었는데요.
    그때 쿼리 튜닝 및 설계 등 개발자가 접할 수 없는 지식을 많이 얻었고 DB를 좀 더 공부하고자 “오라클 성능 고도화 원리와 해법”을 지금도 보고 있습니다.
    그 이후 이직을 하여 외부 프로젝트 PM을 하면서 그때의 지식을 많이 활용했었습니다.
    아쉽게도 현재는 씨퀄을 사용하는 직장에 있습니다.

    잡설이 길었네요. ㅎㅎ

    DB. 참 매력있는 녀석입니다.
    개발만 20년넘개 한 사람이 DB 분야(튜너)로 전향 가능할까요? 제가 가장 관심있고 현재도 공부하는것이 튜닝(쿼리, 인덱스)입니다.
    글 및 덧글에서 말씀하신것 처럼 요즘 트랜드는 주분야 이외에 다른 업무도 같이 하는것이라고 하셔서…
    그렇다고 현재의 개발이 싫은것은 아닙니다. ㅎㅎ
    전향이 가능한지, 가능하다고 하면 무엇을 더 공부해야하는지(개발언어 제외)…
    아니면 그냥 메인으로 개발하면서 DB를 공부하는것으로 하는것이 나을지…(지금도 이렇게 하고는 있습니다.) ㅎㅎ
    DB전문가님의 생각은 어떠신지요?

    • Rasta Lion 댓글:

      정답이 없는 문제이네요. 필요한 걸, 하고 싶은걸 하시는게 정답아닐까요?
      ‘오라클 성능 고도화 원리와 해법’ 이 책을 이해하고 계시다는 것은 결국 DB 아키텍처 및 동작 원리를 안다고 느껴지는데요.
      DB튜닝은 DB의 동작원리, 기본적인 아키텍처 등이 바탕이 되기 때문에 충분히 튜너로 전향 하실 수 있을것 같습니다. DB는 기본기, 아키텍처 이해, 동작원리 이해, 데이테베이스 이론등을 중요하게 생각합니다. 튜너로 생각하신다면 아마 오라클 일텐데 자료가 많으니 충분히 혼자서도 하실수 있을 것 같습니다.
      DB튜닝은 결국 I/O를 줄이는 방법을 찾는것 인데, 쿼리 튜닝, OS튜닝, 엔진튜닝등 다양한 분야에 걸쳐 있기 때문에 여러 방면에서 필요한 부분을 두루 갖추는것도 좋습니다.
      25년이나 개발을 하셨으면 이미 충분히 한분야에서 고수이실텐데, 아직도 공부를 하신다니 열정이 느껴지는것 같아요. 튜너로 전향을 원하시면 튜닝과 컨선팅을 전문으로 하는 회사들 문을 두드려 보시는것도 추천들드립니다. 디비안, 위즈베이스 같은..
      DB쪽은 좀 업무들이 정적이고 수동적인 부분들이 많아서 저는 성격상 DB업무들이 재밌다고는 말하는 편은 아닙니다.
      따라서 저라면 개발을 메인으로 하는것도 좋다고 생각하는데, 결국 튜너가 하고 싶으시다면 좀더 전문가 집단에 소속 되보는게 좋을것 같다고 생각이 듭니다.

      • 농땡이 개발자 댓글:

        답변 감사합니다.
        분석하고 성능 개선하는것 자체가 재미가 있어서 쿼리 튜닝을 즐기고 있습니다.
        전문가 집단에 문을 두드리고 싶어도 현실은 현실이라…DB문야의 신입으로 가게 되는것이니…처우가 높아지지는 않을것 같습니다.

        뭐…그래도 재미있는것을 즐기는것으로도 충분히 만족하고 있으니 그냥 계속 공부해야죠. ㅎㅎ
        공부안하면 똥머리 될 것 같아서 2년전 SQLD 셤공부하고 취득했는데 SQLP도 해보고 ADSP도 해보고 그래봐야겠습니다.

        환절기 건강 유의하시고 좋은하루 되세요.

  12. 두둥 댓글:

    안녕하세요 좋은 글 잘 읽었습니다.
    저는 클라우드쪽으로 갓 입사했는데, 데이터를 전담하는 쪽으로 배정을 받게 되었는데 제가 첫 인력입니다..()
    여러가지 찾아보았는데, 회사에 데이터팀이 있어서 제가 하게 될 일은 어떻게 하면 성능을 좋게 할 지와 문제 대처가 주 업무가 될 것 같은데
    조언을 구할 곳이 없어서 어디부터 어떻게 공부해 나가야 할 지 막막합니다. (hadoop, mysql, jupyter hub, hive 등등을 알아야 합니다..)
    지금은 기본 mysql책 사서 내용 외우고 따라하거나 doc보고 있습니다…
    어떻게 무엇부터 공부해 나아가야 할 지 조언을 구하고 싶습니다 ㅠ

    • Rasta Lion 댓글:

      데이터팀이라고 하셨는데, 그 팀이 DBA 그룹인지, 데이터 엔지니어 그룹인지 궁금하네요. 하둡 하이브 같은게 있는거 보면 데이터 엔지니어 그룹같기도 하고..
      일반적으로 하둡 하이브 같은거는 DBA가 만지지 않는 편이라…
      어떤 방향의 팀인지 우선 확실히 정의 하시고, 어떤 업무가 필요한지 정확히 아시는게 첫번째 같습니다.

  13. dbdb딥 댓글:

    안녕하세요 저한테 너무 필요하고 좋은 글 잘 읽었습니다.
    어디 물어볼 사람이 거의 없어서 이렇게 댓글 남깁니다.
    저는 db 엔지니어에 관심이 많은 대학생 입니다. 그래서 이번에 SQLD 시험 공부하고 취득하였습니다.
    제가 무엇을 준비해야 할지 어떻게 하면 괜찮은 db 엔지니어가 되어야 할지 막막하여 조언을 구하고자 합니다.
    db 기술 지원 엔지니어로 취업하여 나중에 db엔지니어로 이직을 하면 어떤 지에 대한 생각도 듣고 싶습니다.
    db 전문가님의 어떤 말이라도 듣고 싶습니다.

    • Rasta Lion 댓글:

      DB 엔지니어 생활부터 시작하는게 나쁘진 않습니다. 오히려 엔지니어부터 시작하면 설치나 구성, 트러블 슈팅등을 많이 경험하며 DB의 내부적인 아키텍처 등을 공부할 수 있는 기회가 크다고 봅니다. 다양한 회사들의 각기 다른 환경과 버전에서 여러 경험을 할 수 있으나, 대부분 이런 SI 엔지니어링은 오라클에 국한되어 있는 경우가 많습니다. MySQL이나 PG를 유지보수 하는 회사는 몇 개 안되요. 그리고 SI 엔지니어의 최대 단점은, 갑질을 견뎌 내야하고, 일하는 시간에 비해 급여가 적다는 것도 있구요. 무엇보다 DB는 해당 기종의 아키텍처를 잘 이해하고 기본기를 탄탄히 쌓아야 하는 분야기 때문에 엔지니어 생활을 하면서 외근이 많은 업무 특성 상 회사를 잘 만나야 자신이 발전한 시간을 더 가질 수 있다는 특징이 있습니다.
      DB 엔지니어 생활을 4~5년 정도 하면 DBA로 전향할 기회도 오기는 하는데, 어떤 DB를 할 것 인가와 유지보수만 하다가 내 서비스를 운영해야 하는 것에 대한 갭이 크기 때문에 준비를 많이 하셔야 합니다. 또, 의외로 엔지니어 생활 중 고객사에 잘 보여둔 경우 스카웃 제의가 올 수도 있고, 여러모로 기회를 잡을 수 있습니다. 아니면 처음부터 운영 쪽 신입으로 들어가는 것도 좋은데, 이런 공채는 경쟁률이 쎄죠.
      신입은 자격증을 취득 해두는게 좋긴합니다. 일반적으로 시니어들에게는 자격증의 의미 없는게 DB 분야긴 하지만, 신입에게 나 이만큼 기본은 닦았다라는 증명이 되니까, 오라클을 하실거면 OCP, SQLD등을 따두시면 좋구요. 실은 저 자격증은 오픈소스, 즉 MySQL 이나 PostgreSQL과는 조금은 동떨어진 자격증이라 차라리 오픈소스쪽을 노리신다면 기초적인 CS지식을 더 쌓거나, 개발 능력을 갖추면 좋고, AWS 같은 클라우드에 대한 공부를 해두시는 게 더 좋습니다.

      • DBKING 댓글:

        안녕하세요 그럼 개발 능력이라 하심은 어떤 언어를 어떻게 갖추면 될까요?

        • Rasta Lion 댓글:

          회사가 필요로 하는 능력이죠. 어떤 언어는 상관 없어요.
          무얼 할 수 있는냐가 중요합니다. 어떤 언어를 사용하더라도 모니터링을 만들수 있으면 그걸로 모니터링 개발 능력이 되는거구요.

  14. DBADADD 댓글:

    스승님 너무 좋은글 감사드립니다
    개발자로 취업 후 db엔지니어 ? 가 된
    6년차 나그네입니다
    ui개발 약 1년 이후
    쭉 Db엔지니어? (업무 sp개발, 튜닝, sp검수, etl등, 트러블슈팅, SCN으로 수정된 데이터 찾아주고,
    Temo tab full session kill 등.. 모니터링 등등…. 등등..) 로 일하다가 퇴사했습니다.
    데이터 관련 직무로 전문성을 기르고 싶었고,
    같이일하던 DBA분이 백업, 리커버리 부분?, 모델링 등… 이외에는 권한 위임받아 개발 및 운영하였습니다

    제 로드맵은 Dba -> Da가 목표이고
    많이 부족하기에.. 현재 자격증 준비에 전념하며
    구직 중에 있습니다

    그러던 중 DBA프리 제안이 들어왔는데
    Db 구축부터 운영까지 약 1년정도 공수인데..
    구축부터는 경험이 전무한 상태이고..
    모델링도 간단한.. 정규화 부분에 대한
    간단한 지식만있고
    위에 글에 써주신 부분처럼 네트워크나, os 부분의
    지식이 전무합니다.
    이런상태에서 잘 할 수 있을지가 .. 걱정됩니다

    이부분 조언 부탁드려도될까요..?

    Ps. dba관련 추천 해주실만한 책이 있을까요

    • Rasta Lion 댓글:

      기본 지식이 필요하시다면 기본적인 CS(컴퓨터 사이언스)에 대한 도서를 참고 하셔도 좋습니다.
      OS는 지금은 거의 리눅스로 통일중이니 리눅스를 공부하시면 될 거 같구요.
      https://www.youtube.com/playlist?list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl 이 책과 강의 추천드립니다.
      DBA에 대한 도서는 잘 없어서.. 뭘 추천드리기가 어렵고,
      특정 기종에 대해서 우선 파고 들면서 업무에 녹여보시는 방법 밖에 없습니다.
      DA를 꿈꾸신다면 DAP를 따두시는 것도 좋구요. 모델링 부분은 현업과 이론 사이의 괴리감을 잘 좁혀야 합니다.
      대부분 모델링 이론서들은 이상을 쫓는 경우가 많고, 현업은 타협이 많아요.
      김기창 대표님이 쓰신 관계형 데이터 모델링 프리미엄 가이드 같은 책도 좋고, 데이터베이스 인터널스 라는 책도 DB를 이해하는데 도움되실거에요.

      프로젝트 DBA 업무 같은데 난이도를 보고 결정하셔야 할거 같아요.
      신규 구축이라도 사용량 예측이 쉽고 서비스 확대의 기대감이 없는 경우가 있고, 대규모로 시작하는 프로젝트도 있어서요.
      모델링은 비지니스 로직 분석과 데이터 속성 분류에 따른 정규화, 지나친 정규화가 발생하지 않도록 조율 하는 것과 쓰고 버리는 모델과 장기적인 관점으로 봐야하는 모델을 분류하고 이런게 중요해서 어떻게 보면 어렵다고도 할 수 있고, 어떻게 보면 충분히 공부해가면서 해볼만한 일 일수도 있어요.

      • DBADADD 댓글:

        자세한답변 너무너무 감사합니다
        프로젝트가 물건너갔습니다.. ogg 추가사용 으로인해… ogg사용해보지 못한 저로썬.. ㅠㅠ 패스할수밖에없었어요..ㅠㅠ 열공하겠습니다

  15. SQL러 댓글:

    안녕하세요! 좋은글 정말 감사합니다.
    질문을하나 해도 될까요??

    현재 금융권에서 Oracle DBA업무를한지 2년정도 되었는데 DA직무로 mssql을 다룰 기회가 생겼습니다.
    oracle DBA에서 mssql Database Architecture로 전향하면 추후에 일하는문이 많이 좁아지게 되는걸까요??
    DBA/DA를 따로뽑는 회사라면, DA업무는 철야근무나 인프라적 요소는 좀 적게 접하게 되는걸까요 ??
    알고계시는 선에서 답변주시면 정말 감사하겠습니다.

  16. dbsql 댓글:

    안녕하세요 DBA/DA 차이점 찾다가 발견했는데 좋은글 감사합니다.

    현재 금융권에서 2년차 정도 된 오라클 DBA입니다. 이직자리를 알아보다가 Mssql기반 DA업무를 할 수 있는 기회가 생겼는데 이러한 경우엔 Oracle dba->mssql DA는 많이 좁아지는 길일까요 ?? 현재 DBA업무로써는 업무자체는 재미 있지만 종종있는 철야작업이 힘들어서 DA로 전향하면 더 나을까 싶기도 하네요 ㅜㅜ
    업계 선배님으로써 어떤지 자문을 구하고자 합니다..
    답변 기다리겠습니다
    감사합니다.

    • Rasta Lion 댓글:

      MSSQL이 다른 RDB와는 조금 많이 다르기도 하고, 특수 케이스여서 하시면 희소성은 생기긴해요.
      일자리가 게임 업계가 많긴한데, 일자리가 부족하편인데, 업계도 사람이 없다고 하는 편입니다. MSSQL DBA는…
      DA업무는 대부분 모델링 위주인데, 이건 주니어급이 하는 업무가 아닌편이긴 한데 기회가 된다면, 하실 수 있다면 도전해보는 것도 좋을거 같네요.
      철야 근무는 뭐 프로젝트가 급하면 하는거고, 회사사정에 따라야 겠죠?
      DA로 데이터 모델링만 한다면 인프라적인건 몰라도 상관없지만, 이 바닥이라는게 참 다양한 CS 지식을 갖출수록 좋습니다.

  17. door 댓글:

    안녕하세요 컴공 학부생에게 정말 도움이 되는 글이였습니다.
    졸업후에 DB쪽 대학원을 들어갈까 고민중인데 대학원에서
    공부하는것이 당장 취업하는것보다 도움이 될지 고민입니다.
    조언 부탁드립니다..

    • Rasta Lion 댓글:

      DB쪽을 대학원에서 어떤 공부를 원하시는지 잘 모르겠지만 현업과 이론의 괴리감이 꽤 큰 직군입니다.
      저 대학 교재들 보고 이 따위로 정규화 하라고 가르친다고 느낀 교재들도 많았구요…
      DB 엔진을 연구 개발쪽 하실거 아니라면 현업쪽이 낫다고 생각합니다.

  18. 당근 댓글:

    안녕하세요 데이터베이스 직군에 관심을 가지고 있었는데 좋은 글, 댓글까지 잘 읽었습니다. 한가지 질문을 드리고 싶습니다..
    저는 이제 막 졸업하는 학생으로 데이터베이스 직군에서 신입은 잘 안뽑는다 하여 현재 웹개발과 클라우드 구축,운영에 관심이 있어 둘 중 한 분야를 먼저 공부한 후 차후에 데이터베이스 분야로 가고자 합니다. 보통 백엔드개발자를 시작으로 넘어가곤 하던데 클라우드 구축,운영하던 업무는 데이터베이스 분야로 넘어가는데 큰 도움이 되지 않으려나요…? 두 분야 다 공부해야하는 입장이라 한 분야를 정해 집중적으로 공부하고 싶은데 어떤 분야로 시작하는 것이 더 도움이 될지 고민입니다..
    긴 글 읽어주셔서 감사하고 간단한 조언이라도 부탁드리겠습니다..

    • RastaLion 댓글:

      클라우드 -> 인프라에 대한 이해도가 높아짐, 실제 DB를 접속해서 만지는 경우는 잘 없음
      백엔드 개발자 -> 비지니스 로직에 대한 이해도가 높아짐, DBA가 없는 경우 실제 DB를 다루는 경우도 있음.
      둘 다 각각이 가지는 장점은 있습니다. 비지니스 로직의 이해도는 DBA를 하면서도 시스템을 계속 보면 늘기는 합니다만 인프라에 대한 지식은 별도로 공부하지 않으면 어려운 분야긴 해요.
      DB 분야 자체가 기본기가 좋아야 하기 때문에 따른 직군에서 하시려면 노력이 많이 필요해요.
      차라리 신입 공채, 또는 SI 업체 DB 엔지니어로 시작하는것도 나쁘지 않습니다.

      • 당근 댓글:

        답글 정말 감사합니다..
        아직 어떤 길로 갈지 정하지는 못했지만, 여러생각들로 머릿속이 많이 복잡했는데 나름 정리된 것 같습니다.. 감사합니다..!

  19. SONTENN 댓글:

    DBA & TA 업무 12년차입니다. 현재는 클라우드 MSP 회사에서 DBA로 일하고있죠.
    좋은 글이네요. 12년간 DB를 한 제가봐도 울림이있네요..
    클라우드 특히 AWS를 하다보니..인프라구축이 이렇게도 쉽고 관리가 편했나 싶을때가 많습니다. 이제는 점점 클라우드가 대세가 되버린거죠.
    DBA도 클라우드를 아느냐 모르느냐에 따라 대우가 달라집니다.
    저희회사같은경우는 3손가락안에 드는 MSP업체인데..확실히 탈 오라클이 눈에보입니다.
    굵직한 고객사들이 많은데 오라클을 마니 벗어났어요. MYSQL이나 AWS Aurora로 마니 넘어와있습니다.
    nosql같은경우도 DynamoDB로 마니 넘어와있구요. 클라우드 한번 맛보면 온프라미스로 못돌어가는거같습니다.

    너무 편하거든요.

  20. Ahn YongJoo 댓글:

    안녕하세요. SAP Basis 로서 일한지 만 3년이 다되어가는 사람입니다.
    요즘들어 고민이 있는데요.
    SAP Basis 라는 직업이 Application(SAP) – DB – OS 간의 관계 및 각각의 내부적인 아키텍처를 정확히 알고 있지 않으면 SAP에서 발생한 문제에 대한 접근이 힘들다는것입니다. 그것 때문에 현재 진행중인 프로젝트에 앉아있지만 항상 불안한 상태로 근무에 임하고 있습니다
    내가 제어하거나 통제하지 못하는 문제들이 닥쳐올때면 회피하려고도 하구요. 혹은 제대로 로그를 분석하려고 하지도 않고 로그를 봐도 제대로 이해하지 못한채 사수에게 공유드려 큰 소리를 자주 듣습니다.
    요점은 SAP 를 하기 전에 SAP 의 기반이 되는 DB – OS의 내부 구조 및 동작원리에 대해서 정말 기초부터 배워야 할 필요성을 처절하게 느끼고 있습니다.
    그냥 책하나 정해서 이걸 통달해야 한다면 그렇게라도 해서 뭔가 기초를 만들어야 할것 같습니다.
    DB 에 대해 저 보다 많은 부분을 이해하고 있는 선생님께 조언을 구하고 싶습니다.

    1. SAP Basis 직업은 OS와 DB, Network 에 대한 이해를 필요로 한다.
    2. 현재, OS, DB, Network 에 대한 지식없이 SAP 에 대한 아키텍처 및 작동원리에 대해서 배우고 있는 상태이다.
    3. OS, DB, Network 에 대한 기반 지식이 없으니 SAP 에서 발생되는 이슈에 대해 단편적인 해결방법만 알고 해당 이슈에 대한 근본적인 원인은 파악하지하지 못한다.
    4. SAP는 Oracle, HANA DB, Max DB, Sybase 등 다양한 DB와 호환가능하나 현재 SAP 에서 지원하는 HANA DB 외에 Oracle, Max DB, Sybase에 대해는 너무나 지식이 부족하며 어디서 해당 DB들에 대한 기초 구조나 기본적인 작동원리에 대해서도 무지하다.
    5. 심지어 SAP 에서 제공해주는 Notes 를 찾아보지만 DB, OS, Network 등에 대한 지식이 부족하니 제대로 이해하지 못하는 경우가 많다.
    ( SAP 만의 문제인 경우 그나마 이해 가능 )

    • RastaLion 댓글:

      클라우드 커뮤니티가 많으니 여기 저기 찾아다니면서 스터디 해보세요. 클라우드를 공부하다보면 전반적으로 공부할 수 있구요. 네전따 같은 카페에서 네트워크를 많이 배울수 있어요. SAP 무엇보다 DB를 좀 알아야 할텐데 너무 많은 DB를 혼자할 수 없으니 가장 많이 쓰는 하나와 오라클 정도만 해보셔도 나중에 다른 DB를 이해하시는데 도움이 많이 될거에요. 오라클은 시중에 도서와 자료, 레퍼런스가 엄청 많으니 쉽게 접할 수 있습니다. Sybase나 MAX는 일반적인 DB가 아니고 많이 쓰는 데도 없으니 굳이 해야하나 라는 생각은 듭니다. SAP를 계속하실거라면 그 쪽으로 특화 시키셔도 됩니다. 결국 IT는 여러 분야를 같이 알아둬야 더 윗단계로 나아가는 길이 보입니다. 내가 개발자라고 인프라를 모른채 개발만 해서도 내가 DBA라고 인프라나 개발을 모르면 성장에 대한 틀이 매우 좁아져요. 아직은 3년차니까 제일 좋은 방법은 많은 클라우드 커뮤니티를 찾아다니며 전반적인 지식을 쌓고 인맥을 쌓다보면 온프렘에 대해 알려주는 선배들도 나타날거에요. IT선배들도 열심히 하는 후배가 있으면 많이 알려주는 편이라 열심히 싹싹하게 잘하면 배울 곳은 많습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다