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에서 한 테이블에 100개가 넘는 컬럼값을 가진 테이블들이 많다거나, 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...

73 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선배들도 열심히 하는 후배가 있으면 많이 알려주는 편이라 열심히 싹싹하게 잘하면 배울 곳은 많습니다.

  21. mega 댓글:

    안녕하세요. 저는 대기업 SI에서 백엔드 서비스 운영 업무로 일한지 6년차인 운영자입니다.
    주니어때부터 BA로 일하다보니 사람만 관리하는 일에 지쳐 이대로는 회사의 관리자로 썩을 것 같은 커리어 고민을 하다가 관심 있었던 분야인 데이터 직무로 이직을 알아봤고 운좋게 이번에 중견 회사의 DA, DBA 직무로 이직을 하게 되었습니다. 지금 업무는 대규모 서비스를 관리 운영하는 업무여서 비즈니스 도메인은 잘 알지만 기본적인 오라클 쿼리 정도만 다룰줄 알아 이직한 회사에서 업무를 잘 할 수 있을지 걱정이 참 많습니다.. 물론 지금 서비스 운영 업무를 하면서 업무 쿼리 작성이나 테이블 모델링 변경, 수많은 장애/상황 대응, 에플리케이션 레벨에서 발생한 트러블슈팅은 숙달되었지만, 제 자신의 DA와 DBA 역량은 낮은 것 같습니다. 이직 전까지 DA와 DBA 역량을 쌓고 싶은데 어떻게 준비하는게 좋을까요? 조언 부탁드리겠습니다..

    • RastaLion 댓글:

      기존에는 DB엔지니어 위주로 업무를 하신것 같네요. 결국 DB운영 관리는 크게 다르지 않습니다.
      엔지니어와 관리자의 관점이 다른 부분은 내서비스를 하냐마냐의 차이거든요.
      쿼리는 기본적인 것들만 하셔도 충분해요. 대신 플랜을 보고 튜닝을 할 수 있는 것을 공부 하셔야하구요.
      요즘은 트러블 슈팅이나 SQL 문법같은건 ChatGPT가 다해주기 때문에 문제가 없습니다…
      아직까지 튜닝을 해주진 않더군요.
      그리고 사수가 없다면 DBA 인맥 네트워크를 만드시는게 좋습니다.
      지식 공유와 노하우 공유 해주시는 분들 많이 있어요.
      그리고 무엇보다 본인의 자세와 노력이 제일 중요하긴 합니다. 저도 첫 직장이 사수가 없던 곳이 었는데 매일 새벽3시까지 리눅스를 설치하고 지우고, 오라클 설치하고 지우고 백업하고 복구하고 계속 반복 했었어요.
      점검 스크립트도 만들어보고, 만든 sql이나 다른 이의 쿼리를 개량도 해보고 계속하셔야 합니다.

  22. 김유성 댓글:

    현재 4년차 33세의 백엔드 개발자 입니다.
    사실 DB에 관심이 있어 DA, DBA로 직군을 변경하고 싶긴하지만 제 이력과 보여줄 수 있는게 극히 제한적이여서 계속 고민중에 있습니다.
    사실 백엔드 개발에 있어서 해당 지식을 습득하여 많은 도움이 되고 업무에 적용이 가능하지만 뭔가 갈증이 해소가 되지 않아서요.

    현실적으로 제 나이 연차로 직군변경이 쉽지 않겠지만 조금이라도 가능성이 있는 길이 있을까요?

    • RastaLion 댓글:

      솔직히 주니어 연차에서 뭔가 보여주기가 힘든것이 DB 포지션입니다. 그리고 잘 뽑지도 않죠. 그래서 주니어 면접시에 기본적인 DB의 아키텍처, 동작원리, 이론적인 것을 굉장히 많이 물어봅니다. 그리고 자기 생각을 말할 수 있는 것하고 경험적인건 2차로 보는 경우가 많습니다.

      백엔드 개발자면 무엇보다 어필하기 좋은 것이 비지니스 로직을 DB설계에 녹일 수 있는 장점을 보여줄 수 있는 포지션인데 그건 바로 정규화를 바탕으로한 데이터 모델링 능력입니다. 따라서 하고 싶은 DB의 아키텍처를 잘 공부하시고 어떻게 정규화를 해야 I/O가 줄어들고, 불필요한 데이터를 덜 읽어오고 너무 많은 정규화가 되는 건 아닌지 안티 패턴에 대해 공부해보시고 그런게 쌓이다 보면 개발이든 DB든 엄청 도움되실거에요.

      • 김유성 댓글:

        제가 고민하던 부분을 정확히 설명해주셔서 너무 감사합니다.
        DB포지션으로 직군변경을 목표로 한다기보다 DB에 대해 이해를 깊이 하는 것을 목표로 잡아야 제게 도움이 될 수 있을 것 같네요.
        생각 정리가 깔끔하게 되어 너무 감사드립니다~!

  23. 초보 댓글:

    안녕하세요. 글 잘 읽었습니다. 현재 DB 엔지니어로 취직하여 6개월 업무를 하였습니다. 하지만 기본적인 지식을 배우기 위해 공부하거나 클라우드 전환 사업등으로 직접적으로 관련된 경력은 없습니다. 현재는 DW 프로젝트로 고객사 상주하면서 DBA 롤 수행을 하게 되었는데, 해당 고객사 DBA도 없어서 혼자서 아무것도 모르는 상태로 수행하게 되었습니다. 용량이나 프로세스 확인은 명령어만 치면 끝이지만, log에 떨어지는 에러가 뭔 에러인지 어떤 대응을 해야되는지… 저를 힘들게 하네요. 이러니 뭔가 DB에 관심을 갖고 취직한게 후회가 됩니다. 내가 잘못된건지 공부를 덜한건지… 이런 상황에서 어떻게 해야 될까요?

    • RastaLion 댓글:

      일을 처음 시작할 때 사수가 없으면 참 힘듭니다. 특히나 DB쪽은 더 그런편이죠. 고객사 상주이면 SM으로 진행되는 건 같은데, 이 경우는 답이 없습니다.
      일단 내 서비스가 아니라 쉽게 손대기 어려움, 사수가 없는 부분은 회사 전체에 도움 받을 수 있는 DBA분이 한명도 없다면 탈출하라 말씀 드리고 싶네요..
      차라리 힘들어도 사수 있는 SI를 가는게 속은 편할 수 있습니다.
      인력 구하기가 힘드니 신입이라도 구해서 넣자는 마인드로 초보님 회사가 진행한거면 둘중 하나입니다. 능력치 인정 받을 만큼 열심히 해서 탈출 하시거나, 아니면 회사도 리스크를 안고 신입을 넣은거니 말 그대로 신입처럼 일 하시면 됩니다.

  24. 신입 댓글:

    안녕하세요 DB 엔지니어로 이번에 취업하게 돼서 곧 엔지니어로 근무하게 되는 IT 전공자 입니다. 사실 DBA가 목표라서 DB 엔지니어 회사에 입사하게 되었습니다. DBA라는 직무 자체가 신입을 거의 안 뽑기 때문에 경력을 쌓고자 DB 엔지니어로 먼저 커리어를 시작하게되었는데 이게 잘못된 선택인지 아닌지 판단이 서지 않아서 여쭤보고 싶어요… DB 엔지니어에서 DBA로 이직할 때 기업에서는 DB 엔지니어 경력을 쳐주는지 아닌지 이게 정말 고민이 됩니다… ㅠㅠ 저는 개발자 인턴도 해보아서 개발 업무에 대한 지식도 있긴 합니다만… ㅠㅠ 풀스택 개발은 취미로 하고있어요

    • RastaLion 댓글:

      요즘 어딜가나 DBA가 없기 때문에 DB를 안해본 사람보다 엔지니어 경력이 있는 사람이 훨씬 유리합니다.
      어쨌든 엔지니어는 DB의 동작 아키텍처를 이해하는 사람이니까요. 경력도 인정해주는데가 더 많고 예전에도 엔지니어에서 DBA로 전향 많이 했으니 걱정하지 마시고 열심히 하시면 좋은 기회가 있을거에요!

      • 신입 댓글:

        그러면 엔지니어를 하시다가 DBA가 되신건가요? 아니면 신입으로 들어가신건가요?? 아니면 백엔드 개발자를 하시다가 DBA로 전향하신건가요??? 제 주변엔 DBA가 없다보니 여쭤보고 싶은게 많아서요…

  25. 멜랑 댓글:

    안녕하세요. 이 글을 여러번 읽어보고 조심스레 혹시 저에게 조언을 주실 수 있으실까 하여 글을 남깁니다.
    저는 국비로 학원다녀서 IT계에 발을 들인 비전공자에요. 학원에서 수업 듣다가 DB쪽에 빠져서 이쪽으로 취업을 하고싶은데 이 쪽 분야에 잘 아는 사람이 없다보니 현직자 분의 의견을 들어보고 싶어요.

    제가 세운 취업 계획으로는 첫번째로, DB만 다루는 업체 라고 해야할까요? 보통 기업에서 외주를 맡기는 업체에서 신입 DBA를 구한다면 들어가서 일을 배우는 쪽으로 하는 쪽이였고,
    두번째는 위에 적힌 선생님의 케이스 처럼 데이터베이스 엔지니어로 취업을 해보는 거에요 물론 자리가 쉽게 날지는 의문이지만 신입으로 들어가 엔지니어로써 일을 하고, 이 경력을 기반으로 이직하거나 할때 DBA의 자리에 도전을 해봐도 되지 않을까 싶어서요
    제가 봤을때는 2번째 계획이 그나마 실현가능할 것 같아보여요.

    그리고 학원을 수료하고 나면 바로 SQLD와 정보처리기사를 딸려고 계획 중에 있고, 그 후에 OCP, SQLP를 딸 계획을 세웠어요.
    그런데 선생님의 글과 댓글들을 읽어보니 요새 기업에서 탈오라클 추세에 클라우드쪽으로 넘어간다고 해서 클라우드 쪽도 공부를 해봐야 하나 싶고..
    취업도 못했는데 아는 것은 잘 없지만 머릿속은 너무 복잡해지고 어떻게 정리가 잘 안되는 것 같습니다.

    선생님이 보시기에는 어떤지 한번 읽어봐주시고 현직자로써 조언을 해주실 수 있으실까요?
    두서없는 긴 글 읽어주셔서 감사합니다.

    • RastaLion 댓글:

      비전공자이신군요. 우선 비전공자 일수록 주변 사람들이 멜랑님이 일을 잘한다는 느낌을 받을수 있게 많은 노력을 하셔야합니다.
      일할때 말하는 일 머리, 센스 이런게 큰데요. 센스를 늘리려면 왜 라는 의문을 항상 가지셔야 하고, 그 것을 풀기 위해 기본적인 인프라 지식을 갖추시는게 좋습니다.
      기본적인 CS 지식이나 네트워크, 서버등 인프라 관련 지식이 없다고 느끼면, 회사측에서는 큰 매력을 느끼지 못할 거에요. 따라서 신입 DBA는 거의 뽑지 않는 요즘 본인 어필 하기가 더 힘드실 겁니다.
      DBA는 업무자체가 책임감이 크고, 잘못 손대면 큰 사고가 나기 때문에 신입을 받는 곳이 많지 않습니다.
      신입 입장에서 하청 받는 SM 기업에서 다른 업체로 파견하는 곳은 DBA로 성장하거나 얻을 수 있는게 크지 않습니다. 이런곳은 정말 사람이 없어서 구색 맞추기 업체가 많고, 사수도 없는 경우가 반입니다.
      차라리 오라클 OCP를 따서, DB 엔지니어로 시작하는 것이 더 좋을수 있어요. 오라클의 경우는 RDBMS의 기본중에 기본 같은 DB이고, 오라클을 해두면 다른 DB를 접하는데 장점이 많습니다. 근래는 금융권에 한정되어 있는 단점이 있긴한데, 금융대기업을 목표로 할수 있기도 합니다.
      오라클을 유지보수하는 SI 업체들은 그래도 신입을 제법 뽑고 있고, 괜찮은 사수들이 있습니다. 그런곳에서 차근 차근 배워가는 것도 비전공자 분들께 추천하는 방법중 하나 입니다.
      여전히 온프렘이라고 불리는 실제 서버, 네트워크들을 실제로 보면서 할 수 있는 것은 오라클이 대다수이며, 실제 장비들을 보고 배우면 나중에 클라우드를 이해하는 것도 훨씬 쉽습니다. MySQL이나 오픈소스는 이미 클라우드 환경으로 가버렸고, 서버에 설치형을 쓰는 곳은 많지 않기에, 클라우드를 해야하는데 클라우드를 기초지식 없이 이해하는 건 조금 어려운 일입니다.
      SQLD는 기본적은 sql 사용방법에 대한 자격증이지만, SQLP는 오라클 기반이 큽니다. 오라클을 안할 거라면 굳이 없어도 되는 자격증중 하나에요. 반면 OCP는 오라클을 할거면 반드시 필요하구요.
      OCP를 따고 나서 DB 엔지니어로 지원해보시고, 신입부터 주니어 동안 DB의 내부 동장원리, 아키텍처등 기초를 탄탄히 해두시면 다음 단계로 길이 보일 겁니다.
      오라클로 더 성장할 수도 있고, 아니면 다른 DB로 전향할 수 도 있구요.
      일단 비전공자에 개발 경험도 없으신거 같아 오라클로 먼저 도전 해보시라고 권해 드리고 싶네요.
      그리고 오라클 유지보수 하는 회사로 검색해보시면, 오라클 엔지니어로 일할수 있는 괜찮은 회사가 제법 있습니다. 관심있게 보시다 공고가 떴을때 지원해보세요.

      • 멜랑 댓글:

        늦은 시간에 정성들여 답변 주셔서 정말 감사합니다.
        하고자 하는 의지는 있는 비전공자이지만, 어떤 방법으로 한 발짝 앞으로 나아갈 수 있을 지는 전혀 모르던 저에게 길잡이가 되어주셨어요.
        선생님의 답변을 읽고 우선 자격증부터 차차 준비해서 Oracle 엔지니어 쪽으로 발을 내딛어 보려고 합니다.
        무엇이 되었던 간에 기초지식이 정말 중요한 것 같아요.
        혹시 이쪽으로 관련하여 추천해주실 도서나 강의 같은 것이 있을까요?? 취업하기 전에 뭐라도 더 공부해서 취업전선에 들어가보고 싶습니다!

        • RastaLion 댓글:

          오라클에 관한 책은 정말 많습니다. 제가 어느 책이 좋다라고 말씀드리기 어려운건 개인의 성향이 모두 다르기 때문에 자신한테 맞는 도움되는 책을 직접 찾는 것이 중요합니다. 그 후에 필수라고 말하는 도서를 보셔도 충분해요. 모든 책을 사서 볼 필요는 없고 시립,공립도서관에 가시면 도서가 엄청 많으니 빌려서 먼저 보고 정리하고 하는 습관을 들여보세요.
          네트워크나 다른 책들은 후니의 쉽게 쓴 네트워크 정도 완독하시면 업무에 엄청 도움 될꺼구요.OS는 리눅스 책을 보면서 실습 몇개만 따라하셔도 리눅스를 어떻게 쓰는지, 어떤 명령어가 있는지 많은 도움이 되실겁니다.

  26. 왔썹 댓글:

    안녕하세요 입사한지 한달도안된 신입인데요
    제가 맡은 업무가 서버개발,DB관리입니다
    회사가 ms기반이라 mssql,c#을 사용하거든요
    보통의 dba분들은 평소에 무슨업무를하나요?
    저같은경우 새로운 서버를 구축한다던지(나중얘기지만) 아니면 이미 구축되어있는서버에서 사소한 데이터확인이나 업데이트처리정도만 하고있고
    그외에 인덱스처리나 기존쿼리튜닝 뭐이런작업은 사수분이 하시고 저한테 알려주고 이렇거든요 아직 한달도 안되서 제일이 이렇습니다 이렇게 단정은 못짓겠구요.. 다른분들은 평소에 무슨업무를 하는지 궁금하고 mssql이 좀특이하고 다르다는데 많이다른가요..? 제가 회사들어오기전엔 mysql을 많이사용했고
    sqld 자격증 공부할때도 크게다르다기보단 함수 표현식정도.? 다르다는거외엔 비슷하다 생각을 했거든요

  27. 서버잡초생 댓글:

    안녕하세요 저는 it 업계에 취업하게된 20대 후반입니다 입사한지는 세달도 안됐습니다.
    비전공자이구요 클라우드나 db엔지니어에 관심이 있었지만, 비전공자 입장에서 처음부터 진입하기 어려울것 같아서 서버 업계에 취업을 하고 기초지식을 배워나가며 이직할 생각으로 취업하게 되었습니다
    제가 맡게 된 업무는
    idc 관제업무, 장애처리, 보고서 작성
    하청으로 서버납품, 구축 장애처리
    다른 솔루션 업체 하청으로 유지보수 및 점검
    백업 솔루션 구축, 유지보수, 장애처리
    이런것들인데요 나중에 이런일을 하면서도 클라우드나 db 엔지니어에 도전할수 있을지가 궁금합니다
    it 업계가 처음이라 너무 감도 안잡히는데 조언부탁드려요 감사합니다.

    • RastaLion 댓글:

      idc에서 op 업무로 시작하고 계신거 같네요. 클라우드 쪽이 좀 더 나아가는 게 편하실거 같고, aws 커뮤니티나 비기너 모임들을 찾아다니면서 스터디도 하시고 노력을 많이 하셔야 합니다. 멘토들 쫓아다니면서 배우고, 기술적인 부분도 챙겨야 하지만, 성실함이나 똑똑함, 센스 등이 많이 부각되어야 비전공자로서 더 치고 나갈 수 있습니다. 네트워크 기초, 서버 기초를 진짜 잘 닦아두셔야 빠르게 올라갈수 있어요. 책도 많이 보시고 vm웨어 같은거 에다 많이 설치도 해보시고, 서버도 구성해보시고 기록을 블로그 같은거에 잘 남겨두세요. 그게 다 자산이 됩니다.

  28. 주니어DBA 댓글:

    안녕하세요 현재 DBA 신입으로 입사를해서 달려가고 있는 주니어입니다. 이렇게 시니어분을 만나뵙게 되어서 정말 영광입니다.

    몇가지 질문이 생겨서 답글을 달게되었습니다.
    현재 저는 MySQL를 사용하고 있고 AWS aurora의 클라우드 환경에서 운영중입니다.

    첫번째 질문은 클라우드 환경에서 관리의 주체는 누구인가? 입니다.
    현재 저는 인프라 담당자분이 계십니다. 그렇다보니 AWS 환경은 인프라 담당자분이 관리를 하시고
    저는 테이블 설계, 슬로우 쿼리 개선, DB 튜닝(옵션 변경 정도), 백업계획 수립, 데이터 관리 등에 대한 업무를 담당하고 있습니다.
    이렇다보니 AWS 쪽은 제가 따로 공부만 하고 있고 DataDog을 통해서 모니터링 후 트러블이 생기면 같이 해결하는 방향입니다.(트러블이 생긴 경우는 항상 기록 해두고 있습니다.)
    클라우드를 대부분 사용하는 현재 시점에서 이런 상황이라면 제가 어떻게 클라우드 부분을 발전 시킬 수 있을지 항상 고민입니다.

    두번째 질문은 DBA에게 도움 되는 학과는 어떤것일까? 입니다.
    현재 전공은 공학계열이지만 데이터, 컴퓨터 분야랑은 다른 분야입니다.
    그래서 방통대를 통해서 컴공쪽을 생각을 했습니다. 하지만 데이터라는 분야가 넓기도 하고 추가적으로 통계를 많이 다루기에 통계학 쪽으로도 생각을 했습니다.
    제가 결정에 앞서 어떤면을 생각하면 더 좋은 방향으로 선택 할 수 있을까요?

    세번째 질문은 클라우드 환경에서의 DBA의 업무 입니다.
    현재 제가 있는 곳에서만 그럴수 있지만 제가 현재 느끼기엔 주로 업무가 데이터 관리라고 생각했습니다.
    물론 데이터 관리를 통해서 여러부분이 다 연관이 되지만 클라우드로 넘어오면서 더 치중되었다고 생각하고있었습니다.(아직 작은 우물에 있다보니 보이는 시각도 제한적입니다.)
    이렇다보니 블로그에 작성하신 내용들을 보았을 땐 제가 하는 일들에 대해서 약간의 의문점이 들었습니다.

    제가 하고 있는 생각들이 어느정도는 맞는지, 만약 틀렸다면 어떻게 하면 발전을 시킬 수 있는지 간단하게나 조언을 해주신다면 대단히 감사하겠습니다..
    (오죽하면 DataDog 외에 따로 모니터링을 위해서 자빅스나 PMM을 개발해보려고 했습니다.)
    감사합니다.

    • RastaLion 댓글:

      첫번째, 클라우드의 관리 주체는 인프라팀 혹은 DevOps라고 부르는 인프라 운영팀 혹은 클라우드 운영팀이 맞습니다. DBA가 클라우드를 발전 시킬 부분은 인프라 전반에 대한 아키텍처 공부, 클라우드 매니지드 데이터베이스들의 장단점을 알고 필요한 서비스에 접목할 수 있는 능력정도가 있겠네요.
      두번째, DBA에 도움 되는 학과는 없습니다. 대학의 DB관련 커리큘럼들은 실제 실무에 전혀 도움되지 않고, 기종마다 모두 다른 아키텍처를 다루는데, 기본이 되는 오라클을 하는 곳은 한군데도 없으며, 컴공에있는 과목이라고는 데이터베이스 개론으로 포장한 엉터리 정규화 이론이 대부분이거든요. DB를 하는데 있어 전공은 별로 중요하지 않습니다.
      세번째, DBA의 업무는 회사마다 정말 다릅니다. 클라우드 DBA라고 해도, 적극적으로 기획에 참여하고 비지니스 설계에 참여 할 수 있는 회사가 있는 반면, 영역침범을 싫어하는 회사도 있습니다. 개발은 개발자만.. DB는 DBA만 이런 식으로 하는 회사도 많고, 스타트업 처럼 DB뿐만 아니라 별걸 다 해야하는 회사들도 있습니다.
      모니터링의 영역은 개발의 영역인데 계신 팀이 DevOps 팀이다. 자동화나 플랫폼 개발을 같이 하는 팀이라면, 모니터링 개발 같은 충분한 기회가 있을 거라 생각하지만, 모니터링 개발같은건 우선 자신이 DB를 운영함에 있어 무엇을 모니터링을 해야 하는지 아는것이 첫번째 입니다. lock, deadlock 이런걸 왜 보는지, 어떻게 처리해야하는지, qps나 커넥션등을 왜 모니터링해야하는지,버퍼 사용률 히트율을 왜 봐야하는지 모르면 모니터링 개발을 할수가 없습니다.
      DB모니터링 요소는 굉장히 많아서 PMM만 보더라도 엄청 많은 그래프가 있는데 이것들을 왜 모니터링 하는지 정확하게 아셔야 합니다. 그래야 개발을 할때도 불필요한 부분을 빼고, 필요한 부분을 넣고, cloudwatch의 api를 찌르는 것도 다 돈이기 때문에, 그런걸 분별하실 줄 알아야합니다.

      주니어때 가장 좋은 방법은 좋은 DBA 사수가 있는 회사로 가거나, 혼자서 해야한다면 스타트업 같이 같이 스터디도하고 들이 받으면서 공부하고 배우며 2인분 이상 할수있는 환경으로 가거나, 아무래도 주니어때는 보고 배울 수 있는 환경이 제일 중요합니다.
      그래야 시니어가 되어 어딜 가서도 한사람 이상 몫을 할 수 있게 됩니다. 주니어때는 워라밸 따지지 마시고 그냥 다양하게 많이 배울 수 있는 환경으로 가시거나 사람을 모으거나 찾아다니면 다양하게 스터디도 해보고 하는걸 추천드립니다.

  29. 고민이많은취준생 댓글:

    안녕하세요 현재 DBA를 꿈꾸는 취업준비생입니다.
    현실적으로 DBA신입을 뽑지않아 우선은 DB엔니니어로 취업을 하고 경력을 쌓고 DBA로 전향하는쪽으로 생각하고있습니다.
    문제는 DB엔지니어로도 취업하기가 쉽지않은상황이라 RastaLion님께 상담을 받고싶어 댓글 남깁니다.
    먼저 저의 상황을 말씀드리면 저는 4년재대학을 졸업했고 웹개발쪽으로 준비했던 취준생입니다. 통계학과를 졸업했고, 졸업후 웹개발에 관심이 생겨서 국비교육으로 웹개발쪽으로 교육을 받았습니다. 현재 리눅스 자격증인 rhcsa를 취득했고 기본적인 리눅스와 네트워크 웹개발 전반에 대한 지식이 있는 상태입니다. 국비교육을 받으면서 저의 성향이 새로운 지식을 빠르게 습득하는것보단 코어지식을 깊게 공부하는것이 더 맞는거같더라구요. 진지하게 진로에 대해서 고민했고 데이터베이스 관련 쪽으로 취업을 결정한 상황입니다.

    문제는 구직사이트에서 DB엔지니어 신입관련 공고를 보니 자격요건이 대부분 OCP자격증 및 DB관련 자격증이있는 신입을 요구하는 상황입니다.
    저의경우 오라클의 경우 기본적인 아키텍처정도 아는수준입니다. DB관련 국비교육의 경우 저는 웹개발 국비교육을 이미 한번받은 상황이라 다시 DB관련 교육은 받지 못하는 상황입니다.
    어떻게 해야할지 고민하던 차에 운좋게 학교 추천채용으로 금융 SI관련해서 ORACLE 및 SAP HANA를 사용하는 db엔지니어 회사 추천채용이 왔고 현재 서류에 합격에 면접을 준비하는 상황입니다.

    여기서 질문드리고 싶은내용은 크게 2가지입니다.

    첫번째는 만약 이회사에 붙어서 db엔지니어로 처음 커리어를 시작한다고 했을때 금융권 si db엔지니어로 처음 커리어를 시작해도 괜찮을까요?
    회사를 보니 오라클만 전문적으로 다루는 회사는 아닌것같고 isp,dw/di등의 사업을 하는 회사같습니다.
    회사에 사수가 있는지, 엔지니어는 몇명인지 파견인지 상주인지 이런 정보도 아직 알지못해 면접시에 질문하려합니다.
    또한 걱정되는 부분은 oracle 및 sap hana를 활용한 업무라고 채용공고에 적혀있는데 sap hana의 경우 오라클과는 다른 인메모리 데이터베이스라고 알고있습니다.
    저의 원래 계획은 오라클 엔지니어로 취업을해서 1~2년정도 경력을 쌓으면서 혼자 DBA관련 공부를 병행해 DBA로 전향하는것을 생각했는데 제가 지원한 회사의 직무로 취업을 했을때 제가 계획한대로 할수있을지 고민입니다.
    해당 회사에 직무에 대해서 어떻게 생각하시나요?

    2번째 질문은 만약 지금 면접보는 회사에 떨어졌을때 어떤식으로 준비해서 oracle 엔지니어로 취업을 할수있을지 궁금합니다.
    가장 좋은방법은 db관련 국비를 듣는것이지만, 저의경우 웹관련 국비를 이미 수료했기때문에 db국비교육은 다시 수강이 안됩니다..

    결국 독학으로 준비해서 오라클 엔지니어로 취업을 해야하는데 어떤식으로 혼자 준비해야할지 고민입니다.
    오라클 엔지니어 신입의 경우 어느정도 역량이 있어야 신입으로 뽑힐수있을까요? 일단은 ocp자격증이라도 취득하고 바로 구직활동을 할 생각입니다.
    저도 처음커리어 시작을 할때 좋은사수와 괜찮은 근무환경에서 커리어를 시작하고 싶지만, 현실적으로 그건 어렵다고 생각해서 일단 오라클 엔지니어 직무면서 배울수있는 사수가 있는 작은회사라도 가려고하는데 회사를 선택시 어떤점을 보고 취업을 하면 좋을지 궁금합니다.
    나이도 이런편이 아니다보니 고민이 많습니다..

    고민이 정말 많아 하소연하듯이 질문글을 올렸는데 장문의 글 죄송하고 읽어주셔서 정말로 감사합니다.

    답변 부탁드립니다.

    • RastaLion 댓글:

      제 시절에 국비로 받는 오라클 교육은 제대로 된게 별로 없었기에 뭐라 말씀드리기가 어렵네요. 근데 오라클 공인 받은 업체가 OCP를 따게 하기 위해 필수 공인 교육 시간 80시간인가 40인가의 교육을 해주는 곳이라면 사비를 들려서 해보는 것도 좋다고 생각하네요. 금융권 SI가 나쁘지는 않습니다. 근데 이런건 본인이 마음가짐을 어떻게 갖냐의 차이도 있습니다. 금융권SI는 을, 병 입장에서도 빡센곳이고, 분명 얻어 가는게 없는 곳은 아닐겁니다.
      hana db이든 오라클이든 주니어 입장에서는 다르게 느끼겠지만, 시니어 입장에서는 RDBMS는 다 똑같거든요. 기종간의 차이점만 있을뿐… OCP든 다른 자격증이든 결국 자격증은 주니어들에게 기본은 공부했다라는 서류를 통과 시키는 기본 자격일 뿐이고, 기술 면접가면 이사람이 진짜 공부를 해서 땄는지, 덤프를 보고 땄는지는 몇 마디만 나눠 봐도 압니다.
      늘 주니어나 신입 분들에게 말하는 거지만, 회사라는게 주니어에게 서류를 통과할 만한 자격증이나 기본 아키텍처 등 기본을 갖추고나 나서는 기술을 요구하지 않습니다. 열정이나 센스,태도를 보지요.
      주니어나 신입에겐 난 열망에 가득차있고, 무엇이든 배울 수 있는 자세가 되어있다 라는 행동이 중요합니다.
      요즘 같이 취업이 어려운 시기에는 회사에 대한 정보를 얻는 것도 개인의 능력입니다. 잡플래닛 블라인드 다 뒤져보시고, 주변 선배 후배 다 동원해서 정보를 모으세요. 오라클SI 업체는 어딜가도 금융권이 주 고객이고, 배우는게 비슷할 거에요. 규모에 따라 복지나 업무환경의 차이는 있을 수 있습니다.
      면접가서 회사의 분위기를 보고 느끼세요. 그리고 어지간한 JD 에 복지 수준은 다 적혀 있습니다. 기본적인 것도 없다고 느끼는 곳은 거르시구요.

  30. 꾸르르륵 댓글:

    4년차 dba입니다.
    지속적으로 성장을 한다는게 참 쉽지 않은 직무인 것 같아요.
    반복되는 운영 업무 사이에서 운영 스킬이 어느 순간 멈춘다는 것과 동일한 DBMS만 다루게 되면서 새로운 DBMS를 접하는 기회가 한 곳에서만 있으면 쉽지 않다는 점 트래픽이나 데이터 사이즈도 크게 변하지 않는 일반적인 서비스들 이런 점이 성장을 함에 있어서 많은 어려움이 되는 것 같아요.
    이런 상황 속에서도 각자 성장해나가고 스킬업하는 DBA 분들이 참 대단하다고 느껴집니다.
    저도 익숙한 DBMS가 아닌 새로운 DBMS들과 운영 스킬도 더 고도화 하고자하는 마음과 개발 역량도 조금씩이라도 추가하고싶다는 생각이 들게 되네요.
    다들 화이팅입니다.

    • RastaLion 댓글:

      슬슬 내가 DB를 통해 뭘 할 수 있을지 스스로 고민해야할 시기 입니다. 클라우드 환경이라면 어떻게 하면 비용을 줄일 수 있을지, 모니터링을 어떻게 더 쉽게, 민감도를 유지할 수 있을지 등등 스스로 고민하셔야 할 시기인거 같습니다.

  31. 김경훈 댓글:

    안녕하세요. 좋은 글 잘 봤습니다.
    Oracle 기반에서 일한 4년차 서버 개발자입니다. 나이는 이제 31살이 됐어요.
    운이 좋게 SQL 튜닝을 할 수 있는 환경에서 개발을 했고 정산 업무를 담당하면서 100만건이 넘는 데이터를 튜닝도 해보고 테이블 정규화도 해본 경험이 있습니다. Oracle 기본 아키텍쳐는 남들에게 설명할 수 있을 정도입니다.
    이것도 우연인지 작년 여름에 교통사고를 당하고 퇴사를 하면서 탱자탱자 놀고만 있는데요 ㅠㅠ
    사고로 인해 삶에 대한 가치관이 바뀐건지 서버 개발 공부보다는 DB 공부를 하는게 더 흥미가 있고 미래의 제 모습을 봤을 때 더 보람을 가지면서 일할 수 있을 것 같아 직무 전환을 시도해보려고 합니다.
    DBA 직무 공고를 살피면서 차분히 준비하려고 하는데요. 서류나 면접을 통과하기 위해 어떤 경험을 쌓아야할까요? SQLP 같은 자격증이 도움이 될까요?

    • RastaLion 댓글:

      답변이 좀 늦었네요. 면접도 계속 보다 보면 늘어요. 이 회사 저 회사 면접을 다녀보면, 어떤것들을 중점 적으로 물어보는 구나 하고 공통점을 느낄수도 있구요. 면접을 많이 다니다 보면 기술적인 부분을 준비하는게 점점 쌓여서 수월해지죠. 그리고 서류는 길게 주절 주절 적을 필요가 없습니다. 자신을 보여줄 수 있는 핵심만 잘 전달할수 있으면 되요. 면접 스킬도 누적이 되기 때문에 원하는 회사를 맨 마지막에 두고, 작은 회사들도 연습이다 하면서 면접을 누적해보세요. 그리고 기술 면접 말고 일반적인 부분은 유튜브 같은데 면접 관련 커리어 관련 올라온 자료들이 많아요. 다양하게 참고하세요.

  32. 권유진 댓글:

    안녕하세요 적어주신 글과 댓글들 모두 잘 읽었습니다. 주위에 DBA를 하는 지인이 없어 계속해서 고민만 하던 주제를 여쭤보고 싶습니다.
    저는 sm 경력 4년을 가지고 있는 개발자입니다.
    최근 db에 관심을 가지게 되어서 저를 좋게 봐주신 데이터팀 팀장님께서 저를 스카웃해주셨지만 회사에서 반대하여 가지 못했습니다.
    회사에서 반대 결정을 내리기 전까지 이중화 구축도 해보고 튜닝도 공부해보면서 더 db가 좋아졌고 지금은 dba로 이직을 하고 싶다는 생각을 가지고 있는 중입니다.
    하지만 막상 준비하려고 보니 신입으로는 거의 뽑지 않고 경력으로는 db운영 경력 3년 처럼 운영 경력을 필수로 보던데 sm경력 중 오라클을 메인으로 아주 약간의 포스트그레 정도만 다뤄본적 있는지라 과연 이것을 운영 경력이라고 우겼을 때 통할지 의문이 듭니다. 제 개발 경력과 관련 db를 공부하고 프로젝트를 진행한 것만 가지고 경력으로 지원했을 때 승산이 있을지 충고 부탁드립니다.
    또한, 현재 포스트그레를 메인으로 깊게 공부하고 있는데 공고마다 mysql과 mssql이 주를 이루어서 계속 제 고집대로 포스트그레를 공부해도 될지 걱정이 됩니다. 이 부분도 충고 부탁드립니다.

    두루뭉실한 글 읽어주셔서 감사합니다.

    • RastaLion 댓글:

      개인의 결정에 회사는 반대할 수 없습니다. 개인의 노동법이 우선 되는 경우가 훨씬 많습니다. 그냥 SM회사는 퇴사하고 스카웃 받은데 입사하시면 되는겁니다. 법적으로 아무런 제제할 수가 없어요. 아마 경험이 없으셔서 회사에 당한거 같은 느낌이 있네요. 정말 DB가 하고 싶으시면 빨리 떠나는게 맞다고 봅니다. MySQL이 주류이지만, Postgres로 수요가 있긴합니다. MySQL의 태생적 한계 때문에 고성능 DB가 들어가야하는 곳엔 매우 어울리지 않는 녀석이거든요. 개발+포스트그레 이런식으로 개인 프로젝트를 하시면서 앱도 만들고, 블로그 같은데 후기도 쓰고 해보세요.
      대신 DB를 접근할 때, 포스트그레를 단순히 사용했다가 아니라, 데이터베이스 개론에 입각한 데이터 정규화 된 모델링을 위해 고민을 했다 라던가, my대신 포그리를 사용한 이유 라던가, 스스로 잘 설명 하실 수 있어야 합니다. 그러면 개발 경력을 가지고도 경력직 DB로 도전 하실수 있어요. 어차피 3-4년차 주니어 DBA 구하기 힘든데, 차라리 개발이라도 알면 틈새 시장을 노릴수는 있습니다. 기본적으로 데이터베이스의 동작원리, 소프트웨어 아키텍처를 공부하는건 필수 입니다.

  1. 2023년 3월 28일

    […] Read More […]

답글 남기기

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

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.