Table
1) Column & Data Type
- 적절한 data type 지정
- text, varchar > char
- int, smallint > bigint
- table join시 동일한 data type 사용
- constraint
- check, not null, unique, primary key, foreign key (외래키는 허용되나 강제되지 않음, 없다고 봐도 됨)
2) Storage 방식
- Heap
- Row 기반 적재 방식
- 빈번한 update 가 이뤄지는 경우 사용 (가공 처리 등)
- row lock 지원 (GPv6 부터 지원)
- Append-Optimized
- Row 기반, Column 기반, 압축 지원 방식(옵션에 따라 70~95%)
- 조회 중심의 테이블인 경우 사용
- I/O 최적화 목적
- pk, unique index 생성 불가
※ GPv6 까지는 압축+ row 단위 lock 동시 불가.
(참고) 압축 옵션
- 압축 속도 : QuickLZ > zlib > zstd
- 압축 성능 : QuickLZ < zlib < zstd
- GPv6 에서 zstd 사용 권장하며, zlib 사용하는 경우 compresslevel=5, zstd compresslevel=5 or 7 가이드
- 적재 옵션 지정은 아래 4가지 방식으로 가능 (role 까지만 권장)
- Object level : CREATE TABLE … WITH ( storage_option);
- Role level : ALTER ROLE … SET gp_default_storage_options 'storage_option';
- Database Level : ALTER DATABASE … SET gp_default_storage_options 'storage_option';
- System Level : gpconfig -c gp_default_storage_options -v 'storage_option';
3) CREATE TABLE 구문
- LIKE 구문 사용하여 기존 테이블과 동일한 형태의 테이블 생성 가능
Quiz
x, x, 1
'프로N잡러 > 프로그래밍&자격증' 카테고리의 다른 글
[GPDB] 4-3. Data Definition Language(DDL) : Data Types (0) | 2024.01.09 |
---|---|
[GPDB] 4-2.Data Definition Language(DDL) : Distribution (1) | 2024.01.09 |
[GPDB] 3. Role & Access (인증, 권한 관리) (1) | 2024.01.09 |
[GPDB] 2. DB Instance (DB, Schema) (0) | 2024.01.09 |
[GPDB] 1. 서버 명령어 (DB제어 & PSQL) (1) | 2024.01.09 |