기록 블로그

프로그래머스 데브코스-데이터 엔지니어/TIL(Today I Learned) 65

05/26 35일차 데이터 웨어하우스 관리와 고급 SQL과 BI 대시보드 (5)

대시보드, BI 주요 메모 사항 시각화 툴이란? 대시보드 혹은 BI(Business Intelligence)툴이라고 부르기도 함 KPI (Key Performance Indicator), 지표, 중요한 데이터 포인트들을 데이터를 기반으로 계산/분석/표시해주는 툴 결국은 결정권자들로 하여금 흔히 이야기하는 데이터 기반 의사결정을 가능하게함 데이터 기반 결정 (Data-Driven Decision) 데이터 참고 결정 (Data-Informed Decision) 현업 종사자들이 데이터 분석을 쉽게 할 수 있도록 해줌 시각화 툴 종류 Excel, Google Spreadsheet: 사실상 가장 많이 쓰이는 시각화 툴 Python: 데이터 특성 분석(EDA: Exploratory Data Analysis)에 더 ..

05/25 34일차 데이터 웨어하우스 관리와 고급 SQL과 BI 대시보드 (4)

Snowflake 주요 메모 사항 Snowflake 소개 2014년에 클라우드 기반 데이터웨어하우스로 시작됨 (2020년 상장) 지금은 데이터 클라우드라고 부를 수 있을 정도로 발전 글로벌 클라우드위에서 모두 동작 (AWS, GCP, Azure) - 멀티클라우드 데이터 판매를 통한 매출을 가능하게 해주는 Data Sharing/Marketplace 제공 ETL과 다양한 데이터 통합 기능 제공 Snowflake 특징 스토리지와 컴퓨팅 인프라가 별도로 설정되는 가변 비용 모델 Redshift 고정비용 처럼 노드 수를 조장할 필요가 없고 distkey등의 최적화 불필요 SQL 기반으로 빅데이터 저장, 처리, 분석을 가능하게 해줌 비구조화된 데이터 처리와 머신러닝 기능도 저공 CSV, JSON, Avro, Pa..

05/24 33일차 데이터 웨어하우스 관리와 고급 SQL과 BI 대시보드 (3)

AWS Redshift 주요 메모 사항 Redshift 권한과 보안 사용자별 테이블 권한 설정 일반적으로 사용자별 테이블별 권한 설정은 하지 않음 너무 복잡하고 실수의 가능성이 높음 역할 (Role) 혹은 그룹(Group) 별로 스키마별 접근 권한을 주는 것이 일반적 RBAC(Role Based Access Control)가 새로운 트렌드: 그룹 보다 더 편리 여러 역할에 속한 사용자의 경우는 각 역할의 권한을 모두 갖게 됨 (Inclusive) 개인정보와 관련한 테이블들이라면 별도 스키마 설정 극히 일부 사람만 속한 역할에 접근 권한을 줌 뒤의 예는 그룹에 적용했지만 GROUP이란 키워드를 ROLE로 바꾸어도 동작 사용자 그룹 권한 설정 이전에 생성했던 그룹들의 권한을 아래처럼 설정하고 싶음 analy..

05/23 32일차 데이터 웨어하우스 관리와 고급 SQL과 BI 대시보드 (2)

AWS Redshift 주요 메모 사항 Redshift의 특징 AWS에서 지원하는 데이터 웨어하우스 서비스 2PB 의 데이터까지 처리 가능 최소 160GB로 시작해서 점진적으로 용량 증감 가능 Still OLAP 응답속도가 빠르지 않기 때문에 프로덕션 데이터베이스로 사용불가 컬럼 기반 스토리지 레코드 별로 저장하는 것이 아니라 컬렴별로 저장함 컬럼별 압축이 가능하며 컬럼을 추가하거나 삭제하는 것이 아주 빠름 벌크 업데이트 지원 레코드가 들어있는 파일을 S3로 복사 후 COPY 커맨드로 Redshift로 일괄 복사 고정 용량/비용 SQL엔진 최근 가변 비용 옵션도 제공(Redshift Serverless) 데이터 공유 기능 (Data share): 다른 AWS 계정과 특정 데이터 공유 가능. Snowfla..

05/22 31일차 데이터 웨어하우스 관리와 고급 SQL과 BI 대시보드 (1)

DE와 데이터 웨어하우스 주요 메모 사항 데이터 조직의 비전 신뢰할 수 있는 데이터를 바탕으로 부가가치 생성 Data is the new oil? 데이터의 중요성을 강조하니 데이터 팀도 회사에서 인정을 받는다? 데이터 조직이 하는 일(1) 고품질 데이터를 기반으로 의사 결정권자에게 입력 제공 결정 방향 이라고 부르기도 함 데이터를 고려한 결정을 가능하게 해줌 ->데이터 기반 결정 (Data driven Decisions) 예를 들면 데이터 기반 지표 정의, 대시보드와 리포트 생성 등을 수행 고품질 데이터를 기반으로 사용자 서비스 경험을 개선 혹은 프로세스 최적화 머신 러닝과 같은 알고리즘을 통해 사용자의 서비스 경험을 개선 예) 개인화를 바탕으로한 추천과 검색기능 제공 공장이라면 공정 과정에서 오류를 최..

05/19 30일차 가장 많이 사용되는 AWS 클라우드 (5)

학습 주제 주요 메모 사항 lambda 링크 필자는 GCP Cloud Functions 사용경험이 있었는데 해당 서비스와 똑같은 맥락이라고 이해했다. lambda 에서 샘플코드를 업로드 후 배포하고, S3에 트리거를 만들어줘야함 S3를 통해서 실습할 예정이기 때문에 미리 만들어줘야함 먼저 S3 버킷을 생성 이후에 이벤트 알림에서 설정이 필요 (버킷에서 속성탭) 이벤트 유형을 객체 생성시 전송으로 설정 대상에 미리 만들어둔 Lambda 함수를 선택 후 저장 ex.json 파일에 입력 tmp값을 넣어 버킷에 업로드 원래라면 로그에 정상적인 출력이 나와야 하지만 오류발생 밑에쪽의 로그를 보면 알 수 있지만, IAM 권한 추가 후 성공 했었음 IAM 권한 추가 Lambda를 새롭게 생성하면서 만들어진 role를..

05/18 29일차 가장 많이 사용되는 AWS 클라우드 (4)

학습 주제 주요 메모 사항 AWS CLI 링크 AWS Command Line Interface(AWS CLI)는 명령줄 셸의 명령을 사용하여 AWS 서비스와 상호 작용할 수 있는 오픈 소스 도구 최소한의 구성으로 AWS CLI를 사용하면 터미널 프로그램에 있는 명령 프롬프트에서 브라우저 기반 AWS Management Console에서 제공하는 것과 동일한 기능을 구현하는 명령을 실행 가능 (다음 링크 를 참고해 설치 후, cmd or powershell 에서 pip install awscli) 쉽게 설치가 가능, 다만 git bash와 다르게 별도의 CLI 프로그램이 제공되지는 않는듯 실습 순서 백엔드 모듈 구성 Elastic beanstalk 구성 S3 구성 React 구성 RDS 구성 VPC 구성 ..

05/17 28일차 가장 많이 사용되는 AWS 클라우드 (3)

학습 주제 주요 메모 사항 IAM 링크 AWS Identity and Access Management(IAM)은 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스 IAM을 사용하면 사용자가 액세스할 수 있는 AWS 리소스를 제어하는 권한을 중앙에서 관리할 수 있습니다. IAM을 사용하여 리소스를 사용하도록 인증(로그인) 및 권한 부여(권한 있음)된 대상을 제어합니다. S3 링크 Amazon Simple Storage Service(Amazon S3)는 업계 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스 모든 규모와 업종의 고객은 Amazon S3를 사용하여 데이터 레이크, 웹 사이트, 모바일 애플리케이션, 백업 및 복원, 아카이브, 엔터프라이즈 애플리케이션..

05/16 27일차 가장 많이 사용되는 AWS 클라우드 (2)

학습 주제 주요 메모 사항 Route53 가용성과 확장성이 뛰어난 DNS 웹서비스 Route 53을 사용하여 세가지 주요 기능 -> 도메인 등록, DNS 라우팅, 상태 확인을 조합하여 실행할 수 있다. public host zone 과 private host zone 존재 Route53 = DNS + 모니터링 + L4 + GSLB SQL vs NoSQL RDS DB 인스턴스는 클라우드에서 실행하는 격리된 데이터베이스 환경 DB 인스턴스에는 여러 사용자가 만든 데이터베이스가 포함될 수 있으며, 독립 실행형 데이터베이스 인스턴스에 액세스할 때 사용하는 도구 및 애플리케이션을 사용해 액세스할 수 있다. AWS 명령줄 도구, Amazon RDS API 작업 또는 AWS Management Console을 사용해..

05/15 26일차 가장 많이 사용되는 AWS 클라우드 (1)

학습 주제 주요 메모 사항 클라우드 컴퓨팅 클라우드 컴퓨팅 IT 리소스를 인터넷을 통해 온디맨드로 제공하고 사용한 만큼만 비용을 지불하는 방식 물리적 데이터 센터와 서버를 구입, 소유 및 유지 관리하는 대신, Amazon Web Services(AWS)와 같은 클라우드 공급자로부터 필요에 따라 컴퓨팅 파워, 스토리지, 데이터베이스와 같은 기술 서비스에 액세스 한다. 클라우드 컴퓨팅 이점 민첩성 탄력성 비용절감 On Demand 관리 용이성 클라우드 유형 AWS 기본용어 가상화 물리적 컴퓨터 하드웨어를 보다 효율적으로 활용할 수 있도록 해주는 프로세스이며, 이는 클라우드 컴퓨팅의 기반을 제공하는 기술 가상머신 가상 머신(VM)은 소프트웨어 형식으로 물리적 컴퓨팅을 시뮬레이션하는 가상 환경이다. 이들은 일반..