Database/Goldilocks

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 시키지 않습니다.
원인 쿼리를 수행한 멤버가 아니며, 클러스터의 다른 멤버가 클러스터 시스템에 적합하지 않은 경우 발생합니다.적합하지 않다는 말은, LOCAL OPEN 혹은 OPEN 상태가 아닌 중간에 진행되고 있다는 것을 의미합니다. 해결방안 클러스터의 다른 멤버를 LOCAL OPEN 혹은 OPEN 상태로 변경한 뒤, 수행쿼리를 다시 시도합니다.
원인 한 테이블 객체 내의 SHARD 명이 이미 존재하는 경우 발생합니다. 해결방안 추가하려고 하는 SHARD 규칙명을 중복되지 않게 진행합니다.
원인 조인하려고 하는 클러스터 멤버의 객체들의 상태가 ONLINE 으로 되어있는 경우 발생합니다. gSQL> ALTER SYSTEM JOIN DATABASE; ERR-42000(16363): the cluster member 'G3N2' failed to join the cluster system : shards which belong to member 'G3N2' must be offlined 해결방안 INACTIVE 상태인 클러스터 멤버를 OFFLINE 상태로 변경한 뒤 조인합니다. gSQL> ALTER DATABASE OFFLINE INACTIVE CLUSTER MEMBERS; Database altered.gSQL> ALTER SYSTEM JOIN DATABASE; System altered.
꽁담
'Database/Goldilocks' 카테고리의 글 목록 (6 Page)