전체 글 30

[PostgreSQL]분석함수 사용하지 않고 rank 쿼리 사용

출처 : http://www.gurubee.net/lecture/2192 쿼리 작성조건 - 사원 점수에 대한 전체 순위와 부서별 순위를 구하세요. - 최종결과는 부서코드, 부서별 순위, 사원번호 순으로 정렬하세요. - 오라클 8.0 버전의 환경에서 사용될 SQL이므로 분석함수를 사용할 수 없습니다. CREATE TABLE t AS ( SELECT 1 AS empno, 10 AS deptno, 100AS point UNION ALL SELECT 2, 10, 90 UNION ALL SELECT 3, 10, 80 UNION ALL SELECT 4, 20, 100 UNION ALL SELECT 5, 20, 90 UNION ALL SELECT 6, 20, 80 UNION ALL SELECT 7, 30, 95 UN..

[Vertica]사원의 급여 합계 및 평균

출처 : http://www.gurubee.net/lecture/2191 [퀴즈] 사원의 급여 합계 및 평균을 보여주는 쿼리 퀴즈로 배워보는 SQL, 그 두 번째 시간은 그룹 바이(GROUP BY)와 롤업(ROLLUP)의 기본원리에 대한 이해와 이를 이용해 문제를 해결하는 방법에 대해.. www.gurubee.net 위의 그림과 같은 query 결과 도출 SELECT DEPTNO,EMPNO, CASE WHEN ENAME IS NULL AND GROUPING(X)=0 THEN '합계' WHEN ENAME IS NULL AND GROUPING(X)=1 THEN '평균' ELSE ENAME END ENAME, CASE WHEN ENAME IS NULL AND GROUPING(X)=1 THEN ROUND(AVG..

[PostgreSQL]스터디가입현황

다음과 같이 테이블이 3개가 있습니다. 1. 스터디 학생 테이블은 s_id가 PK입니다. 2. 스터디 과목 테이블은 c_id가 PK입니다. 3. 스터디마스터테이블은 학생과 과목 테이블을 각각 참조하며 PK는 s_id, c_id, chasu 3개 항목의 조합입니다. 쿼리 작성 조건입니다. - 학생별로 2개행씩(스터티과목수만큼) 조회되어야 합니다. - 스터디 차수별로 가입여부에 '○'표로 표시합니다. 3차까지 표시. - 과목별 참여건수를 표시합니다. - 서브쿼리 없이 작성하세요. WITH student AS ( SELECT '001'AS s_id, '기민용'AS s_nm UNION ALL SELECT '002', '이현석' UNION ALL SELECT '003', '김정식' UNION ALL SELECT ..

System의 구성요소

System이란 하나의 공통적인 목적을 수행하기 위해 조직화된 요소들의 집합체 Input을 받아 처리, 가공하여 Output을 제공하는 서비스 Methodology, Architecture, Framework, Platform 4가지 단계를 통해 IT System 완성 Methodology (방법론) 주어진 목표에 대한 절차 Architecture(구조) 시스템 구성의 의미로 사용 요구사항을 만족하는 시스템 구축을 위하여 전체 시스템에 대한 구조 정의 Framework(도구/뼈대) 제공받는 일정한 요소와 규약을 가지고 효율적인 구조를 만들거나 사용 Platform(형태) Application을 작동시키기 위한 기반 os나 기술 환경을 의

IT 2023.08.24

[Vertica]K-safety

K-safety는 DB 클러스터의 내결함성 측정 K는 클러스터에 존재하는 projection segmentation의 복사본 수를 표현 장애가 발생한 노드에 대해 다른 노드를 대신할 수 있게 하여 DB가 계속 실행되며 데이터 무결성을 보장 (Node개수/2)+1까지 살아있어야 복구 가능 인접한 Node 모두 죽으면 Vertica 재실행 필요 K=0 : Node 1개 or 2개, HA 구성 불가 K=1 : Node 3개 이상, HA 구성 가능 K=2 : Node 5개 이상, HA 구성 가능

DataBase/Vertica 2023.08.24

[Vertica]Projection Segmentation & Replication & Local Join

Segmentation(분산) Data를 클러스터 노드 전체에 고르게 분산 각 노드별로 데이터를 고르게 가지고 있어 쿼리 실행시 workload를 여러 노드로 분산가능 Replication(복제) 작은 테이블에서 주로 사용하며 Join시 유리 각 노드에 data를 저장하여 join이 local에서 일어나 조인 성능을 높일수 있음 한 node가 중단되도 다른 node에 동일 데이터 존재하여 서비스 지속 가능 Local Join 밑의 projection간의 join은 각 노드에서 로컬로 수행하여 노드의 데이터 반환

DataBase/Vertica 2023.08.24

[Vertica]Projection 특징

Projection이란? Vertica table은 논리적인 구조로만 존재하고 데이터를 저장하는 것은 Projection이라는 물리적인 구조로 저장된다. 실제 Table Data가 저장되는 Object(물리적 구조) Table당 복수개의 Projection 생성 가능 전체 컬럼을 가지는 Projection인 super projection은 반드시 한개 존재하며 마지막 super projection은 삭제 불가능 Table의 칼럼을 일부만 가지는 projection도 생성 가능 Projection특징 Table의 projection이 많아질수록 DML의 성능 저하 가능성 높음 모든 Node Data Update하여 적재 속도 영향, 디스크 공간 비효율적 사용 PK가 없으면 데이터 Type 작은 순으로 정렬..

DataBase/Vertica 2023.08.24

[Vertica]Vertica Architecture&특징

Vertica Architecture 대용량 데이터 분석위한 column기반의 RDBMS Linux기반 Table은 Logical상에만 존재 Physical에는 Projection 형태로 존재 Vertica에서 Table = Anchor Table Vertica 특징 Columnar Orientation row 단위로 저장하는 DB는 데이터가 Table에 저장 Vertica는 데이터를 Column단위로 저장/관리 Vertica는 쿼리 수행시 필요한 칼럼만 읽어 디스크I/O 감소하여 쿼리 성능과 응답속도가 빠름 row 단위 DB는 쿼리 수행시 전체 칼럼을 읽어 수행 다수의 칼럼을 조회하는 상황에는 작업비용이 커질 가능성도 존재 Column기반으로 저장하여 Index 불필요 모든 Column 개별적으로 다뤄..

DataBase/Vertica 2023.08.24

ISP/ISMP

ISP/ISMP S ISP = WHAT + TIME ISMP = ISP의 WHAT에 대한 INPUT이 상세하게 기재(디테일한 분석과 개념설계 필요) ISP(Information Strategy Planning)? - 정보 시스템 구축의 출발점인 계획 단계로 기업이 수립한 중장기 경영 전략과 계획을 토대로 사업 전개에 필요한 총체적인 정보체계 제시, 정보 체계 개발 계획/ 통제함으로 경영 요구에 의한 정보 기술 체계를 구축하는 과정 - 최적의 정보화(Information)을 추진해 나가기위한 중장기 전략(Strategic)계획(Planning)을 수립하는 것 ISMP(Information System Master Plan)? - SW개발 사업에 대한 분석과 RFP(제안요청서)를 마련하기 위해 비즈니스 및 ..

IT 2023.08.22