-
STRATAVERTICA/03. Architecture 2017. 3. 17. 15:17
버티카 튜플무버가 ROS파일을 병합할때 파라메터 MoveOutInterval 에 따라 조절이 되지만 몇가지 더 참조하는것이 있다.
그것은 글 제목과 같은 STRATA 이다.
아래 그림을 보면 좀더 이해가 쉬울 것이다.
요약하면 특별한 경우를 제외하곤 큰놈과 작은놈은 저어얼~~~~~대 합쳐지지 않는다. 서로 어색해하나??
이유는 큰 놈(ROS)과 작은 놈ROS) 을 병합하게되면 안좋은 점이 몇 가지 있겠지만. 그중에서도
1.병합하는 횟수가 많아져 튜플무버가 힘들어한다.
2.기본적으로 버티카는 write once 아키텍처인데 큰놈과 작은놈을 병합해봤자 큰놈기준에서 전체크기는 크게 늘어자지 않겠지만 합쳐진 큰덩이라 파일을 다시 만들어야 하므로 마찬가지로 튜플무버가 힘들어한다.(http://vertica.tistory.com/13)
튜플무버가 사람이라면 엄청 싫어하겠지..
이러한점을 보완하고자 STRATA 개념을 도입하였다.
그래서 strarum 0~4까지 5단계 구간으로 나누어지고 해당하는 strarum 그룹끼리만 병합이 된다.
각 strarum 마다 병합이 되는 기준은 ROSPerStratum 파라메터에 의해 결정이 된다. (이 파라메터수보다 적다면 mergeout을 하지않는다.)
다만 사용자가 do_tm_task를 통해 mergeout을 하게 되면 strarum 그룹과 ROSPerStratum 파라메터를 무시하고 ROS갯수를 1로 만들게 된다.
ROS갯수가 제한이 있다고해서(1024개) 무리하게 ROS의 갯수를 1로 만드려는 행위는 하지 않았으면 좋겠다.
(큰 문제가 발생하지 않는 한 강제적으로 do_tm_task를 통해 mergeout을 하지말라는 이야기다... 원인을 찾는것이 더 우선...)
추가적으로 튜플무버가 참조하는 파라메터는 여기를 참조하면 되겠다.
https://my.vertica.com/docs/8.0.x/HTML/index.htm#Authoring/AdministratorsGuide/ConfiguringTheDB/TupleMoverParameters.htm
감사합니다.
'VERTICA > 03. Architecture' 카테고리의 다른 글
버티카 Eon모드 (0) 2018.12.24 Projection : sort key의 중요성 (0) 2016.06.01 버티카의 독창성 (0) 2016.05.25 Vertica 특장점 - Column 기반 DBMS (0) 2015.08.10 Vertica 특장점 - Pure MPP 아키텍처 (0) 2015.08.10 댓글