[성능 패턴] 구체화된 뷰(Materialized View) 패턴

데이터 저장

비즈니스나 고객 정보를 저장할 때는 성능과 비용면에서 가장 효율적인 방법을 찾는 것이 우선사항이다.

하지만, 데이터 저장 방법은 다양한 유형의 워크로드를 반영하지 않는 경우도 많다.

데이터 조회에 따른 문제

구체화된 뷰 패턴

해당 쿼리의 일부 또는 전체가 필요할 때, 구체화된 뷰에서 바로 읽어 들일 수 있다. 특히 애그리게이트 함수나 데이터 변환, 조인 시 지연 시간과 오버헤드를 크게 줄일 수 있다.

구체화된 뷰 고려사항

  • 구체화된 뷰 테이블이 사용하는 추가 공간이 필요하다.
    • 트레이드 오프
      • 고성능을 위한 추가 공간
      • 클라우드 환경 – 성능과 공간 중 어떤 것이 좋을지 고려
  • 구체화된 뷰를 어디에 저장할 것인가?
    • 원래 데이터가 있는 동일한 데이터베이스
      • DB 설정 지원
      • 데이터베이스가 데이터 읽기 최적화가 아닐 수도 있다.
    • 분리된 데이터베이스
      • 인메모리
      • 프로그래밍 방식으로 업데이트 해야 한다.

참고

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유