데이터이야기

DB 노하우, 데이터직무, 다양한 인터뷰를 만나보세요.

DBA와 DA의 역할

데이터 이야기
작성자
dataonair
작성일
2012-05-15 00:00
조회
25876


필자는 현재 DA 업무를 수행하고 있지만, 과거 DBA 경험도 갖고 있기 때문에 DBA 와 DA의 역할과 앞으로 나아가야 할 방향에 대해서 이야기하려고 합니다.

최근에 수행되는 SI 프로젝트는 대부분 DBA와 DA를 모두 필요로 하며, 이들은 커뮤니케이션과 협업이 누구보다 중요하기 때문에 같이 일하는 경우가 많습니다.

DBA의 가장 큰 역할은 안정적인 서비스 운영을 위한 데이터베이스 관리 (운영 / 백업 및 복구 / 튜닝 등) 입니다. 제가 DBA시절 많이 듣던 말 중에 하나가 "복구에 실패한 DBA는 용서받을 수 있어도 백업에 실패한 DBA는 용서받을 수 없다" 라는 말입니다. 어떠한 장애 상황이 발생하더라도 신속하고 완전하게 복구할 수 있어야 되며, 이를 위해 사전에 백업 정책 수립 및 장애 상황별 복구 계획을 수립해야만 합니다.


사실 이러한 것들이 문서로 잘 정리되어 있다고 하더라도, 장애 상황이 자주 발생하는 것이 아니기 때문에 막상 DBA가 장애 상황에서 신속하게 대처하는 일이 쉽지만은 않습니다.
그렇게 때문에, 군인들이 평소에 전쟁을 대비해서 훈련을 하듯이 DBA도 장애 상황을 대비한 훈련이 필요합니다.

DA는 데이터 표준 관리, 데이터 구조 관리, 데이터 품질 관리 등의 업무를 수행합니다.

추가로, 기업마다 DA 역할에 조금씩 차이가 있겠지만 DA가 SQL튜닝 업무도 수행하는 경우가 많습니다. 필자도 SQL품질검증이라는 업무를 통해 SQL튜닝을 수행하고 있습니다.

데이터베이스 성능 관리 관점에서 많은 DBA들도 DBMS 튜닝 뿐만 아니라 SQL튜닝 업무를 수행합니다. 결국은, SQL튜닝 업무가 DA와 DBA가 상충되는 현상이 발생할 수 있습니다.
DA와 DBA가 조직적으로 같은 부서내에 있다면 큰 문제가 되지 않을 수도 있지만, 분리된 조직이라면은 역할과 책임을 명확히 해야될 필요가 있습니다.

2년 전에 필자는 조직 개편으로 DBA 파트와 조직이 분리되면서 동일한 상황에 직면하게 되었습니다. 그 당시 DBA파트와 협의 후에 결론은
DA는 장애 예방을 목적으로 AP 운영 배포 이전에 SQL 사전 검증 작업을 진행하며, 문제가 될 수 있는 SQL문에 대해서는 SQL튜닝을 수행하며,
DBA는 안정적인 데이터베이스 운영 관리를 목적으로 데이터베이스 모니터링 역할과 AP 운영 배포 이후의 악성 SQL 검출 및 해당 SQL에 대한 튜닝을 수행합니다.

목적과 SQL튜닝 시점에 조금의 차이가 있지만, 근본적으로 SQL튜닝 업무를 수행하는 것은 동일할 수 밖에 없습니다.


다른 업무에 비해서 SQL튜닝이라는 업무가 가시적인 성과를 보여줄 수 있기 때문에 DBA 파트와 DA 파트에서 모두 포기할 수 없는 매력적인 업무입니다.

개인적으로 SQL튜닝 업무가 칼로 무를 베듯이 역할을 명확히 하는 것은 무리라는 생각이 듭니다.

DBA와 DA 모두 데이터 관련된 업무를 하기 때문에 어떠한 경우 일부 업무는 상충될 수 있지만, 분명히 각각 고유의 역할과 책임이 존재합니다.

데이터베이스 성능 향상을 위해 예전에는 DBA들이 관리해야 할 포인트들이 많이 있었지만, 기술이 발전하면서 많은 부분들을 DBMS와 도구들이 대체하고 있습니다.

가령, 필자가 DBA 시절 Rollback 세그먼트 튜닝, 메모리 튜닝도 데이터베이스 성능 향상을 위한 관리 포인트였지만, DBMS버전이 올라가면서 많은 부분들을 DBMS 에서 자동으로 관리할 수 있는 구조로 변화하고 있습니다.

또한, 이젠 RBO -> CBO 로 점점 옵티마이저가 발전하면서 정확한 DBMS 통계정보 관리와 파티션 및 인덱스 설계 정도만잘 해 놓아도 특별한SQL튜닝 기술이 없는 개발자라도 많은 부분은 성능을 보장할 수 있게 되었습니다.

마치, 사진 전문가가 아니더라도 성능 좋은 자동카메라 덕분에 일정 수준의좋은 사진을 찍을 수 있는 것과 비슷합니다.


DBMS의 새로운 기술과 도구를 잘 활용하는 것은 좋지만, 너무 의존하는 것은 좋지 않으며 원천 기술을 익히거나 기계가 아닌 사람만이 할 수 있는 일들을 찾고, 해당 부분을 발전 시키는 것이 향후 DBA나 DA가 오랫동안 공존하면서 살 수 있는 길이 아닌가 생각해 봅니다.