PostgreSQL 3

[GPDB] 5. Storage Optimization

Tablespace Tablespaces sit atop filespaces interacting with the underlying filesystem A filespace can support multiple tablespaces default tablespace : pg_default, pg_global 주요 명령어 Partitioning 논리적으로 큰 테이블을 작은 부분으로 나누는 것으로, query performance 향상에 도움이 됨. - 전체 테이블에서 distribution key 를 통해 segment 별 접근양을 줄이고, segment 내에서 파티션을 통해 더 축소 (아래 그림 참고) 주요 쿼리 조건으로 빈번하게 사용되는 키를 partition key 로 사용하는 것이 좋음. - 분산..

[GPDB] 4-4. Data Definition Language : Indexes, View, Sequence

Indexes GP 의 경우 DW 환경(비정규화 모델)으로 인덱스를 최소화 하는 방향으로 사용 B-tree, Bitmap Index, Partial Index 등 종류 있음 ​ View 특정 쿼리들을 저장하여 데이터를 볼 수 있도록 만들어둔 object 복잡한 쿼리를 숨겨 간단한 쿼리로 조회 가능하며, 데이터 업데이트는 불가 (각 테이블에 접근하여 업데이트 가능) CREATE VIEW TOPTEN AS SELECT NAME, RANK, GENDER, YEAR FROM NAMES, RANK WHERE RANK < '11' AND NAMES.ID = RANK.ID SELECT * FROM TOPTEN ORDER BY YEAR, RANK; ​ Sequence 중복되지 않도록 값을 생성하는 object 좀더 빠..

[GPDB] 4-3. Data Definition Language : Data Types

Data Types postgresql 기반의 data type 모두 사용 최소한의 공간을 차지하도록 컬럼 데이터 타입 지정 join 에 사용하는 컬럼의 경우 동일한 data type + 동일 자릿수 사용 권장 - table1(col1 int, col2 int), table2(col1 char, col2 char) 인 경우 > 값이 같아보여도 컬럼 타입이 다르면 local join 불가. - table1(col1 char(10)), table(col char(20)) 인 경우 > 값이 같아보여도 컬럼 길이가 다르면 local join 불가. (각각의 컬럼 내 공백을 포함하여 hash 값을 만들기 때문에 다른 값으로 인식) - table1(col1 bigint), table(col smallint) 인 경..

반응형