[Snowflake] 계정 및 조직 구조 정리

차지예·2026년 5월 7일

Snowflake

목록 보기
7/49
post-thumbnail

1. Account Overview (계정 개요)

각 Snowflake 계정의 핵심 특성:

  • 단일 클라우드 제공자에서 호스팅
    • Amazon Web Services (AWS)
    • Google Cloud Platform (GCP)
    • Microsoft Azure (Azure)
  • 단일 지리적 리전에 프로비저닝됨
  • 단일 Snowflake 에디션으로 생성됨
  • 계정 생성 시 ACCOUNTADMIN 을 포함한 여러 시스템 정의 역할(system-defined roles)이 함께 생성됨

2. Organization Overview (조직 개요)

  • Organization(조직) 은 하나 이상의 Account(계정) 를 포함하는 상위 구조
  • 가장 단순한 형태는 Single-account Organization (계정 하나짜리 조직)

3. Organization Account (조직 계정) 생성 절차

Step 1 — ORGADMIN 역할 설정

USE ROLE ORGADMIN;

Step 2 — Organization Account 생성

USE ROLE ORGADMIN;

CREATE ORGANIZATION ACCOUNT myorgaccount
    ADMIN_NAME = admin
    ADMIN_PASSWORD = 'xxxxxxxxxx'
    EMAIL = 'myemail@myorg.org'
    MUST_CHANGE_PASSWORD = true
    EDITION = enterprise;

Step 3 — GLOBALORGADMIN 역할로 표준 계정 생성

USE ROLE GLOBALORGADMIN;

CREATE ACCOUNT myaccount1
    ADMIN_NAME = admin
    ADMIN_PASSWORD = '************'
    FIRST_NAME = Aditi
    LAST_NAME = Shankar
    EMAIL = 'myemail@myorg.org'
    EDITION = enterprise
    REGION = aws_us_west_2;

💡 GLOBALORGADMIN 은 Organization Account 내에 부여되는 역할로, 조직 내 표준 계정을 생성할 수 있음


4. Organization Account Features (조직 계정 기능)

✅ 기능 1 — 표준 계정의 라이프사이클 관리

-- 계정 이름 변경
ALTER ACCOUNT original_acctname RENAME TO new_acctname;

-- 계정 삭제
DROP ACCOUNT myaccount;

-- 계정 목록 조회
SHOW ACCOUNTS LIKE 'myaccount%';

✅ 기능 2 — 멀티 계정 Snowflake 기능 설정 및 관리

SELECT SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER(
    'myorg.account1',
    'ENABLE_ACCOUNT_DATABASE_REPLICATION',
    'true'
);

✅ 기능 3 — 크로스 계정 사용량 모니터링 (ORGANIZATION_USAGE 뷰)

SELECT
    account_name,
    usage_date,
    currency,
    SUM(usage_in_currency),
    COUNT(DISTINCT service_type)
FROM ORGANIZATION_USAGE.USAGE_IN_CURRENCY_DAILY
WHERE usage_date >= CURRENT_DATE() - 7
    AND billing_type = 'consumption'
GROUP BY account_name, usage_date, currency
ORDER BY usage_date DESC, daily_cost DESC;

5. Account URLs (계정 URL 구조)

표준 계정 이름 URL

XY12345-TD5E77A.snowflakecomputing.com
└──────┘ └──────┘
조직명    계정명
└─────────────┘
Account Identifier (계정 식별자)

조직 계정 이름 URL

XY12345-myorganisationaccount.snowflakecomputing.com
└──────┘ └──────────────────┘
조직명        계정명

6. Database & Schemas (데이터베이스 & 스키마)

구조

DATABASE
├── SCHEMA_1
│   ├── Tables → TABLE
│   └── Views  → VIEW
├── SCHEMA_2
│   ├── Tables → TABLE
│   └── Views  → VIEW
└── SCHEMA_3
├── Tables → TABLE
└── Views  → VIEW

DATABASE 규칙 및 생성

  • 계정 내에서 고유한 식별자를 가져야 함
  • 알파벳 문자로 시작해야 하며, 공백이나 특수문자는 큰따옴표("")로 감싸야 사용 가능
-- 일반 생성
CREATE DATABASE MY_DATABASE;

-- 클론 생성
CREATE DATABASE MY_DB_CLONE CLONE MYTESTDB;

-- 복제본(Replica) 생성
CREATE DATABASE MYDB1
    AS REPLICA OF MYORG.ACCOUNT1.MYDB1
    DATA_RETENTION_TIME_IN_DAYS = 10;

-- 공유(Share)로부터 생성
CREATE DATABASE SHARED_DB FROM SHARE UTT783.SHARE;

SCHEMA 규칙 및 생성

  • 데이터베이스 내에서 고유한 식별자를 가져야 함
  • 알파벳 문자로 시작해야 하며, 공백이나 특수문자는 큰따옴표("")로 감싸야 사용 가능
-- 일반 생성
CREATE SCHEMA MY_SCHEMA;

-- 클론 생성
CREATE SCHEMA MY_SCHEMA_CLONE CLONE MY_SCHEMA;

Namespace (네임스페이스)

MY_DATABASE.MY_SCHEMA

스키마는 데이터베이스명.스키마명 형태의 네임스페이스로 참조됨


⚠️ 핵심 포인트 요약

항목내용
계정의 클라우드AWS, GCP, Azure 중 하나만
계정의 리전단일 리전
계정의 에디션단일 에디션
조직 계정 생성 역할ORGADMIN
표준 계정 생성 역할GLOBALORGADMIN
크로스 계정 모니터링 뷰ORGANIZATION_USAGE
DB 네이밍 규칙알파벳 시작, 특수문자 시 따옴표
스키마 네임스페이스DB명.SCHEMA명

0개의 댓글