GOLDILOCKS 는 세션접속을 위해 DA 모드, CS 모드 를 제공합니다. DA ( = Direct Access ) 모드는 세션이 GOLDILOCKS INSTANCE 의 공유메모리에 직접 접근하여 세션의 요청을 처리하는 방식입니다.CS ( = Client Server ) 모드는 세션이 GOLDILOCKS 에서 제공하는 gserver 프로세스와 TCP 통신을 통해 사용자의 요청을 처리하는 방식입니다. CS 모드는 다시 DEDICATED, SHARED 모드로 나뉘어집니다.DEDICATED 모드는 하나의 세션에 대해 하나의 gserver 프로세스가 구동되어 세션의 요청을 처리하는 방식입니다.SHARED 모드는 gdispatcher 와 gserver 프로세스가 항상 구동되어 있으며, 다수의 세션에 대응하여 ..
Database
GOLDILOCKS 는 데이터베이스를 관리하기 위한 프로세스 gmaster 가 있습니다.gmaster 는 내부적으로 여러개의 쓰레드로 구성되어 있습니다. 명칭 ( 단어 뒤 Thread 생략 ) 설명 Main gmaster 프로세스를 구동/종료 Log Archiving Redo Log File 이 변경될 시, 이전 Redo Log File 을 지정된 위치로 복사 Ager DROP 된 객체들이 사용하고 있던 자원을 정리 Page Flusher Checkpoint 발생 시, Dirty 된 페이지들을 디스크로 저장하기 위하여 IO Slave 에 작업을 배분하고 제어 Log Flusher Redo Log Buffer 에 쌓인 데이터를 Redo Log File 에 주기적으로 저장 Checkpoint 메모리 상의 변..
쿼리에 힌트를 부여하기 위해서는 SELECT 와 컬럼 사이에 /*+ HINT */ 를 작성해야 합니다. GOLDILOCKS 힌트는 5가지로 구분됩니다.- Access Path Hints- Join Order Hints- Join Operation Hints- Query Transformation Hints- Other Hints 대분류 힌트명과 사용법 설명 Access Path FULL (table_name) 테이블을 전체 스캔 INDEX( table_name [ , ] [ index_name [ [ , ] index_name ] ] ) 기술한 테이블에 대한 인덱스 스캔 NO_INDEX( table_name [ , ] [ index_name [ [ , ] index_name ] ] ) 기술한 테이블에 대..
JOIN 은 두 테이블의 데이터들을 하나의 결과 데이터로 결합하는 과정을 말합니다. JOIN 의 처리과정은 Tree 형태로 표현됩니다.Tree 에서 왼쪽에 놓여진 테이블을 Outer Node, 오른쪽에 놓여진 테이블을 Inner Node 라고 불립니다.일반적으로 Outer Node 의 데이터를 읽어 Inner Node 에서 조건에 일치하는 데이터를 읽어와 결합하는 형태로 수행됩니다. JOIN 대상의 테이블이 3개 이상이 되는 경우, 2개의 테이블을 먼저 Join 한 후 그 결과를 나머지 테이블에 다시 Join 하는 형태로 수행됩니다.먼저 Join 된 결과가 Outer Node 쪽인 경우 Left Deep Join Tree 라 불리며, Inner Node 쪽인 경우 Right Deep Join Tree 라..
GOLDILOCKS 는 사용자의 SQL 구문에 대해 가장 효율적으로 처리할 수 있는 실행 계획을 찾는 모듈인 QUERY OPTIMIZER 를 제공합니다.QUERY OPTIMIZER 는 Access Paths, Join Methods, Query Transformations, 통계정보등을 이용하여 다양한 형태의 PLAN 의 비용을 계산(Cost-Based Optimizer)한 뒤, 가장 적은 비용을 갖는 PLAN 을 선택합니다. Access Paths, Join Methods, Query Transformations, 통계정보 에 대해서 알아보겠습니다. Query Transformations조건 구문을 View 로 Push 하는 기능 혹은 SubQuery 를 Join 형태로 변환하는 기능을 수행합니다.Qu..
GOLDILOCKS 함수 형태 - SINGLE ROW FUNCTION- AGGEREGATE FUNCTION SINGLE ROW FUNCTION SINGLE ROW FUNCTION 각 ROW 마다 하나의 결과를 생성하는 함수이며 아래와 같이 세분화 됩니다. - NUMERIC FUNCTION- CHARACTER STRING FUNCTION RETURNING CHARACTER VALUES- CHARACTER STRING FUNCTION RETURNING NUMBER VALUES- DATETIME FUNCTION- GENERAL COMPARISON FUNCTION- CONVERSION FUNCTION- CONDITIONAL FUNCTION- NULL-RELATED FUNCTION- ROWID-RELATED FU..
GOLDILOCKS 의 IDENTITY 컬럼 지원 속성 - GENERATED BY DEFAULT AS IDENTITY - GENERATED ALWAYS AS IDENTITY GENERATED BY DEFAULT AS IDENTITY 제약사항 및 사용예제 제약사항 1. 사용자가 값을 지정한 경우 이를 적용하나, 지정되지 않은 경우 자동값을 생성한다. 2. 사용자가 값을 지정한 경우, 자동값은 증가하지 않는다. 사용예제 1. 테이블을 생성합니다.gSQL> CREATE TABLE T1 (C1 INT GENERATED BY DEFAULT AS IDENTITY, C2 INT); Table created. 2. C2 컬럼에 데이터를 삽입합니다.gSQL> INSERT INTO T1 (C2) VALUES (1); 1 ..
GOLDILOCKS 데이터 타입 분류 - 문자형 - 숫자형 - 날짜형 - 이진형 - 대용량형 - INTERVAL 형 - 기타 GOLDILOCKS 데이터 타입 설명 분류 데이터타입 설명 문자형 CHAR (n) CHARACTER (n) 고정 길이 문자형 데이터 타입 최대 2000 Byte VARCHAR (n) VARCHAR2 (n) CHAR VARYING (n) CHARACTER VARYING (n) 가변 길이 문자형 데이터 타입 최대 4000 Byte BOOLEAN TRUE/FALSE 문자형 데이터 타입 숫자형 Native Type NATIVE_SMALLINT 2 Byte 크기의 정수형 데이터 타입 NATIVE_INTEGER 4 Byte 크기의 정수형 데이터 타입 NATIVE_BIGINT 8 Byte 크기..
원인 쿼리의 수행시간이 QUERY_TIMEOUT 보다 긴 경우 발생합니다. 해결방안 QUERY_TIMEOUT 프로퍼티의 값을 0 혹은 현재 설정된 값보다 더 크게 변경합니다.
원인 JOIN 시 클러스터 MASTER 장비의 멤버 맵과, 쿼리를 수행한 멤버 맵이 다른경우 발생합니다.아래 URL 과 발생원인은 비슷합니다.http://mozi.tistory.com/54 해결방안 JOIN 도중, MASTER 장비의 멤버 맵이 변동되지 않도록 합니다.맵이 변동되지 않는 방법은 JOIN 도중 다른 멤버를 SHUTDOWN, DROP INACTIVE 혹은 JOIN 시키지 않습니다.