ARA-C01 문제 26
새 프로젝트의 설계자는 다음과 같이 Snowflake 보안, 규정 준수 및 거버넌스 요구 사항을 충족하는 아키텍처를 설계해 달라는 요청을 받았습니다.
1) Snowflake에서 Tri-Secret Secure 사용
2) 뷰에 저장된 일부 정보를 다른 Snowflake 고객과 공유합니다.
3) 일부 열에서 민감한 정보의 일부를 숨깁니다.
4) 무복제 복제를 사용하여 프로덕션 환경에서 비프로덕션 환경을 새로 고칩니다. 이러한 요구 사항을 충족하려면 어떤 디자인 요소를 구현해야 합니까? (3개를 선택하세요.)
1) Snowflake에서 Tri-Secret Secure 사용
2) 뷰에 저장된 일부 정보를 다른 Snowflake 고객과 공유합니다.
3) 일부 열에서 민감한 정보의 일부를 숨깁니다.
4) 무복제 복제를 사용하여 프로덕션 환경에서 비프로덕션 환경을 새로 고칩니다. 이러한 요구 사항을 충족하려면 어떤 디자인 요소를 구현해야 합니까? (3개를 선택하세요.)
ARA-C01 문제 27
테이블에는 5개의 열이 있고 수백만 개의 레코드가 있습니다. 열의 카디널리티 분포는 다음과 같습니다.

C4 및 C5 열은 주로 GROUP BY 및 ORDER BY 절의 SELECT 쿼리에 사용됩니다.
반면 C1, C2 및 C3 열은 SELECT 쿼리의 필터 및 조인 조건에 많이 사용됩니다.
아키텍트는 쿼리 성능을 향상시키기 위해 이 테이블에 대한 클러스터링 키를 설계해야 합니다.
Snowflake 권장 사항에 따라 다중 열 클러스터링 키를 정의하는 동안 클러스터링 키 열의 순서를 어떻게 지정해야 합니까?

C4 및 C5 열은 주로 GROUP BY 및 ORDER BY 절의 SELECT 쿼리에 사용됩니다.
반면 C1, C2 및 C3 열은 SELECT 쿼리의 필터 및 조인 조건에 많이 사용됩니다.
아키텍트는 쿼리 성능을 향상시키기 위해 이 테이블에 대한 클러스터링 키를 설계해야 합니다.
Snowflake 권장 사항에 따라 다중 열 클러스터링 키를 정의하는 동안 클러스터링 키 열의 순서를 어떻게 지정해야 합니까?
ARA-C01 문제 28
원시 테이블에 생성된 테이블 스트림을 쿼리하고 행의 하위 집합을 여러 테이블에 삽입하는 TASK를 생성 중입니다. 아래 단계를 따르다가 작업을 재개하는 단계에 도달했을 때 아래와 같은 오류 메시지가 나타납니다.
이 오류가 발생하는 이유는 무엇이며 필요한 권한을 누가 부여할 수 있습니까?

이 오류를 발생시키기 위해 따라야 할 단계
-- 원시 JSON 데이터를 저장할 랜딩 테이블을 생성합니다.
-- Snowpipe는 이 테이블에 데이터를 로드할 수 있습니다. 원시 테이블 생성 또는 교체(var 변형)
-- 랜딩 테이블에 대한 삽입을 캡처하는 스트림을 생성합니다.
-- 작업은 이 스트림의 열 집합을 사용합니다. raw 테이블에서 rawstream1 스트림을 생성하거나 교체합니다.
-- 두 번째 스트림을 생성하여 랜딩 테이블에 대한 삽입을 캡처합니다.
-- 두 번째 작업은 이 스트림의 다른 열 집합을 사용합니다. raw 테이블에서 rawstream2 스트림을 생성하거나 교체합니다.
-- 원시 데이터에서 식별된 사무실 방문자의 이름을 저장하는 테이블을 생성합니다. 테이블 이름 생성 또는 교체(id int, first_name 문자열, last_name 문자열)
-- 원시 데이터에서 식별된 사무실 방문자의 방문 날짜를 저장하는 테이블을 생성합니다.
테이블 방문 생성 또는 교체(id int, dt date)
-- rawstream1 스트림의 새 이름 레코드를 이름 테이블에 삽입하는 작업을 만듭니다.
-- 스트림에 레코드가 포함된 경우 1분마다.
-- 'mywh' 창고를 귀하의 역할에 USAGE 권한이 있는 창고로 바꾸십시오. raw_to_names 작업 생성 또는 교체
창고 = etl_wh
일정 = '1분'
언제
system$stream_has_data('rawstream1')
~처럼
이름 n으로 병합
n.id = to_number(r1.id)에서 (rawstream1에서 var:id id, var:fname fname, var:lname lname 선택) r1 사용
일치하면 업데이트 세트 n.first_name = r1.fname, n.last_name = r1.lname
일치하지 않으면 (id, first_name, last_name) 값(r1.id, r1.fname, r1.lname)을 삽입합니다.
;
-- rawstream1 스트림의 방문 기록을 방문 테이블에 병합하는 또 다른 작업을 만듭니다.
-- 스트림에 레코드가 포함된 경우 1분마다.
-- 새 ID가 있는 기록이 방문 테이블에 삽입됩니다.
-- 방문 테이블에 존재하는 ID가 있는 레코드는 테이블의 DT 열을 업데이트합니다.
-- 'mywh' 창고를 귀하의 역할이 USAGE 권한을 갖고 있는 창고로 바꾸십시오. 작업 raw_to_visits 생성 또는 교체
창고 = etl_wh 일정 = '1분' 일 때
system$stream_has_data('rawstream2')
방문 v로 병합
(rawstream2에서 var:id id, var:visit_dt Visit_dt 선택) r2 on v.id = to_number(r2.id) 일치 시 v.dt = r2.visit_dt 설정 업데이트 사용
일치하지 않으면 (id, dt) 값(r2.id, r2.visit_dt)을 삽입합니다.
-- 두 작업을 모두 재개합니다.
작업 변경 raw_to_names 이력서;
이 오류가 발생하는 이유는 무엇이며 필요한 권한을 누가 부여할 수 있습니까?

이 오류를 발생시키기 위해 따라야 할 단계
-- 원시 JSON 데이터를 저장할 랜딩 테이블을 생성합니다.
-- Snowpipe는 이 테이블에 데이터를 로드할 수 있습니다. 원시 테이블 생성 또는 교체(var 변형)
-- 랜딩 테이블에 대한 삽입을 캡처하는 스트림을 생성합니다.
-- 작업은 이 스트림의 열 집합을 사용합니다. raw 테이블에서 rawstream1 스트림을 생성하거나 교체합니다.
-- 두 번째 스트림을 생성하여 랜딩 테이블에 대한 삽입을 캡처합니다.
-- 두 번째 작업은 이 스트림의 다른 열 집합을 사용합니다. raw 테이블에서 rawstream2 스트림을 생성하거나 교체합니다.
-- 원시 데이터에서 식별된 사무실 방문자의 이름을 저장하는 테이블을 생성합니다. 테이블 이름 생성 또는 교체(id int, first_name 문자열, last_name 문자열)
-- 원시 데이터에서 식별된 사무실 방문자의 방문 날짜를 저장하는 테이블을 생성합니다.
테이블 방문 생성 또는 교체(id int, dt date)
-- rawstream1 스트림의 새 이름 레코드를 이름 테이블에 삽입하는 작업을 만듭니다.
-- 스트림에 레코드가 포함된 경우 1분마다.
-- 'mywh' 창고를 귀하의 역할에 USAGE 권한이 있는 창고로 바꾸십시오. raw_to_names 작업 생성 또는 교체
창고 = etl_wh
일정 = '1분'
언제
system$stream_has_data('rawstream1')
~처럼
이름 n으로 병합
n.id = to_number(r1.id)에서 (rawstream1에서 var:id id, var:fname fname, var:lname lname 선택) r1 사용
일치하면 업데이트 세트 n.first_name = r1.fname, n.last_name = r1.lname
일치하지 않으면 (id, first_name, last_name) 값(r1.id, r1.fname, r1.lname)을 삽입합니다.
;
-- rawstream1 스트림의 방문 기록을 방문 테이블에 병합하는 또 다른 작업을 만듭니다.
-- 스트림에 레코드가 포함된 경우 1분마다.
-- 새 ID가 있는 기록이 방문 테이블에 삽입됩니다.
-- 방문 테이블에 존재하는 ID가 있는 레코드는 테이블의 DT 열을 업데이트합니다.
-- 'mywh' 창고를 귀하의 역할이 USAGE 권한을 갖고 있는 창고로 바꾸십시오. 작업 raw_to_visits 생성 또는 교체
창고 = etl_wh 일정 = '1분' 일 때
system$stream_has_data('rawstream2')
방문 v로 병합
(rawstream2에서 var:id id, var:visit_dt Visit_dt 선택) r2 on v.id = to_number(r2.id) 일치 시 v.dt = r2.visit_dt 설정 업데이트 사용
일치하지 않으면 (id, dt) 값(r2.id, r2.visit_dt)을 삽입합니다.
-- 두 작업을 모두 재개합니다.
작업 변경 raw_to_names 이력서;
ARA-C01 문제 29
한 회사는 고가용성 및 재해 복구 계획을 설계하고 있으며 중요한 애플리케이션 프로세스에 대한 중복성을 최대화하고 복구 시간 목표를 최소화해야 합니다. 솔루션이 최고의 솔루션이라면 비용은 문제가 되지 않습니다. 지금까지의 계획은 다음 단계로 구성됩니다.
1. 서로 다른 두 클라우드 제공업체에 Snowflake 계정 배포.
2. 지리적으로 멀리 떨어져 있는 클라우드 제공업체 지역 선택.
3. Snowflake 배포는 두 클라우드 공급자 계정 간에 데이터베이스와 계정 데이터를 복제합니다.
4. Snowflake 클라이언트 리디렉션 구현.
서비스 이벤트가 발생할 경우 가장 높은 가동 시간과 최소한의 애플리케이션 중단을 제공하는 가장 비용 효율적인 방법은 무엇입니까?
1. 서로 다른 두 클라우드 제공업체에 Snowflake 계정 배포.
2. 지리적으로 멀리 떨어져 있는 클라우드 제공업체 지역 선택.
3. Snowflake 배포는 두 클라우드 공급자 계정 간에 데이터베이스와 계정 데이터를 복제합니다.
4. Snowflake 클라이언트 리디렉션 구현.
서비스 이벤트가 발생할 경우 가장 높은 가동 시간과 최소한의 애플리케이션 중단을 제공하는 가장 비용 효율적인 방법은 무엇입니까?
ARA-C01 문제 30
계정에는 각각 급여 및 직원 데이터를 포함하는 fin_db 및 hr_db라는 두 개의 데이터베이스가 있습니다. 회사의 회계사와 분석가는 작업을 수행하기 위해 이러한 데이터베이스의 개체에 대해 서로 다른 권한이 필요합니다. 회계사는 fin_db에 대한 읽기-쓰기 액세스 권한이 필요하지만 데이터베이스는 인사 담당자가 유지 관리하므로 hr_db에 대한 읽기 전용 액세스 권한만 필요합니다.
설계자는 인사부에서 근무하는 특정 직원에 대해 읽기 전용 역할을 생성해야 합니다.
이 역할에는 어떤 권한 집합을 부여해야 합니까?
설계자는 인사부에서 근무하는 특정 직원에 대해 읽기 전용 역할을 생성해야 합니다.
이 역할에는 어떤 권한 집합을 부여해야 합니까?
