DBA란, 특징부터 역할, 필수 능력까지 모두 알려드립니다.

개발 테크
2024. 02. 25
조회수
3,852

dba

최근 Chat GPT 열풍이 불면서 AI 붐이 일고 있습니다. 국내외 기업들은 AI를 어떻게 활용할 수 있을지 고심하고 있죠. 이렇게 핫한 AI에 가장 중요한 것이 무엇인지 알고 계시나요?

바로 ‘데이터’입니다. AI는 방대한 데이터를 학습하여 새로운 결과물을 냅니다. 하지만 AI는 사람과 같은 인지 수준을 갖은 것은 아니기 때문에 AI가 학습할 방대한 데이터를 정돈된 형태로 제공해야 합니다. 

예를 들어 회사의 고객 정보를 학습시키고 싶다면 고객 정보(나이, 주소, 방문 빈도, 결제금액 등)가 잘 저장되어 쌓일 수 있도록 기반을 마련하고, 이를 지속적으로 관리하여 데이터를 모아나가야 하죠.

이렇게 데이터를 체계적으로 관리하는 사람을 ‘DBA’라고 합니다. 즉, 비즈니스에 데이터를 활용하고 나아가 AI 기술까지 접목하기 위한 필수불가결한 직무라고 할 수 있죠. 데이터가 중요해질수록 수요가 폭증하고 있는 DBA란 무엇인지 또 어떤 일을 하는지 대한민국 No.1 IT 인재 플랫폼 이랜서가 자세히 알려드리겠습니다!

 

 

DBA(DataBase Administrator)란?

dba-채용

‘DBA’DataBase Administrator의 줄임말데이터베이스 관리자를 말합니다. 데이터베이스 관리자는 다양한 데이터를 체계적으로 수집한 후, 데이터를 정리, 가공하고 입력해 데이터베이스를 구축, 관리, 분석하는 일을 합니다. 또한, 데이터 보관을 위한 백업을 수행하기도 하고, 쿼리 튜닝을 통해 데이터를 조회하고 가공하는 속도를 개선하는 일도 합니다.

 

서비스 개발 단계에서의 DBA의 역할

DBA가 서비스를 개발할 때에는 서비스 기획안을 분석한 후 데이터베이스를 설계합니다. 어떤 데이터를 어떤 구조로 저장할 것인지 정하는 것이죠. 그리고 테이블을 생성 및 수정, 삭제하여 필요한 정보는 더하고 불필요한 정보는 제외하며, 서비스의 빠른 실행 속도를 위하여 쿼리의 튜닝 작업을 수행합니다. 

서비스의 속도가 느린 경우, 쿼리의 반응 속도가 원인이 되는 경우가 있는데 어느 부분 때문에 느린 것인지 분석한 후 해당 부분을 수정하여 속도가 빨라지도록 성능을 향상시키는 작업을 합니다.

또한 서비스를 개발하면서 변경된 내용에 맞춰 데이터베이스를 재구축하여 목적에 맞게 데이터를 다시 정립합니다. 서비스를 개발하다 보면 처음 기획안의 내용과 크게 변경되는 경우가 많습니다. DBA의 업무에서는 더 필요한 정보가 있어서 테이블에 칼럼이 추가되는 경우를 예로 들 수 있겠지요.

이런 경우 수정된 것을 반영하여 또다시 데이터베이스를 설계, 개발, 테스트해야 합니다. 이러한 DBA의 피드백 반영 작업을 통해 사업 목적에 부합하는 서비스와 해당 서비스를 뒷받침하는 데이터가 만들어지는 것입니다.

 

 

서비스 운영 단계에서의 DBA의 역할

이미 개발된 서비스를 가지고 운영을 할 때 DBA는 데이터베이스 관리를 수행합니다. 예를 들어 데이터가 절차에 맞게 잘 저장되고 있는지, 데이터가 쌓이고 있는 저장소에 용량이 부족하지 않은지 모니터링합니다. 

또한 데이터가 너무 많이 쌓여서 관리가 어려워지는 경우에는 테이블의 구조를 변경하여 더욱 체계적으로 관리할 수 있도록 조치를 취합니다. 그리고 데이터를 별도의 저장소에 따로 저장해두는 백업 업무도 수행합니다. 정기적으로 데이터베이스의 데이터를 백업해두어 회사의 귀중한 자산인 데이터를 지키는 것이지요. 

이 외에도 서비스 개발 때와 마찬가지로 지속적인 쿼리 튜닝 작업을 수행해 데이터베이스가 효율적으로 관리될 수 있게 조절합니다. 이러한 작업을 통해 회사는 신규 서비스를 출시할 수 있고, 출시된 서비스를 안정적으로 운영할 수 있습니다. 

DBA의 업무를 보다 구체적으로 알려드리기 위해 실제로 회사에서 어떤 업무를 수행하는지 사례를 통해 보여드리겠습니다.

 

 

DBA, 이렇게 일합니다.
 

dba-연봉
 

회사에 DBA가 있다면 효율적이고 신뢰도 높은 데이터 관리가 가능해집니다. 반면 DBA가 없다면 시스템 사용자가 많아지고 데이터 규모가 커지면서 데이터베이스 설계에 대한 문제가 드러나기 시작합니다. 
 

실제로 많은 스타트업에서는 초기 데이터베이스의 설계 없이 서비스 개발을 진행하는데, 사용자가 많아진 후 성능/속도 이슈가 발생하곤 합니다. 또한, 한 테이블에 100개가 넘는 칼럼을 가진 테이블들이 많다거나, ERD가 없어 데이터의 구조를 파악하기 어려운 문제들도 발생합니다. 이러한 이슈들은 대부분 잘못된 데이터베이스 설계에서 시작됩니다.

‘데이터베이스 설계’가 어떤 것이길래 이렇게 중요성을 강조하는 것일까요? 데이터베이스 설계란 DBA의 핵심 업무 중 하나로 ‘어떤 데이터를 어떤 구조로 저장할 것인지 정하는 것’입니다.

데이터베이스 설계는 서비스 기획안을 보고 전체적인 프로세스를 이해하여 →  어떤 데이터가 필요한지 식별하고 →  데이터 흐름을 정리하여 → 설계하는 순서로 진행됩니다. 예를 들어보겠습니다.

 

회사의 온라인 판매를 위해서 홈페이지를 구축한다고 가정합시다. 그렇다면 기본적으로 홈페이지를 통해 유입되는 고객들의 정보(구매자 성별, 구매자 나이, 구매자 주소, 구매 상품명, 결제방법, 결제금액 등)를 입수해 저장하는 작업이 필요합니다. 이를 위해 필요한 정보를 목록화하여 다음과 같이 테이블 명세서를 작성합니다.

dba-뜻

 

테이블 명세서에는 테이블에 대한 설명, 칼럼에 대한 설명, 칼럼의 속성값(예를 들어 나이는 숫자로 처리하고, 주소는 문자로 처리한다고 선언) 정의 내용이 포함됩니다.

 

이제 필요한 정보들을 리스트업 했으니, 데이터 흐름을 정리합니다. 데이터 흐름을 정리한 도식을 ‘ERD(Entity Relationship Diagram)’이라고 하는데요, 위 사례에서 데이터 흐름을 고려하여 ERD를 그리면 다음과 같은 모습입니다.

dba-자격증
 

실제 필요한 정보들은 구매자 성별, 구매자 나이, 구매자 주소, 구매 상품명, 결제방법, 결제 금액처럼 다소 다양한 영역들이 혼재되어 있었습니다. 

그런데 DBA가 데이터베이스를 설계했더니 위 그림같이 구매자 정보, 상품정보, 결제정보를 영역에 맞게 분리한 보기 좋은 형태가 탄생한 것입니다. 만약 DBA가 작업을 제대로 수행하지 못했다면 어떤 일이 있어났을까요?

 

dba-란

이렇게 한눈에 보기에도 정신없는 테이블이 탄생했을 것입니다. 잘 설계된 데이터베이스와 잘 못 설계된 데이터베이스는 보기에만 차이가 나는 것이 아닙니다. 동일한 정보를 다른 곳에서 활용할 때 큰 문제가 됩니다. 만약 다른 서비스에서 ‘상품번호’와 ‘상품명’ 정보만 필요하다고 가정해 볼게요. 

그러면 잘 만들어진 데이터베이스에서는 ‘상품정보’ 테이블만 참조하면 되지만, 잘 못 만들어진 데이터베이스에서 구매자 별로 ‘상품번호’와 ‘상품명’이 매핑되어 있어서 ‘상품번호’와 ‘상품명’을 추출하려면 추가 작업이 필요하죠.

이런 식으로 잘 못 설계된 데이터베이스는 시스템의 성능 저하를 유발하고, 중복된 정보로 인한 데이터베이스 용량 낭비도 크며, 나아가 데이터 신뢰성에도 문제를 일으킬 수 있습니다.

따라서 장기적으로 데이터베이스의 설계부터 단단히 하는 것이 비용과 시간 측면에서 모두 중요한 부분입니다. 이렇게 데이터를 관리하기 위해서 DBA는 툴을 사용합니다. DBA의 업무를 도와주는 툴에는 어떤 것들이 있는지 알아보겠습니다. 

 

 

DBA는 이런 툴을 가지고 일합니다.  

앞서 DBA가 데이터베이스를 설계한 설계도가 ERD라고 했습니다. 그런데 실제로 회사의 테이블은 수백 개에서 수천 개에 달해서 사람이 직접 ERD를 그릴 수는 없습니다. 따라서 데이터베이스의 설계도를 자동으로 그려주는 툴들이 존재합니다. 대표적인 제품으로는 ‘ERwin(이알윈)’이 있고, 무료 소프트웨어로는 ‘GitMind(깃 마인드)’ 등이 있습니다.

dba-전망출처: ERwin 홈페이지

 

ERwin은 DBA가 설계한 ERD를 토대로 쿼리문을 작성하고 테이블을 생성하는 기능을 지원합니다. 또한 테이블과 칼럼의 표준화도 지원하여 데이터 관리의 일관성을 높여줍니다. 그리고 복잡하게 구성된 ERD를 특정 주제 단위로 나누어 표시할 수 있기 때문에 사용자가 구조를 쉽게 파악할 수 있다는 것이 장점입니다.

dba-신입 출처: GitMind 홈페이지

 

GitMind는 다이어그램 그리기에 필요한 다양한 도형과 구성요소를 제공하는 것이 특징입니다. 또한 다른 사람과 편리하게 공유할 수 있도록 공유 링크를 생성할 수 있으며, 혹은 다이어그램에 기밀 내용이 포함된 경우에는 암호로 보호할 수 있습니다.

이러한 특징을 가진 ERD 툴이 데이터베이스의 설계 현황을 정확히 파악해서 제공하는 덕분에 DBA는 테이블의 추가/삭제/변경, 그리고 원하는 정보를 어느 테이블에서 가져올지 의사결정할 수 있습니다.

하지만 툴은 DBA의 업무 효율성을 높이는 것이지 DBA의 업무를 대체할 수 있는 것은 아닙니다. 실제로는 툴이 지원하지 않는 작업을 수행해야 할 때도 있기 때문입니다. 그렇다면 DBA는 어떤 역량을 갖추어야 할지 알아볼까요?

 

 

DBA에는 이런 사람을 채용해야 합니다.

dba-구인

DBA의 가장 중요 업무는 올바른 데이터베이스 설계입니다. 이를 위해 DBA에게는 데이터 베이스를 다루는 능력과 더불어 개발에 대한 지식까지 필요합니다.

과거에 DBA는 데이터 베이스 설계만 잘하면 됐습니다. 왜냐하면 데이터베이스 시장에서 오라클 제품이 독보적이었기 때문입니다. 데이터 베이스 프로그램으로 오라클을 다루다 보니 오라클을 잘 다루기만 하면 데이터 베이스를 설계할 수 있었습니다. 

하지만 오라클의 라이선스는 매우 비싸고, 폐쇄된 정책을 유지하고 있어 이를 대체하기 위한 오픈소스 데이터 베이스 프로그램들이 대거 등장하게 됩니다. 

오픈소스라서 무료로 사용할 수 있고, 이용자가 많아지면서 성능과 안정성까지 높아졌습니다. 따라서 많은 기업들은 단가를 줄일 수 있다는 이점으로 오픈소스 데이터베이스를 적극적으로 활용하기 시작하는데요.

하지만 오픈소스 데이터베이스의 경우 오라클이 제공하던 강력하고 편리한 기능들을 모두 지원하지 않아 원하는 기능을 DBA가 직접 개발을 통해 구현해야 하는 일들이 벌어졌습니다. 즉, 오픈소스 데이터베이스를 활용하기 위해 DBA가 개발도 할 줄 알아야만 하는 현상이 나타났습니다.

이러한 현상 때문에 능력 있는 DBA를 채용하기 위해선 오픈소스 DB 소프트웨어 자체에 대한 이해도가 높고, 데이터 베이스 개발 업무까지 직접 수행할 수 있는 사람을 채용해야 합니다.


 

데이터 베이스 능력과 더불어 

개발 업무까지 직접 수행하는 DBA, 

대한민국 No.1 IT 인재 매칭 플랫폼 이랜서에서 

매칭받으세요!

 

DBA를 구하는 기업에서 많이 하는 오해가 있습니다.  어떤 DBA를 뽑아도 데이터베이스의 종류(MySQL, MariaDB, MongoDB 등)에 상관없이 모든 데이터베이스를 다룰 수 있을 것이라고 착각하는 것입니다.

하지만 현실은 두세 가지 이상의 데이터베이스 구조를 완벽히 이해하고 다룰 수 있는 인력은 시장에 많지 않습니다. 오픈소스 데이터베이스의 종류가 너무 많아진 덕에 이것저것 조금씩 공부하는 DBA들이 많아지고 있기 때문입니다. 더불어 개발 지식까지 겸비하고 있는 DBA를 찾는 것은 쉽지 않습니다.

따라서 기업에서 DBA를 채용할 때는 반드시 기업이 사용하고 있는 데이터 베이스에 특화된 개발 & 데이터 베이스 관련 경험이 얼마나 많은지를 꼭 확인해야 합니다. 

 

 

오픈소스 DB 소프트웨어와 관련된 

개발 & 데이터 베이스 지식을 두루 갖춘 DBA 채용, 

어떻게하면 쉽게 할 수 있을까요?

 

DBA를 정규직으로 고용하기 위해선 기업에서 쓰고 있는 오픈소스 데이터베이스 경험이 있는 지원자들을 모으기 위해 엄청난 인쿠르팅 홍보를 해야 합니다. 그뿐만 아니라 인터뷰 등 기나긴 채용 프로세스까지 거쳐야 합니다.

하지만 정식 채용 프로세스를 거쳤다 해도 부적합한 지원자가 채용되는 리스크까지 감수해야 합니다. 이력서경력 기술서만으로는 DBA의 능력을 모두 확인하기 어렵기 때문이죠.

 

 

실력있는 DBA 채용의 어려움, 

이랜서를 통하면 쉽게 해결할 수 있습니다.

 

dba-업무

이랜서는 기업에 필요한 IT 전문가를 빠르게 채용할 수 있는 IT 인재 매칭 플랫폼입니다. 오라클, MySQL, MS SQL, Maria SQL, No SQL 등 데이터 베이스 구축부터 설계를 위한 오픈소스 DB 소프트웨어 전문가와 Nest js, Next js, Node js 등 서버를 전문적으로 다루는 개발자, ERP, SAP, MES 등 전사적 자산관리 시스템 개발 지식을 갖춘 ERP 전문가까지 약 40만명의 IT 프리랜서를 보유하고 있어, 정규직부터 프리랜서 업무까지 이랜서를 통하면 필요한 인재를 쉽고 빠르게 매칭받을 수 있습니다.  

 

 

[약 1.5억 개의 사용자 데이터]

[350만 개의 프리랜서 평가 데이터]

 

24년의 데이터를 활용하여 가장 적합한 

IT 프리랜서를 매칭해 드립니다!

 

각 기업마다 필요한 IT 전문가의 능력은 모두 다릅니다. 그럼에도 불구하고 대부분의 채용 플랫폼은 이력서와 경력 기술서만 열람하고, IT 지원자를 소개합니다. 그래서 많은 기업들이 잘못된 IT 전문가 채용의 리스크를 감수합니다.

이랜서의 IT 프리랜서 매칭 서비스는 다릅니다. 이랜서는 24년의 데이터를 바탕으로 IT 전문가의 전문성과 인성(협업 능력)까지 모두 검증하여 IT 전문가를 매칭합니다. 데이터를 바탕으로 IT 전문가를 매칭하기 때문에 프로젝트에 가장 적합한 IT 프리랜서를 매칭받을 수 있습니다.

 

 

이랜서를 사용한 기업들의 프로젝트 재의뢰율 98%

이랜서의 맞춤형 IT 프리랜서 매칭 서비스, 결과로 말합니다.

 

dba-직무

24년의 데이터를 활용한 기업 맞춤형 프리랜서 매칭 서비스, 효과는 어떨까요? 감사하게도 이랜서의 매칭 서비스를 활용한 기업들의 프로젝트 재의뢰율은 98%에 이르고 있습니다. 데이터를 바탕으로 프로젝트에 적합한 IT 프리랜서를 매칭했기 때문에, 기업들의 만족도도 높게 유지되고 있습니다.

 

 

기업의 프로젝트 성공을 위한 1:1 맞춤형 서비스

필요한 인력을 원하는 시기에 빠르고 정확하게 매칭해 드립니다!

 

오라클-dba

이랜서는 기업이 필요한 IT 프리랜서를 필요한 시기에 맞춰 매칭합니다. 기업들의 요구사항에 가장 적합한 IT 프리랜서를 매칭하기 위해, 프로젝트 등록 시 1:1로 매니저를 배정하고 프로젝트에 필요한 기술부터 성향까지 빠르게 파악하여 24시간 이내로 최적합 IT 전문가를 매칭합니다. 

덕분에 SI 업체부터 프로젝트 진행이 필요한 IT 기업들은 이랜서의 매칭 서비스를 사용하여 IT 인력 구인에 리소스를 절약하고 있습니다.

 

 

오픈소스 DB 소프트웨어를 

유기적으로 활용할

실력 있는 DBA를 찾으시나요?

 

대한민국 No.1 IT 인재 매칭 플랫폼 이랜서

-> 회원 가입만 하세요.

-> 24시간 안에 전담 매니저가 연락을 드립니다.

-> 끝입니다. 이게 다냐구요? 네, 이게 다입니다.

-> 급하시다고요? 전화 주세요. 02-545-0042

 

24년의 노하우와 데이터를 바탕으로 검증된 IT 프리랜서를 매칭해 드립니다.

 

freelancerBanner
projectBanner
댓글0
이랜서에 로그인하고 댓글을 남겨보세요!
0
/200
이랜서에 로그인하고 댓글을 남겨보세요!
0
/200
실시간 인기 게시물
이랜서 PICK 추천 게시물