Immersion In Data

Snowflake/Snowflake - The Complete Masterclass 19

[Snowflake] Visualization - Power BI & Tableau

1. Power BI Power BI 홈페이지 접속 https://powerbi.microsoft.com/ko-kr/ 데이터 시각화 | Microsoft Power BI 데이터를 즉각적인 영향력으로 전환 단일 정보 소스를 생성하고, 더 강력한 인사이트를 발견하고, 이를 통해 영향력을 줄 수 있는 엔드 투 엔드 BI 플랫폼을 사용하면 적은 비용으로 더 많은 작 powerbi.microsoft.com Power BI Desktop 선택 다운로드 또는 언어 옵션 보기 선택 설치 파일 다운로드 Power BI 설치 Power BI - Snowflake 연결 2. Tableau Tableau 홈페이지 접속 https://www.tableau.com/products/desktop/download Thanks for..

[Snowflake] Access Management

1. Key concepts Snowflake의 객체에 액세스하고 작업을 수행할 수 있는 사람을 정의함 액세스 제어의 두 가지 측면이 결합됨 DAC(임의 접근 제어) : 각 개체에는 해당 개체에 대한 액세스 권한을 부여할 수 있는 소유자가 있음 RBAC(역할 기반 액세스 제어) : 액세스 권한은 역할에 할당되고, 역할은 사용자에게 할당됨 Securable object Snowflake roles Key concepts USER : 사람 또는 시스템 ROLE : 권한이 부여되는 엔터티(역할 계층) PRIVILEGE : 개체에 대한 액세스 레벨 (SELECT, DROP, CREATE 등) SECURABLE OBJCET : 권한을 부여할 수 있는 개체(데이터베이스, 테이블, 웨어하우스 등) 2. Roles o..

[Snowflake] Dynamic Data Masking

1. Understanding data masking 일부 사용자에게 일부 데이터를 보이지 않도록 설정하는 보안기능 2. Creating a masking policy 데이터베이스 변경 USE DEMO_DB; role 변경 USE ROLE ACCOUNTADMIN; 테이블 생성 create or replace table customers( id number, full_name varchar, email varchar, phone varchar, spent number, create_date DATE DEFAULT CURRENT_DATE); 데이터 삽입 insert into customers (id, full_name, email,phone,spent) values (1,'Lewiss MacDwyer','l..

[Snowflake] Materialized Views

1. Understand materialized 자주 쿼리되고, 처리해야할 시간이 긴 view를 가진 경우(사용자는 안좋은 경험을 갖게됨, 더 많은 컴퓨팅 리소스가 소비됨) materialized view를 만들기 위해 SELECT문을 사용 결과는 별도의 테이블에 저장되며, 기본 테이블에 따라 자동으로 업데이트됨 2. Using materialized views 일반 select문과 view와 materialized view를 비교하는데 공정한 환경을 만들기 위해 글로벌 캐싱 제거 ALTER SESSION SET USE_CACHED_RESULT=FALSE; -- disable global caching ALTER warehouse compute_wh suspend; ALTER warehouse compu..

[Snowflake] Streams

1. Understanding streams 소스 테이블에 변경 사항을 캡쳐하여 2. INSERT operation 일시 데이터베이스 생성 CREATE OR REPLACE TRANSIENT DATABASE STREAMS_DB; 소스 테이블 생성 create or replace table sales_raw_staging( id varchar, product varchar, price varchar, amount varchar, store_id varchar); 소스 테이블에 데이터 삽입 insert into sales_raw_staging values (1,'Banana',1.99,1,1), (2,'Lemon',0.99,1,1), (3,'Apple',1.79,1,2), (4,'Orange Juice',1...

[Snowflake] Scheduling Tasks

1. Understanding tasks task를 사용하여 SQL문을 스케줄링할 수 있음 독립실행형 task와 task 트리 2. Creating tasks 일시 데이터베이스 생성 CREATE OR REPLACE TRANSIENT DATABASE TASK_DB; 테이블 생성 CREATE OR REPLACE TABLE CUSTOMERS ( CUSTOMER_ID INT AUTOINCREMENT START = 1 INCREMENT =1, FIRST_NAME VARCHAR(40) DEFAULT 'JENNIFER' , CREATE_DATE DATE); task 생성 (분 단위로만 설정 가능) CREATE OR REPLACE TASK CUSTOMER_INSERT WAREHOUSE = COMPUTE_WH SCHED..

[Snowflake] Data Sampling

1. Why data sampling? 쿼리 개발, 데이터 분석 등에 사용 빠르고 비용 효율적임 (컴퓨팅 리소스 절감) 2. Methods of data sampling ROW or BERNOULLI method - 모든 행은 p 퍼센트로 선택됨 - 임의적 - 작은 테이블에 적합 BLOCK or SYSTEM method - 모든 블럭은 p 퍼센트로 선택 - 효율적 - 큰 테이블에 적합 3. Sampling data: Hands-on 데이터베이스 생성 CREATE OR REPLACE TRANSIENT DATABASE SAMPLING_DB; SAMPLE ROW를 통해 데이터를 샘플링해서 뷰 생성 CREATE OR REPLACE VIEW ADDRESS_SAMPLE AS SELECT * FROM SNOWFLAK..

[Snowflake] Data sharing

1. Understanding data sharing 일반적인 데이터 공유는 복잡한 프로세스를 가지고 있음 Snowflake의 데이터 공유는 데이터의 실제 복사본 없이 데이터를 공유하고 최신 상태로 유지함 공유 데이터는 자체 컴퓨팅 리소스에 의해 소비됨 Snowflake를 사용하지 않는 유저도 reader 계정으로 접근할 수 있음 2. Using data sharing 데이터베이스 생성 CREATE OR REPLACE DATABASE DATA_S; 스테이지 생성 CREATE OR REPLACE STAGE aws_stage url='s3://bucketsnowflakes3'; 스테이지 확인 LIST @aws_stage; 테이블 생성 CREATE OR REPLACE TABLE ORDERS ( ORDER_ID..

[Snowflake] Zero-Copy Cloning

1. Understanding Zero-Copy Cloning 데이터베이스, 스키마 또는 테이블의 복사본을 만듬 복제된 개체는 기존 테이블로부터 독립적 모든 메타데이터를 쉽게 복사하고, 스토리지 관리를 개선함 일반적으로 개발을 목적으로 백업을 신속하게 생성하려는 경우 사용 2. Cloning tables 테이블 확인 SELECT * FROM OUR_FIRST_DB.PUBLIC.CUSTOMERS; CLONE으로 테이블 생성 CREATE TABLE OUR_FIRST_DB.PUBLIC.CUSTOMERS_CLONE CLONE OUR_FIRST_DB.PUBLIC.CUSTOMERS; CLONE 테이블 확인 SELECT * FROM OUR_FIRST_DB.PUBLIC.CUSTOMERS_CLONE; 테이블 변경 UPD..

[Snowflake] Types of tables

1. Different table types Permanent : 영구테이블, default 값, 가장 일반적인 유형, time travel 보존기간 포함(0 - 90일), Fail Safe 포함 Transient : 일시테이블, time travel 보존기간 포함(0 - 1일), Fail Safe 미포함 Temporary : 임시테이블, time travel 보존기간 포함(0 - 1일), Fail Safe 미포함, 세션에만 존재(세션이 종료되면 테이블도 없어짐) 2. Permanent tables & databases 데이터 베이스 전환 USE OUR_FIRST_DB; 테이블 생성 CREATE OR REPLACE TABLE customers ( id int, first_name string, last_..