2012-07-30 2 views
1

저는 Vertica를 처음 접했고 아직 많은 자료를 읽지 않고 있습니다. 필자가 지금까지 읽은 내용은 실제로 쿼리에 응답하는 읽기 전용 저장소 (ROS)가 디스크에서 완전히 실행되고 주 메모리를 전혀 사용하지 않는다는 것을 이해합니다. Vertica에서 쿼리 캐싱이라는 개념이 없다는 의미입니까? "공유가없는"아키텍처 때문입니까?Vertica - 쉽게 메인 메모리에?

위의 내용을 고려할 때 Vertica는 실제로 쿼리에 응답하기 위해 GBs의 메모리가 필요하지 않습니까? 쓰기 전용 저장소 (WOS)는 주로 메모리에서 작동하므로 WOS에 memmory가 필요하다는 것을 알고 있습니다. 그러나 OLAP 사용 (쓰기와 비교할 때 읽기가 더 복잡한 경우)을 고려하면 Vertica는 메모리에서 쉽게 사용할 수 있습니다.

내 이해가 정확합니까?

답변

2

Vertica의 성능은 메모리의 영향을받습니다.

두 개의 큰 테이블을 조인 할 때 (예를 들어) 해시/병합/모든 조인을 메모리에서 시도합니다. 데이터가 디스크에 쏟아지면 메모리에 저장하는 것보다 훨씬 느린 프로세스가됩니다.

Vertica는 기능 할 수 있지만 메모리가 충분하지 않으면 성능에 부정적인 영향을줍니다. (의도적으로 불분명 함 충분 함)

0

ROS 및 WOS는 읽기 전용 저장소 및 쓰기 전용 저장소 (읽기 전용 및 쓰기 전용이 아님)를 나타냅니다.

자신이 선택한 일정에 따라 Vertica는 표 단위로 WOS에서 ROS로 튜플을 이동합니다. 궁극적으로 읽기/쿼리 성능은 데이터가 디스크에 저장되는 방식에 따라 다릅니다.

확실히 Nija가 설명하는 것처럼 메모리 제한이 있습니다. 그러나 WOS의 데이터는 절대 영구 거주하는 것으로 간주해서는 안됩니다. 결국 장기적으로 ROS로 옮길 것으로 기대하십시오.

0

RE : Nija - 실제로 MergeJoin 및 기타 정렬 기반 최적화는 비교적 적은 메모리를 사용합니다.

WOS는 쓰기 최적화 저장 장치의 여러로드에서 튜플을 수집하고 더 큰 배치로 정렬/쓰기함으로써 많은 작은로드를 수행하는 비용을 상각하는 데 사용됩니다. 일반적으로 쿼리 성능은 향상되지 않습니다.

0

WOS 수집 데이터를 사용하여 Stephen 주석 이외에도 삽입 성능이 떨어지 겠지만 한 번에 100MB를 초과하는 경우 WOS를 우회하여 ROS에 직접 삽입하는 것이 좋습니다. 이렇게하면 Vertica 튜플을 사용하여 데이터를 강제로 이동하지 않으며, 다른 최적의 데이터 배포 상황을 피할 것입니다.

관련 문제