본문 바로가기

redshift

[TIL] 8주차_Day35: 데이터 웨어하우스 관리, 고급 SQL, BI 대시보드 (5) 💡Today I Learned 데이터 웨어하우스, SQL, BI 대시보드에 대한 다섯 번째 수업을 진행했습니다. Superset 이용한 대시보드 실습 1. 다양한 시각화 툴 - 시각화 툴이란 : 대시보드 or BI(Business Intelligence) : KPI(Key Performance Indicator), 백엔드 관계형 DB/데이터 웨어하우스의 데이터 기반으로 계산/분석/표시 : 데이터 퀄리티가 중요 → ELT를 통한 summary 테이블을 사용하는 것이 일반적 (by. 데이터 분석가) : 의사결정권자들의 데이터 기반 결정을 위함 *) Citizen Data Analyst: 현업 종사자들(데이터 인력이 아닌)이 대시보드를 직접 만들고 KPI를 정의, 팀에 필요한 작업을 중앙 데이터 팀을 통하지 .. 더보기
[TIL] 8주차_Day34: 데이터 웨어하우스 관리, 고급 SQL, BI 대시보드 (4) 💡Today I Learned 데이터 웨어하우스, SQL, BI 대시보드에 대한 네 번째 수업을 진행했습니다. Snowflake 실습 1. Snowflake - Snowflake 특징 : 가변비용 모델임 → 컴퓨팅 인프라 & 스토리지가 별도로 설정 : 노드 수를 조정할 필요 x (Scale out), distkey 등의 최적화 필요 x : 데이터 클라우드 이기도 o : 자체 스토리지 이외에도 클라우드 스토리지를 외부 테이블로 사용 가능 : 멀티 클라우드 지원 : 다른 지역의 Snowflake DB 간의 데이터 공유 (cross-region) : Semi-structured data (JSON 네이티브하게 지원 o) ... → Redshift보다 강력함 : 한 organization(조직) > 안에 여러 .. 더보기
[TIL] 8주차_Day33: 데이터 웨어하우스 관리, 고급 SQL, BI 대시보드 (3) 💡Today I Learned 데이터 웨어하우스, SQL, BI 대시보드에 대한 세 번째 수업을 진행했습니다. Redshift 스냅샷, Spectrum, SageMaker을 이용한 ML 실습 1. Redshift의 권한/보안 - IAM Role : AWS 리소스 관련 권한 설정 서비스 : 역할(Role) 혹은 그룹(Group) 별로 스키마별 접근 권한을 주는 것이 일반적 : 사용자 집합 = 그룹, 테이블 집합 = 스키마 : 역할(계승 o → 포함관계, 상속 느낌), 그룹(계승 x) GRANT [권한 옵션] ON SCHEMA [스키마 이름] TO GROUP [그룹 이름]; GRANT [권한 옵션] ON ALL TABLES IN SCHEMA [스키마 이름] TO GROUP [그룹 이름]; : 컬럼 레벨의 .. 더보기
[TIL] 8주차_Day32: 데이터 웨어하우스 관리, 고급 SQL, BI 대시보드 (2) 💡Today I Learned 데이터 웨어하우스, SQL, BI 대시보드에 대한 두 번째 수업을 진행했습니다. Redshift (Trial) 설치, Redshift 초기 설정 (스키마, 그룹, 유저), Redshift COPY 명령으로 테이블에 레코드 적재하기 관련 실습 진행 1. Redshift의 특징 - Overall : AWS에서 지원하는 데이터 웨어하우스 서비스 : OLAP(Analytical) → 응답속도가 빠르지 x, 프로덕션 DB로는 사용불가 : 컬럼 기반 스토리지 → 레코드(row)가 아닌 컬럼(속성)별로 저장함, 컬럼별 압축이 가능, 컬럼 추가/삭제가 빠름 : 벌크 업데이트 → 레코드가 들어있는 파일을 S3(AWS 스토리지)로 복사 후 COPY 커맨드로 Redshift에 일괄 복사 : .. 더보기
[TIL] 8주차_Day31: 데이터 웨어하우스 관리, 고급 SQL, BI 대시보드 (1) 💡Today I Learned 데이터 웨어하우스, SQL, BI 대시보드에 대한 첫 번째 수업을 진행했습니다. 1. 데이터 팀의 역할 - 데이터 조직이 하는 일 : 신뢰할 수 있는 데이터를 바탕으로 부가 가치(=간접 매출)를 생성 : 결정 과학(Decision Science) → 데이터 기반 지표(KPI) 정의, 대시보드/리포트 생성 : (Product Science) 고품질 데이터 기반 사용자 경험 개선, 프로세스 최적화 → by.ML 알고리즘 - 데이터 팀의 발전 단계 : 온라인 서비스에서 생기는 데이터 → 데이터 인프라(Production db, ETL/ELT) → 데이터 분석(지표 정의, 시각화, ...) ↔ 데이터 과학 적용(사용자 경험 개선 ex) 추천, 검색 등의 개인화 서비스) 1. 데이.. 더보기
[TIL] 6주차_Day25: 데이터 웨어하우스와 SQL과 데이터분석 (5) 💡Today I Learned 데이터 웨어하우스와 SQL, 데이터분석에 대한 다섯 번째 수업을 진행했습니다. SQL advanced 문법 실습 1. 트랜잭션 : atomic하게 실행돼야하는 SQL을 묶어서 하나의 작업처럼 처리 : 동시에 실행 or 롤백돼야 함 (작업 처리의 단위) : BEGIN - 트랜잭션 - END (혹은) BEGIN - 트랜잭션 - COMMIT : ROLLBACK - begin 전의 상태로 돌아감 (트랜잭션 중 하나라도 실패하면 begin 이전으로 롤백) - commit mode autocommit = True: 모든 레코드의 수정/삭제/추가 작업이 기본적으로 바로 db에 쓰여짐 (자동으로 커밋됨) / 특정 작업 트랜잭션 구성하고싶을 경우 BEGIN~END(COMMIT)/ROLLBA.. 더보기
[TIL] 6주차_Day24: 데이터 웨어하우스와 SQL과 데이터분석 (4) 💡Today I Learned 데이터 웨어하우스와 SQL, 데이터분석에 대한 네 번째 수업을 진행했습니다. Join을 이용한 실습 1. JOIN : 두 개 이상의 테이블들을 공통 필드로 merge, 합쳐진 새로운 레코드들이 만들어짐 1) INNER JOIN - 두 테이블의 교집합 레코드 2) FULL JOIN - 합집합 레코드 3) LEFT/RIGHT JOIN - JOIN 연산자 기준 왼/오 테이블은 모두 포함 (매칭되지 않는 필드는 null) 4) SELF JOIN - 자기 자신 테이블을 merge 5) CROSS JOIN - 가능한 모든 레코드 들의 조합 *) JOIN시 고려할 점 : 중복 레코드 x : 기본키의 유일성이 보장됨 2. BOOLEAN - flag is True != flag is not.. 더보기
[TIL] 6주차_Day23: 데이터 웨어하우스와 SQL과 데이터분석 (3) 💡Today I Learned 데이터 웨어하우스와 SQL, 데이터분석에 대한 세 번째 수업을 진행했습니다. group by, aggregate 함수, ctas, cte 서브 쿼리 실습 1. GROUP BY, AGGREGATE : 테이블의 레코드를 그룹핑해 그룹별로 정보를 계산 1) 그룹핑을 할 필드 결정 (하나 이상 가능) 2) GROUP BY 함수로 지정 3) 그룹별로 집계함수 계산 (COUNT, SUM, AVG, MIN, MAX, LISTAGG, ...) ex) 가장 많이 사용된 채널 (기준 a) 세션 수 b) 유니크한 사용자 수) SELECT channel, COUNT(1) AS session_count, COUNT(DISTINCT userId) AS user_count, FROM raw_data... 더보기
반응형