Materialized View pattern

jihunnit·2023년 11월 9일
0

구체화된 뷰(Materialized View)

데이터 집약적인 어플리케이션이 가지는 문제들이 있음

  1. 성능문제
    여러 테이블이나 여러 데이터베이스간 걸쳐있는 복잡한 쿼리를 실행할 경우 시간도 오래 걸리게 됨

  2. 효율성과 비용
    대용량 데이터 셋을 읽거나 종합 및 변환하는 복잡한 쿼리를 반복적으로 실행하면 쿼리 실행에 들어가는 리소스 낭비가 심함

이를 해결하기 위해 구체화된 뷰(Materialized View) pattern 사용

구체화된 뷰 패턴은 읽기 전용 테이블을 생성하여, 최적화하려는 쿼리의 결과값을 미리 채워넣음

고려사항

  • 구체화된 뷰 테이블이 필요로하는 추가 공간을 고려해야 함

    	-> 공간과 시간의 trade-off. 평범하지만 cloud 환경에서는 비용 문제를 생각해야함
  • 구체화된 뷰를 어디에 저장하는가?

    	-> 원본 데이터가 있는 DB의 개별 테이블에 저장하는게 일반적
    	-> In-memory Cache 에 저장할 수도 있음(Redis 등)
profile
인간은 노력하는 한 방황한다

0개의 댓글