Snowpro Note. 1

CHAN LIM·2024년 1월 16일
0

Snowflake

목록 보기
9/19
post-thumbnail

Concept Note

Pipe, Stream, Sequence, Task

Pipe

  • Snowpipe에서 사용하는 COPY INTO를 포함하는 Object
  • Server를 이용하지 않고 [Serverless] Snowflake 대상 테이블에 데이터를 지속적으로 로딩하는데 사용
  • Snowpipe를 사용하는 데 Warehouse가 반드시 필요하지 않다.

Stream

  • Snowflake의 CDC
    • [Change Data Capture]
  • Insert, Update, Delete등과 같은 DML 사용 및 추적
    • 정의된 테이블에서 DML 작업의 상태를 추적하는 포인터처럼 동작
    • 테이블에서 새 데이터를 쉽게 가져올 수 있으므로,
      보다 효율적인 처리가 가능하다.
    • 특정 시점에 테이블의 모든 행에 대한 스냅샷 생성 처리 가능
  • Staging Table 변경 사항 기록
    • 다른 테이블을 업데이트 하는 데 사용되는 테이블.
  • Standard
    • 테이블, 디렉토리 테이블 또는 뷰의 스트림에 대해 지원
  • Append-Only
    • 표준 테이블, 디렉토리 테이블 또는 뷰의 스트림에 대해 지원
  • Insert-Only
    • 외부 테이블의 스트림에 대해서만 지원

Sequence

Object의 고유 번호 생성에 사용

Task

  • 단일 SQL, Stored Procedure, Procedural logic using Snowflake Scripting을 실행할 수 있다.
  • Table Stream과 결합할 수 있다.
    • 연속적 ETL Workflow 구축
    • 최근에 변경된 테이블 행을 처리할 수 있습니다.
      스트림은 테이블의 새 데이터 또는 변경된 데이터에 대해 정확히 한 번의 의미 체계를 보장합니다.
    • 독립적으로 사용하여 보고서 테이블에 행을 삽입 또는 병합하여 정기 보고서를 생성하거나 다른 정기 작업을 수행할 수 있습니다.
  • 가질 수 있는 하위 Task는 100개.

Pruning

쿼리의 일부로 검색되는 마이크로 파티션의 수를 제한하기 위한 기술

  • 쿼리 효율성을 높인다.
  • 스노우플레이크의 클라우드 서비스 층에서 마이크로 파티션/테이블의 메타데이터 유지

Zero-Copy Cloning

  • 모든 테이블, 스키마, 데이터베이스의 스냅샷을 만들 수 있습니다.
  • 복제된 개체는 독립적이며 원본을 수정하지 않고도 수정할 수 있습니다.
  • 데이터를 복제하지 않으며 마이크로 파티션의 메타데이터를 복제하므로 스토리지를 소비하지 않습니다.

Tag

데이터 관리자가 중앙 집중식 또는 분산식 데이터 거버넌스 관리 접근 방식을 통해 컴플라이언스, 검색, 보호 및 리소스 사용 사례에 대한 민감한 데이터를 모니터링할 수 있습니다.


FLATTEN

  • 복합 값을 여러 행으로 평면화(분해)합니다.
  • VARIANT, OBJECT 또는 ARRAY 열을 사용하고 측면 뷰(즉, FROM 절에서 선행하는 다른 테이블을 참조하는 상관 관계를 포함한 인라인 뷰)를 생성하는 테이블 함수입니다.
  • 반정형 데이터를 관계형 표현으로 변환하는 데 사용할 수 있습니다.
+-----+------+------+-------+-------+------+
| SEQ |  KEY | PATH | INDEX | VALUE | THIS |
|-----+------+------+-------+-------+------|

Scoped URL

오직 scoped url을 생성한 사용자만 URL을 사용하여 참조된 파일에 액세스할 수 있다.




Review Note.

권한 관련


최소 지연 시간으로 가상 웨어하우스 멀티 클러스터 설정 및 재개

Standard Warehouse Policy 사용


Snowflake에서 클라우드 스토리지 위치로 데이터를 언로딩하는 데 권장되는 방법.

Directly Unloading
즉, COPY INTO로 직접 하기


전체 계정 및 웨어하우스 집합의 크레딧 사용량 제어에 알맞는 Resource Monitors의 속성

Monitor Level.


멀티 클러스터 가상 웨어하우스의 Snowflake Scaling Mode

  • Auto-Scale
    • 이 안에 EconomyStandard 모드가 존재한다.
  • Maximized

보호된 정보를 Snowlake에 저장하려는 고객이 규정 준수를 위해 고려해야 할 최소한의 Snowlake 버전

Business Critical Edition

Standard -> (Time Travel 확장)
Enterprise -> (Tri-Secret Secure를 통한 고객 관리 암호화 키.)
Business Critical Edition -> (전용 메타데이터 저장소 및 계산 리소스 풀)
VIP 순.


snowflake directory table's columns

  • RELATIVE_PATH
  • SIZE
  • LAST_MODIFIED
  • MD5
  • ETag
  • FILE_URL

Recommand Columns for Clustering keys

  • Most actively used in Join Predicates
  • Most actively used in Selective filters

Snowflake Network Policy

  • 모든 스노우플레이크 에디션에서 가능하다.
  • 특정 IP 주소의 접근과 제한을 할 수 있다.

자동으로 연속적인 데이터 보호법

  • Fail-Safe
    • Snowflake에서 과거 데이터를 복원할 수 있는 7일(구성 불가) 기간을 제공
  • Time Travel

Rest API를 통한 Snowpipe

  • Snowpipe는 어떤 파일을 로드했는지 추적한다.
  • Snowflake는 Snowpipe의 COPY INTO 명령어 실행에 대한 연산을 관리한다.

다른 리전, 다른 CSP 상황에서 허용?

so replication (복제) is the key.


외부 클라우드 저장소를 위한 IAM을 저장하는 객체?

Storage Integration


Snowflake 배포 프로세스

  • Snowflake는 매달 새로운 동작 변경 릴리스를 배포합니다.
  • 사용자로서 릴리스가 롤아웃되기 전에 추가 릴리스 테스트를 수행할 수 있도록 향후 릴리스에 대한 24시간 조기 액세스를 요청할 수 있습니다.
  • Snowflake는 매주 새로운 기능을 배포한다.

모든 보안 정보를 저장하는 계층?

Cloud Services


어떤 loop 종류가 조건이 참일 때까지 반복하나?

REPEAT


Query Profile에는 어떤 정보가 포함?

  • Query 전반적인 통계와 세부 정보
  • Query 처리 계획의 그래픽 표현

A tree of task가 가질 수 있는 task 수

1000, root task 포함


Snowflake SCIM API는 무엇을 관리하는 데 사용할 수 있습니까?

SCIM은 사용자 프로비저닝 자동화를 위한 개방형 표준입니다

  • Users
  • Roles

COPY INTO 명령과 함께 OBJECT_CONSTRUCT 기능을 사용하는 목적은 무엇입니까?

OBJECT 는 semi-structured data를 포함할 수 있으며 계층적 데이터 구조를 만드는 데 사용할 수 있습니다.

OBJECT_CONSTRUCT는 key:value 쌍을 입력으로 사용하거나 관계형 쿼리의 별표(SELECT *와 같이)를 사용하여 기본적으로 JSON 문서인 a VARIANT object를 출력으로 반환합니다.

COPY 명령과 결합된 OBJECT_CONSTRUCT 함수를 사용하여 관계형 테이블의 행을 단일 Variant 열로 변환하고 행을 파일로 언로드할 수 있습니다.


MFA token caching client?

  • Python Connector
  • ODBC driver

Snowflake는 hierachical key mode에서...

  • Root key
  • Account master Keys
  • Table Master Keys
  • File Keys
    를 포함합니다.

Client Redirect

  • 비즈니스 연속성 및 재해복구를 위한 서로 다른 리전의 클라이언트와 Snowflake 계정 연결을 가능하게 한다.
  • 계정을 다른 리전 또는 CSP로 마이그레이션

Data Consumer

  • Full Accounts
  • Reader Accounts

Query Profile 확인된 일반적인 쿼리 문제 중 일부

  • Exploding joins
  • UNION without ALL
  • Queries too large to fit in memory (most often evidenced by “spilling”)
  • Inefficient pruning (most often evidenced by large table scans)

Types of SubQueries

  • Uncorrelated scalar subqueries in any place that a value expression can be used.
  • Correlated scalar subqueries in WHERE clauses.
  • EXISTS, ANY / ALL, and IN subqueries in WHERE clauses.
    These subqueries can be correlated or uncorrelated.

To get all the files in the Stage

  • LIST (normal form)
  • LS (abbrev form)

SHOW GRANTS --

  • “SHOW GRANTS OF ROLE” will list the users, whereas
  • “SHOW GRANTS TO ROLE” will list the privileges to which this role has access.
profile
클라우드, 데이터, DevOps 엔지니어 지향 || 글보단 사진 지향

0개의 댓글