일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- boj
- Algorithm
- DFS
- 코딩테스트
- BFS
- programmers
- gpdb
- Bruth Force
- hash table
- Trie
- 알고리듬
- CSV
- Linked list
- Python
- JavaScript
- spring boot
- 구현
- aws
- django
- SWEA
- 시뮬레이션
- Priority Queue
- 알고리즘
- SQL
- Data Structure
- GitHub
- Back tracking
- 코테
- Vue.js
- 모의SW역량테스트
- Today
- Total
목록Dev./Greenplum DB (9)
hotamul의 개발 이야기

병렬 처리 구조 Greenplum 데이터베이스(이하 GPDB)는 Postgresql 기반의 데이터베이스로 OLAP 시스템에 적합한 데이터베이스이다. GPDB는 MPP(massively parallel processing) 데이터베이스로 병렬 처리 구조 아키텍처를 가지고 있다는 특징이 있다. Scale-out GPDB는 위의 그림과 같이 Scale-out 방법으로 병렬처리를 구현했다(기존 서버를 높은 사양으로 업그레이드 하는 것이 Scale-up, 기존 서버에 추가로 서버를 연결해 데이터 용량 및 서버 부하를 분담하는 것을 Scale-out이라고 한다). Master Hosts, Interconnect, Segment Hosts GPDB는 크게 Master Hosts, Interconnect, Segmen..
블로그 : http://gpdbkr.blogspot.com/ https://blog.naver.com/geartec82/ https://rfriend.tistory.com/ -- data Science 관련 https://blog.naver.com/nzisu 👍
Sample DDL CREATE EXTERNAL WEB TABLE training.read_gpdb_log_D_1 ( event_time text, user_name text, database_name text, process_id text, thread_id text, remote_host text, remote_port text, session_start_time text, transaction_id text, gp_session_id text, gp_command_count text, gp_segment text, slice_idtext, distr_tranx_id text, local_tranx_id text, sub_tranx_id text, event_severity text, sql_stat..

위 와 같이 Greenplum Command Center에서 마지막 Vacuum, Analyze 시간을 확인 할 수 있다. Query에서 확인 pg_stat_all_tables View에서 last_vacuum, last_analyze 컬럼으로 확인 할 수 있다. -- example select pg_stat_all_tables sql SELECT schemaname, relname as tablename, last_vacuum, last_analyze FROM pg_stat_all_tables WHERE schemaname = 'training' ; --- example output schemaname | tablename | last_vacuum | last_analyze -------..

Database 실행 계획을 가독성 있는 그래프로 보는 방법은 아래 링크를 이용하면 됩니다! Postgres Explain visualizer Example -- 파티셔닝이 되어 있는 테이블 EXPLAIN (ANALYZE, FORMAT JSON) SELECT o_orderpriority, count(*) as order_count FROM orders WHERE o_orderdate >= date '1994-05-01' AND o_orderdate < date '1994-05-01' + interval '3 month' AND exists ( SELECT * FROM lineitem WHERE l_orderkey = o_orderkey AND l_commitdate < l_receiptdate ) GRO..
-- example returning deleted rawdata WITH deleted_rows AS ( DELETE FROM products WHERE "date" >= '2010-10-01’ AND "date" < '2010-11-01’ RETURNING * ) SELECT * FROM deleted_rows; 위 쿼리 처럼 WITH 구문을 이용하고 DELETE 문 다음 RETURNING * 사용하면 실제 delete된 데이터를 사용할 수 있어요😊 delete된 데이터를 다른 테이블에 insert 하거나 COPY 해두거나 한다면 유용하게 사용될 수 있을거에요!
아래와 같은 External Table을 define 하거나 COPY operation을 실행할 때 발생한 에러를 확인하려면 gp_read_error_log 함수를 이용해 table 형태로 에러가 발생한 각각의 row에 대해 확인할 수 있어요. (Viewing Bad Rows in the Error Log) -- create external table example CREATE EXTERNAL TABLE ext_expenses ( name text, date date, amount float4, category text, desc1 text ) LOCATION ('gpfdist://etlhost-1:8081/*', 'gpfdist://etlhost-2:8082/*') FORM..
SELECT n.nspname as schemaname, c.relname as tablename, pg_get_table_distributedby(c.oid) distributedby, case c.relstorage when 'a' then ' append-optimized' when 'c' then 'column-oriented' when 'h' then 'heap' when 'v' then 'virtual' when 'x' then 'external table' end as "data storage mode" FROM pg_class as c INNER J..

CLI $ gpcc start 2022-12-14 18:19:04 Starting the gpcc agents and webserver... 2022-12-14 18:19:08 Agent successfully started on 1/1 hosts 2022-12-14 18:19:08 View Greenplum Command Center at http://mdw:28080Web 접속 http://[GPDB IP 주소]:28080 으로 접속 default id: gpmon pw: changeme 참고: vmware - gpcc