'snowsight'에 해당되는 글 1건

  1. 2022.02.09 Snowflake - UI 둘러보기

이전 포스팅에서 소개해드렸듯이 Snowflake는 Cloud based Data Warehouse 입니다.

 

제가 마침 최근에 Snowflake performance tuning 교육을 받았는데요, 아직 lab environment를 사용할 수 있으니, 이걸 이용해서 Snowflake의 기본 UI에 대해 설명해 드릴까 합니다.

 

로그인

본인의 혹은 회사의 Snowflake account URL로 들어가면 아래와 같이 로그인을 할 수 있는 화면이 표시됩니다.

만일 회사에서 Active directory를 사용하고 있고, Snowflake가 Microsoft Azure에 연결되어 있다면, 회사에서 사용하는 AD account를 이용하여 Snowflake에 SSO/SCIM을 설정하여 Username과 Password 없이 Sigle sign on을 하실 수도 있습니다.

 

여기서는 Snowflake 관리자로부터 부여받은 Username과 Password를 이용하여 로그인 하시면 되겠습니다.

 

UI 레이아웃

 

 

1. 상단 메뉴바 : 

- Databases : 현재 Role로 엑세스할 수 있는 모든 데이터베이스 리스트와 상세 정보를 확인할 수 있습니다.

데이터베이스 목록을 확인할 수 있고, 특정 데이터베이스 이름을 클릭하면 해당 데이터베이스 안에 있는 오브젝트 목록(Tables, Views, Schemas, Stages, File Formats, Sequences, Pipes) 등의 상세 정보 또한 확인이 가능하며 오브젝트를 새로 만들거나 삭제하거나 하는 등의 관리작업도 가능합니다.

 

- Shares : 다른 Snowflake account의 Database를 공유 받을 수도 있고 공유할 수도 있습니다. 공유받은(Inboun) 혹은 공유한(Outbound) 데이터베이스 목록과 상세 정보를 확인할 수 있습니다.

여기 Shares에서 보이는 ACCOUNT_USAGE - SNOWFLAKE는 일종의 시스템 데이터베이스로서 어느 Snowflake account나 하나씩은 꼭 있는 Shared database이고 읽기 전용이며, Snowflake에서 일어나는 모든 기록을 여기서 찾을 수 있습니다. Oracle 데이터베이스에서의 SYS 스키마나 MS SQL Server의 master 데이터베이스와 비슷한 역할을 한다고나 할까요? SNOWFLAKE 데이터베이스의 ACCOUNT_USAGE 스키마에서 Audit history나 Query history 및 Billing history 등 거의 모든 history 정보를 확인할 수 있습니다.

 

- Data Marketplace : App store와 비슷한 개념으로 유료 혹은 무료의 Database 혹은 Data를 사용할 수 있습니다.

 

- Warehouses : 현재 Role로 엑세스할 수 있는 모든 웨어하우스(Virtual warehouses - Compute components)의 리스트와 상세 정보를 확인할 수 있습니다.

 

- Worksheets : 위 screenshot에 보이는 화면이며 Snowflake 데이터베이스에 쿼리를 할 수 있는 작업 공간 입니다.

 

- History : 과거에 수행했던 모든 쿼리의 리스트와 상세 정보 및 실행계획 등을 확인할 수 있습니다.

또한 특정 쿼리 ID를 선택하여 해당 쿼리의 실행 계획 및 통계 정보 등을 아주 자세하게 확인할 수 있습니다.

 

- Account : ACCOUTADMIN Role을 가진경우에만 엑세스할 수 있으며 Snowflake Accout 관련한 내용(Billing & Usage, Reader Accounts) 등을 확인하고 관리할 수 있습니다.

위 Screenshot에서는 Billing & Usage와 Reader Accounts 메뉴만 보이지만 실제 Accountadmin role을 가진 사용자가 조회할 경우 Users, Sessions, Roles, Network policies 등 더 많은 정보를 확인할 수 있으며 관리도 가능합니다.

 

2. 사용자 로그인 정보

 

아래 Screenshot과 같이 사용자 정보 오른쪽에 아래화살표를 클릭하면 Password 변경 및 Switch Role 등의 관리가 가능합니다. 여기서 보이는 Role 이름인 "TRAINING_ROLE"은 STINGRAY 사용자에게 부여된 Default role이며, 이 Role 이외에 Securityadmin, Sysadmin, Useradmin, Public role로 Switch가 가능하며 Role을 Switch 하게 될 경우 현재 UI가 약간 변경될 수 (Role에 따라 Account 메뉴가 안보일 수도 있음) 있습니다.

 

3. Database 탐색기

 

MS SQL Server의 SQL Server Management Studio의 좌측에 있는 Object 탐색기와 비슷한 기능을 하는 부분입니다. 현재 Role로 엑세스가 가능한 데이터베이스 리스트 열람할 수 있으며, 각 데이터베이스에 엑세스 가능한 스키마 및 오브젝트 또한 정보 확인이 가능합니다. 하지만, Table과 View만 볼 수 있으며 기타 Object 들 (Stages, Pipes, Procedures 등)은 여기서 볼 수 없습니다. (이게 좀 불편하긴 하던데 모든 Object 들을 볼 수 있도록 개선되지 않을까 하는 소망입니다.)

 

4. 세션 설정 부분 (Dropdown menu)

 

이 부분은 뭐라 딱히 붙일만한 이름도 애매하고 Snowflake official document(Using Worksheets for Queries / DML / DDL — Snowflake Documentation)에는 Dropdown menu라고 나와 있지만 별 의미도 없어보이고... 여기선 그냥 제 맘대로 세션 설정 부분이라 이름 붙여 보겠습니다. (혹시 더 좋은 이름 생각 나시면 알면 알려주세요)

Snowflake를 처음 사용하는 사람들이 가장 많이 햇갈려 하는 부분이 오른쪽 상단에 있는 로그인 정보 부분과 이곳 세션 설정 부분에 모두 Role을 설정하는 항목이 있다는 것입니다.

 

오른쪽 상단에 있는 로그인 정보 부분에서 Role을 Switch하게 되면 전체 Snowflake UI에 영향을 받게 되어 전체 화면이 refresh 됩니다. 즉, Role에 따라 특정 메뉴에 엑세스를 할 수 도 있고 못할 수도 있습니다.

 

하지만 이 세션 설정 부분에서 Role을 Change 하게 되면 현재 "TAB"에서만 그 Role이 바뀌게 됩니다. 즉, Worksheets UI에 3개의 New Worksheet tab을 열었다면 각각의 tab에 서로 다른 Role을 설정할 수 있습니다. Role 변경은 이곳 세션 설정 부분에서 마우스로 클릭클릭하여 할 수 도 있고, 아니면 Worksheet 내부 SQL 에디터(맨 상단 Screenshot의 #5 부분)에서 다음과 같은 명령어로 Role 변경이 가능합니다.

 

use role securityadmin;

 

 

5. SQL 에디터 및 6. 결과 섹션

 

기본적인 Role change, warehouse change 및 각종 query 들을 실행하고 결과를 볼 수 있는 부분입니다. SQL Server Management Studio랑 아주 흡사하지만 다른 점도 많이 있습니다.

 

기본적으로 Run버튼을 누르면 커서가 있는 부분의 Query만 실행되고 전체 block을 씌우고 Run을 클릭하면 block이 씌워진 부분의 쿼리가 순차적으로 실행됩니다. Run 버튼 클릭이 귀찮으면 Ctrl + Enter를 누르면 Run을 클릭하는 것과 같은 역할을 합니다.

 

쿼리를 실행하면 하단의 결과 섹션에서 쿼리 결과를 확인할 수 있고 결과를 csv 파일로 download하거나 copy 버튼 클릭 후 Excel 등에 붙여 넣기 하는 것도 가능합니다.

 

"Query ID" 부분을 클릭하면 아래 Screenshot과 같이 해당 query id를 확인할 수 있으며, 그 query id를 한번 더 클릭하면 해당 쿼리의 query profile 을 상세히 확인할 수 있습니다.

 

 

New UI - Snowsight

 

Snowflake UI의 상단 메뉴 중 "Snowsight"를 클릭하면 Snowflake의 새로운 UI인 Snowsight를 사용할 수 있습니다.

 

 

Snowsight는 저도 아직 많이 써보질 않아서 소개 드릴게 별로 없고요, 나중에 제가 익숙해지면 그때 다시 소개해드리겠습니다.

 

오늘은 여기까지 마무리 하겠습니다.

 

반응형

'Snowflake' 카테고리의 다른 글

Snowflake 데이터웨어하우스  (0) 2022.01.24
Posted by Steve Lim
,