전체 글 34

[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) 인 경..

[GPDB] 4-2.Data Definition Language : Distribution

Distribution GPDB 모든 테이블은 Distribution key 에 의해 분산되어 sdw 에 저장됨. 1개~여러개 컬럼이 Distribution key 로서 사용됨. high cardinality 를 가져야 함. 분포(skew 가 없도록)와, local join 을 고려하여 설계 필요. PK 나 UK 가 있다면, 분산키는 반드시 그 중에 하나의 컬럼이라도 포함해야 함. (중요!) 분산 방식 ① Distributed by (column) - hash distribution - 명시되지 않았을 경우, 해당 테이블의 PK(PK 존재할 경우)나 1번째 컬럼(PK 존재하지 않을 경우)으로 사용됨 - 자주 join되는 테이블은 select 하였을 때 같은 segment 내에서 처리(local join)..

[GPDB] 4-1. Data Definition Language : Table

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%) - 조회 중심의 테이블인 경우 사용 - ..

[GPDB] 3. Role & Access (인증, 권한 관리)

Role login 속성을 넣으면 user, login 속성이 없으면 group OS user, group 과 연관 없음. default superuser role : gpadmin role에는 db, schema, object 에 대한 access 권한이 주어짐 [종류] ① user role - login 가능한 일반 유저 - default 속성 : NOSUPERUSER, NOCREATEDB, NOCREATEROLE, INHERIT, NOLOGIN --create role CREATE ROLE ~ WITH LOGIN RESOURCE GROUP adhoc; --alter role ALTER ROLE ~ WITH CREATEDB; ② superuser - gpadmin 과 동일한 admin 정도의 권한 -..

[GPDB] 2. DB Instance (DB, Schema)

1) Database Greenplum instance 안에 여러 개의 DB 생성 가능 DB 간 데이터 share 불가 자동으로 생성되는 default DB - template0 : 내부적으로 template0에서 1로 복사되서 생성됨. (건드릴 일 없음) - template1 : 모든 db가 생성될 때 template1 을 복사하여 생성됨. (여러 db를 생성할 경우 활용) - postgres --create db CREATE DATABASE ~ $ createdb --drop db DROP DATABASE ~ $ dropdb --alter db (rename, assign a new owner, configuration change..) ALTER DATABASE ~ 2) Schema table/vi..

[GPDB] 1. 서버 명령어 (DB제어 & PSQL)

DB 제어 명령어 -- start greenplum > gpstart --stop greenplum > gpstop --reload greenplum configuration (pg_hba.conf 등 설정 파일 변경되는 경우, 내리는 것 아님) > gpstop -u --check the status of greenplum > gpstate > gpstate -f > gpstate -m --check postgres process (postgres기반이기 때문에 프로세스가 gp가 아님) > ps -ef | grep 'postgres -D' DB 사용을 위한 명령어 (PSQL) --interactive mode psql {dbname} {dbname}=# SELECT * FROM foo; --non-int..

[SQLD] 자격증 정보 & 기출문제 웹사이트

SQLD 란? SQL 개발자(SQLD, SQL Developer)가 데이터베이스와 데이터 모델링에 대한 지식을 바탕으로 응용 소프트웨어를 개발하면서 데이터를 조작하고 추출하는데 있어서 정확하고 최적의 성능을 발휘하는 SQL을 작성할 수 있는지를 평가하기 위한 자격증 https://www.dataq.or.kr/www/sub/a_04.do 데이터자격시험 SQL(Structured Query Language)은 데이터베이스를 직접적으로 액세스할 수 있는 언어로, 데이터를 정의하고(Data Definition), 조작하며(Data Manipulation), 조작한 결과를 적용하거나 취소할 수 있고(Transaction Con www.dataq.or.kr 자격증 시험 주요 내용 및 배점 - 총 2과목으로 구성되어..

반응형