LOB 의 성능 향상 방법을 알아보자


LOB는 성능적인 관점에서 사용을 최소화 해야 한다. 하지만 불가피 하게 사용 해야 할 경우 성능 향상 방법을 살펴보자


LOB in row

• 오라클 권고 사항

• DATA가 가 4K 이하일 때는 row 에 저장되고, 이상이 되면 LOB

세그먼트에 저장

• 장점 : LOB 관련 작업 속도가 빠름

• 단점

– Row chaining 등이 많아 져서, 일반 OLPT 성능은 저하

– 전체 테이블 처리 및 범위 처리 비용 증가

LOB in out of row

• DATA가 가 4K 이상일 때 사용

• 장점 : 일반 OLTP 작업에 미치는 영향이 없음

• 단점 : 저장 공간 낭비 발생


STORE AS ( chunk bytes )

테이블 생성 시에만 지정 가능함

LOB 을 위한 기본적인 데이터 변경 단위

DB_BLOCK_SIZE 의 배수로 자동 설정

• Byte 단위로 설정

• 2K DB Block size, 3000의 의 chunk 설정 시

– Chuck 사이즈는 4096 으로(rounded) 설정됨


LOB 세그먼트에 대한 UNDO 적용 불가

LOB Page 단위의 versioning 이 사용됨

Page Versioning 과정

• 모든 변경은 LOB page 단위로 발생

• 하나의 LOB page 변경으로 new page 가 생성

• 동시에 old page 를 지우지 않고 유지함

• 이전 버전의 page 를 통해 Consistent Read

– 별도의 space 가 많이 소요되지만, consistent read를 위한 성능을 제공하는 이점이 있음


STORE AS ( pctversion n )

• ALTER TABLE tblname MODIFY LOB (lobname) (PCTVERSION n);

Consistent Read 를 위해서 항상 유지해야 하는Version Page 용

공간 비율 용

공간 비율(%)

• 실제 LOB 데이터 크기에 대한 비율

• 기본 값 : 10(%)

전 값이 너무 작아서 이전 version이 이 overwritten 되는 경우, “snap

shot two old” 오류 발생


PCTVERSION 값의 고려 사항

• How often LOBs are updated?

• How often the updated LOBs are read?

예제

• 읽기 요청이 많으면서 동시에 LOB 변경(20% 이상)

• 읽기 요청이 대부분이며 변경이 거의 없음(5% 이하)


• 자주 access되는 경우라면, cache를 선택하여 사용한다. default는 nocache이다.

• in-line lob은 영향을 받지 않는다. 즉, in-line lob은 다른 데이타와 마찬가지로 buffer cache에서 바로 읽혀지기 때문이다.

• CACHE_SIZE_THRESHOLD limit이 적용되지 않기 때문에 cache할 때는 주의해야 한다.

• cache/nocache 변경

SQL> ALTER TABLE demolob MODIFY LOB (b) ( CACHE/NOCACHE );


• redo 정보를 생성 여부 결정

• cache option을 사용하는 경우는 무조건 logging

• logging, nologging에 상관 없이 undo 정보는 lob index에 대해서만 생성되고, lob

데이타에 대해서는 생성하지 않는다.

• logging인 경우는 redo 정보를 생성하고, bulk load나 대량의 insert를 하는 경우

nologging을 설정하여 redo 정보를 생성하지 않도록 할 수 있다.

• logging/no logging 변경

SQL> ALTER TABLE demolob MODIFY LOB(b) (NOCACHE NOLOGGING);



사업자 정보 표시
(주)블루원 | 김홍태 | 서울특별시 용산구 원효로 4가 135 금홍 2빌딩 | 사업자 등록번호 : 106-86-76684 | TEL : 02-3272-7200 | Mail : support_ora@blueone.co.kr | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기

+ Recent posts