2009-10-06 2 views
2

오라클의 경우 구체화 된 뷰와 분석 작업 영역을 사용하는 것에 대한 장단점은 무엇입니까? 이러한 기능의 사용을 둘러싼 모범 사례는 무엇입니까?오라클 머티리얼 뷰와 분석 워크 스페이스

Google 시스템에는 OLTP 시스템이 있지만 보고서 및 대화 형 의사 결정 지원 도구의 요약 정보에 액세스하고 싶습니다.

답변

3

필자는 분석 작업 영역을 한번도 사용한 적이 없지만 MV를 사용하는 것은 참다운 단점이 있습니다. 몇 가지 :

  1. 사실상 이것들은 테이블입니다. 그것은 그들이 공간을 차지한다는 것을 의미합니다. 일부 상황에서는 수백만 행의 테이블에서 원격 데이터에 액세스하는 데 도움이되도록 사용하고 있습니다. 조회는 조회 결과 및 가상입니다. MV는 실제입니다 (메모리 구조가 아닌 실제 행이 있음).

  2. 우리가 마주 쳤던 또 다른 문제점 중 하나는 종종 MV가 새로 고침에 실패 할 때 다시 시도하고 다시 새로 고칩니다. 해당 원격 시스템에 연결이 새로 고치는 동안 삭제되면, MV 다시 새로 고침하지 않을 수도 있습니다, 원격 시스템의 경우

    • 하고있을 수 있습니다
      은 우리를 위해, 우리는이 두 가지 상황에서 일어나는 생각 떨어 뜨리고 재건 될 것입니다.
    • MV가 테이블 구조 중 하나를 기반으로하는 경우에도 동일한 문제가 발생할 것으로 보입니다. 예를 들어, "select * from mywork"쿼리를 사용하여 MV를 만들었습니다. 어떤 시점에서 alter command를 실행하여 FirstName 열을 varchar2 (100)에서 varchar2 (150)로 변경합니다. 이 시점에서 우리는 종종 MV 새로 고침이 실패하고 복구되지 않는 것을 보게됩니다.

구체적인 내용은 정말 중요하지 않습니다, 중요한 것은 당신은 확실히 자신의 데이터가 최신 버전인지 확인하기 위해 MVS를 모니터링해야 할 것입니다.

1

저는 분석 작업 영역을 사용하지 않았으므로 말할 수 없습니다.

그러나 실현 뷰는 매우 유용 할 수 있습니다. 그들은 기본적으로 인덱스를 빌드하는 것과 같은 일을 할 수있는 캐쉬 된 뷰 결과입니다. 구성 방법에 따라 (로그의 유무에 상관없이) "실제"데이터와 비교해 오래된 데이터가 될 수 있지만 데이터 및 쿼리에 따라 상당히 빠릅니다.

원격 데이터 (데이터베이스 링크)를 다루는 경우, 구체화 된 뷰를 사용하여 데이터를 로컬로 캐시 할 수 있습니다. 데이터에 대한 계산 속도가 느린 경우, 구체화 된 뷰를 사용하여 결과를 캐시 할 수 있습니다 (오래된 것일 수 있음).

구체화 된보기는 매우 편리 할 수 ​​있으며 현명하게 구현해야합니다.