본문 바로가기

SQL

[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... 더보기
[TIL] 6주차_Day22: 데이터 웨어하우스와 SQL과 데이터분석 (2) 💡Today I Learned 데이터 웨어하우스와 SQL, 데이터분석에 대한 두 번째 수업을 진행했습니다. Redshift, SQL에 대한 개념과 SQL 문법을 이용한 Redshift에서의 쿼리 실습 1. Redshift 론치 데모 - Launch하고자 하는 지역 확인 → 'Seoul'에 있는 AWS region에서 Redshift launch - 외부에서 (실습_코랩 환경)에서 Redshift로 접근 가능하게 해야함 (원래 보안 설정 = 같은 aws 네트워크 안에 있는 서버에서만 접근 가능함) 2. 웹 서비스 사용자/세션 정보 - 사용자 ID: 보통 웹서비스에서는 등록된 사용자마다 부여하는 유일한 ID - 세션 ID: 세션마다 부여되는 ID (세선 = 사용자의 방문을 논리적인 단위로 나눈 것) → 하나.. 더보기
[TIL] 6주차_Day21: 데이터 웨어하우스와 SQL과 데이터분석 (1) 💡Today I Learned 데이터 웨어하우스와 SQL, 데이터분석에 대한 첫 번째 수업을 진행했습니다. SQL, 관계형 데이터베이스, 데이터 웨어하우스, Cloud, AWS, Redshift에 대한 개념 1. SQL의 중요성 - 데이터 엔지니어(ETL/ELT 담당, Airflow, DBT, Spark, Hadoop, SQL) - 데이터 분석가(통계, 비즈니스 도메인 지식, AB 테스트 분석, SQL) - 데이터 사이언티스트(머신러닝, 통계, SQL) → 빅데이터를 처리해서 데이터 요약과 분석을 위한 목적으로 사용함 2. 관계형 데이터베이스 : 구조화된 데이터를 저장하는 데 사용되는 스토리지(storage) : 구조화된 데이터 = column(열) + record(행), 테이블로 데이터를 정의/저장 :.. 더보기
반응형