TAC 환경에서 SEQUENCE의 order/ cache

eungjj·2025년 1월 8일

- TIBERO

목록 보기
6/8

TAC 환경에서 SEQUECE 를 사용할 때,
순차적으로 채번이 되지 않는 현상이 있다고 해서 관련해서 찾아보았다...

  1. SEQUENCE 에서 no order 옵션을 주었을 때
-- NO ORDER 옵션 생성
CREATE SEQUENCE NO_ORDER
INCREMENT BY 1 
START WITH 1 
NOMAXVALUE
MINVALUE 1 
NOCYCLE 
CACHE 5 
NOORDER ;

위와 같이 이미 CACHE(5) 옵션으로 인해 node1에서 cache 사이즈 만큼의 시퀀스를 뛰어넘었을 때 node2 에서 할당된 캐시사이즈 의 뒷번호 부터 시작하여 실질적으로 순서대로 채번되지 않는 것 확인 할 수 있었다.


  1. SEQUENCE 에서 order 옵션을 주었을 때
-- ORDER 옵션 생성
CREATE SEQUENCE YES_ORDER
INCREMENT BY 1 
START WITH 1 
NOMAXVALUE
MINVALUE 1 
NOCYCLE 
CACHE 5 
ORDER ;

ORDER 옵션을 주었을 때는, 캐시사이즈만큼 할당된 번호로 올라가지 않고 순차적으로 채번되는 것 확인하였다.

TAC 환경에서 ORDER 옵션을 주었을 때는, 노드 간 캐시 값을 동기화해야 하므로 빈번히 동기화가 일어나 부하가 발생할 수가 있다.
또한 CACHE 값이 매우 작을 때에는 Sequence 값을 자주 디스크에서 읽어와야 하며, 이는 I/O 오버헤드와 데이터베이스 행을 유발할 수 있다.
또 각 노드가 Sequence 값을 더 자주 요청해야 하므로, TAC 노드 간 동기화 작업(Global Cache Coordination)이 더 자주 발생할 수 있다.

따라서 환경에 적합하게 CACHE 값과 order 옵션을 적절히 잘 이용할 수 있어야 한다고 합니다.....

1개의 댓글

comment-user-thumbnail
2025년 1월 8일

안녕하세요! eungjj님. 개발자 준비하시는 분이나 현업에 종사하고 계신 분들만 할 수 있는 시급 25달러~51달러 LLM 평가 원격 근무 부업 공유합니다~ 제 블로그에 자세하게 써놓았으니 관심있으시면 한 번 읽어봐주세요 :) 공부 화이팅입니다!!

답글 달기