GOLDILOCKS 는 godlilocks_home 과 goldilocks_data 경로에 운영에 필요한 파일들을 보관합니다. goldilocks_home 폴더 설명 admin 메타 스키마 정보를 담은 파일이 있는 폴더 bin 바이너리 파일이 있는 폴더 include 헤더 파일이 있는 폴더 lib 라이브러리 파일이 있는 폴더 license 라이센스 파일이 있는 폴더 msg 에러메세지 파일이 있는 폴더 sample SQL, ODBC, JDBC, Embedded-SQL 등의 샘플 파일이 있는 폴더 script 스크립트 폴더 goldilocks_data 폴더 설명 archive_log 아카이브 로그파일이 있는 폴더 backup 백업 파일이 있는 폴더 conf 데이터베이스 프로퍼티를 설정하는 파일이 있는 폴더 ..
Database/Goldilocks
GOLDILOCKS 는 SQL/PSM 을 지원합니다. SQL/PSM 이란1. 프로그래밍 언어 기능이 포함된 SQL 입니다.2. 트랜잭션을 단위별로 수행할 수 있는 SQL 입니다.3. 제어흐름, 예외처리, 지역변수, 커서의 절차적 이용을 위한 문법등을 표준화한 SQL 입니다.4. SQL/PSM 은 PL/SQL 혹은 PL/pgSQL 과 비슷한 언어입니다. SQL/PSM 기본구조DECLARE 변수 선언; BEGIN 코드; [EXCEPTION 예외처리;] END; /변수 선언 : GOLDILOCKS 에서 지원하는 데이터 타입을 작성할 수 있습니다.코드 : SQL/PSM 을 작성합니다.예외처리 : 코드 수행시 발생하는 예외처리를 작성합니다. 예시]gSQL> set serveroutput on; gSQL> DECL..
GOLDILOCKS 는 구동까지 아래 단계를 거쳐가며, 각 단계별로 할 수 있는 작업이 나뉘어져 있습니다. STANDALONE 에서는 INIT - NOMOUNT - MOUNT - OPENCLUSTER 에서는 INIT - NOMOUNT - MOUNT - LOCAL OPEN - GLOBAL OPEN 단계를 지원합니다. 각 단계별로 가기 위한 쿼리는 아래 사진과 같습니다. GOLDILOCKS 는 각 단계별로 다음과 같은 작업을 수행합니다. STANDALONE CLUSTER INIT NOMOUNT 데몬 gmaster 를 구동 데몬 gmaster 를 구동 MOUNT 복구를 위한 control file 을 읽음 복구를 위한 control file 을 읽음 OPEN LOCAL OPEN data file 로부터 테이블..
CYCLONE GOLDILOCKS 는 이중화를 위해 CDC 방식의 cyclone 프로그램을 지원합니다. cyclone 프로세스가 Master 데이터베이스로부터, Slave 데이터베이스로 반영까지의 단계는 다음과 같습니다.1. Master 데이터베이스에 쿼리가 수행됩니다.2. 수행된 쿼리는 리두로그 파일에 기록됩니다.3. cyclone master 는 리두로그 파일에 기록된 쿼리를 전용버퍼에 캡쳐합니다.4. cyclone slave 의 Applier 들은 버퍼에 들어있는 내용을 Slave 데이터베이스에 반영합니다. CDC 방식은 비동기 방식만을 지원하기 때문에 데이터베이스간의 동기화 시간차가 발생하게 됩니다. CYCLONE 을 사용하기 위해서는, 다음의 제약사항이 필요합니다.1. 데이터베이스는 아카이브 모..
GOLDILOCKS 는 테이블 정책으로 4가지 Sharding 정책 중 하나를 옵션으로 선택할 수 있도록 제공합니다.Sharding 정책이란, 테이블의 데이터를 특정 클러스터 그룹으로 분배하여 저장하는 방식을 의미합니다. 4가지 Sharding 정책은 다음과 같습니다.- Cloned Strategy- Hash Sharding Strategy- Range Sharding Strategy- List Sharding Strategy 정책 설명 Cloned 테이블의 모든 데이터를 동일하게 복제 Hash Sharding Sharding Key 의 Hash 값을 기준으로 테이블의 데이터를 분배 Range Sharding Sharding Key 의 범위값을 기준으로 테이블의 데이터를 분배 List Sharding S..
GOLDILOCKS 의 모든 작업들은 메모리 상에서 진행되며, INSTANCE 크기는 프로퍼티 파일에 지정된 프로퍼티에 의해 결정됩니다. INSTANCE 는 SSA 영역과 TABLESPACE 영역으로 나뉘어집니다. SSA 는 Shared Memory Static Area 의 약자이며, 프로세스간 공용으로 사용되는 정보를 담고있습니다.TABLESPACE 는 한개 이상의 데이터파일들로 구성되어 있으며, 객체들을 저장합니다. PSA 는 Private Static Area 의 약자이며, 각 세션마다 독립적으로 사용하는 힙 메모리 영역입니다.PSA 는 INSTANCE 의 크기에 영향을 미치지 않습니다.
GOLDILOCKS 는 Shared-Nothing 구조의 완벽한 Scale-Out 이 가능한 클러스터 데이터베이스 입니다. 각 Node 별 다수개의 Member 를 구성할 수 있으며,각 Node 의 Member 들 끼리는 동일한 데이터를 가지고 있습니다. GOLDILOCKS Cluster 는 cdispatcher, cserver 의 추가 프로세스를 가지고 있습니다.cdispatcher 는 멤버, 노드 간 효율적인 통신을 위한 프로세스입니다.cserver 는 멤버, 노드 간 데이터의 저장 및 관리를 위한 프로세스입니다.
GOLDILOCKS 는 세션접속을 위해 DA 모드, CS 모드 를 제공합니다. DA ( = Direct Access ) 모드는 세션이 GOLDILOCKS INSTANCE 의 공유메모리에 직접 접근하여 세션의 요청을 처리하는 방식입니다.CS ( = Client Server ) 모드는 세션이 GOLDILOCKS 에서 제공하는 gserver 프로세스와 TCP 통신을 통해 사용자의 요청을 처리하는 방식입니다. CS 모드는 다시 DEDICATED, SHARED 모드로 나뉘어집니다.DEDICATED 모드는 하나의 세션에 대해 하나의 gserver 프로세스가 구동되어 세션의 요청을 처리하는 방식입니다.SHARED 모드는 gdispatcher 와 gserver 프로세스가 항상 구동되어 있으며, 다수의 세션에 대응하여 ..
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 ] ] ) 기술한 테이블에 대..