[DB] DB 리소스 소비 개선 방법

이정환·2023년 7월 25일

[CS] DATABASE

목록 보기
13/21

DB리소스 소비를 어떻게 개선시키는가?

  • == 데이터베이스 성능 이슈는 “I/O를 어떻게 줄일 수 있는지”와 밀접 관련있습니다. 반정규화, 쿼리튜닝(join), 인덱스 최적화(자주 검색되면서 높은 카디널리티), 쿼리 매개변수조정, 커넥션관리, 정기적 백업 및 유지보수를통한 데이터 무결성 및 불필요공간 제거.
    1. 반정규화 : 데이터 중복되지만 거의 주로 묶어서 가져와야하는 데이터들의 경우, 조인 비용 줄이기 위해 사용.
    2. 쿼리 튜닝: 쿼리 실행 계획을 분석하고, 인덱스를 적절히 설계하고 생성하여 쿼리의 실행 속도를 향상시킬 수 있습니다.
    3. 인덱스 최적화: 자주 사용되는 검색 조건 및 조인에 대해 인덱스를 생성하여 데이터 액세스 속도를 개선할 수 있습니다. 하지만 너무 많은 인덱스는 쓰기 성능에 영향을 줄 수 있으므로 적절한 균형을 유지해야 합니다.
    4. 튜닝 매개변수 조정: shared_buffers, work_mem, effective_cache_size 등과 같은 매개변수를 조정하여 메모리 사용량과 디스크 액세스를 최적화할 수 있습니다.
    5. 커넥션 관리: 커넥션 풀링을 통해 커넥션 관리를 개선하고, 초과 커넥션을 방지하여 리소스 사용을 최적화할 수 있습니다.
    6. 정기적인 백업 및 유지보수:
      • 데이터베이스의 백업 및 유지보수를 정기적으로 수행하여 데이터의 무결성과 성능을 유지할 수 있습니다.
      • VACUUM 및 ANALYZE 명령을 사용하여 테이블의 불필요한 공간을 해제하고 통계 정보를 갱신할 수 있습니다.

0개의 댓글