DBA
DataBase Administration
데이터베이스 관리자 업무.
직종 분류라기 보다는 업무 분류에 가깝다.
다량의 정형 데이터를 효율적으로 관리, 활용, 처리하기 위해 오라클 SQL 등의 툴을 활용해 DBMS 를 구축, 설계, 관리한다.
예전에는 오라클에서 만든 SQL 이 지배적이었는데, 지금은 오픈소스로 다양한 툴들이 좋게 나와서 예전보다 많은 걸 알아야 하는 어려움이 생긴 업무. 그에 따라 엔지니어 직종이었는데, 이제 개발의 영역까지 할 수 있어야 하는 어려움이 생겼다고 한다.
데이터 베이스 튜닝 절차
1) 모델링 단계 튜닝
- 비즈니스 규칙 튜닝
ㄴ 업무의 표준화, 단순화, 통폐합 등
ㄴ 반복적인 수작업 -> 전산화
ㄴ 일시적이고 특정 담당자 위주의 작업 -> 수작업
ㄴ 각 시스템별 응답시간 조정
- 데이터 모델링 튜닝
2) 소프트웨어 단계 튜닝
- 데이터베이스 엑세스 방식 튜닝
ㄴ DBMS 의 기능에 대한 충분한 활용 여부 검증
ㄴ 옵티마지어 모드 결정
ㄴ 배열처리 및 부분 범위 처리 적용 여부 검증
- 데이터베이스 Objects 튜닝
ㄴ 인덱스 추가 및 변경, 테이블 분할, 집계테이블, 파티션 테이블 활용 등
※ 효과는 크지만 관련된 application 에 끼칠 영향력을 검토할 수 있어야 함
- SQL 및 Program 튜닝
ㄴ Oracle의 Hint
→ Optimizer 에게 작업방법을 알려줄 수 있는 수단. 따라서 힌트를 사용하게 되면 대부분 힌트에 의해서 옵티마이저는 작업을 하게된다 ( SQL 튜닝이 쉬워진다)
다만, 힌트를 갖고 있는 SQL 의 실행 계획은 고정된다. (힌트의 문제점)
3) 하드웨어 단계 튜닝
- 메모리 튜닝
- 물리적 구조 및 I/O튜닝
*I/O 란 Input(입력) / Output(출력) 의 약자를 말하며 컴퓨터 및 주변장치에 대하여 데이터를 전송하는 연산, 프로그램, 운영 혹은 장치를 일컫는다.
대개의 경우 입력에 함께 출력이 발생하게 된다. 단, 키보드와 마우스처럼 입력을 위한 기기, 프린터처럼 출력에만 사용되는 기기도 있다. 프로ㅔ서와 메모리, 확장 슬롯, 마더보드에서 일어나는 데이터 전송도 I/O 라고 일컬어진다.
- 프로세스 간 경합 튜닝
- 하드웨어 기반에 특화된 튜닝
* Optimizer 란
가장 효율적인 방법으로 SQL을 수행할 최적의 처리 경로를 생성해주는 DBMS 의 핵심 엔진
* Hint 란
SQL 튜닝의 핵심 부분으로 일종의 지시구문이다.
오라클 옵티마이저에게 SQL 문 실행을 위한 데이터를 스캐닝하는 경로, 조인하는 방법 등을 알려주기 위해 SQL 사용자가 SQL 에 작성하는 것을 뜻한다. 오라클이 항상 최적의 실행 경로를 만들어 내기는 불가능하므로 직접 최적의 실행 경로를 작성해 주는 것이다.
사용자가 특정 SQL 문장에서 어떤 인덱스가 선택도가 높은지 알고 있는 경우 옵티마이저에 의존한 실행 계획보다 훨씬 효율적인 실행 계획을 구사할 수 있다. 그러나 정확히 사용하지 않으면 오히려 성능의 저하를 초해라 수 있다.
참고)
https://www.itworld.co.kr/news/105792
https://www.jobkorea.co.kr/goodjob/tip/view?News_No=18758&schCtgr=0&Page=1
https://engkimbs.tistory.com/417
https://www.sony.co.kr/electronics/support/articles/S500082145
https://coding-factory.tistory.com/743
'자라나라 PM' 카테고리의 다른 글
DATA 와 DB 는 다르다 (0) | 2022.07.28 |
---|---|
사이트가 느려지는 이유 (0) | 2022.07.18 |
서버분리, WEB 서버,WAS 서버, 단일서버, DB서버 분리,웹 서버 분리,DB서버 Replication, Load balancing (0) | 2022.07.18 |
호스팅, 웹스팅, 서버호스팅 등에 관련한 개념 정리 (0) | 2022.07.18 |
MAU, DAU, ACU, ARPU (0) | 2022.07.14 |