728x90
1. 테이블 작성 전 수행 사항
항목 요령 및 체크리스트
| 사업 목표 정의 | DW가 지원할 핵심 사용 사례(예: 매출 분석, 공급망 최적화)를 먼저 도출하고, 이를 충족할 데이터만 선별 |
| 스테이크홀더 참여 | 재무·마케팅·운영팀 등이 실제로 분석할 데이터 항목·단위·빈도를 사전에 인터뷰하여 요구사항 정리 |
| 소스 시스템 식별 | CRM, ERP, 외부 SaaS, 로그 파일 등 데이터 위치·포맷·업데이트 주기를 한 눈에 정리 |
2. 정보시스템 테이블 작성 요령
2-1. DDL 작성 규칙
-
IF EXISTS → DROP → CREATE 패턴으로 재실행 가능하게 작성
IF OBJECT_ID('bronze.crm_customer', 'U') IS NOT NULL DROP TABLE bronze.crm_customer; GO CREATE TABLE bronze.crm_customer ( customer_id VARCHAR(50) NOT NULL, customer_name NVARCHAR(100), gender_code CHAR(1), birth_dt DATE, created_at DATETIME2, updated_at DATETIME2, source_file VARCHAR(200) ); -
소스별 스키마 분리
-
bronze: 원본 적재(Landing)
-
silver: 정제·표준화
-
gold: 최종 분석용(Star Schema)
-
-
모든 컬럼에 메타데이터 확장
-
source_file, load_ts, md5_hash 등 데이터 리니지 및 중복 제거에 활용
-
2-2. 데이터 타입 및 제약
원본 특성 권장 변환이유
| 날짜 문자(‘20240101’) | DATE or DATETIME2 | 연산·인덱싱 최적화 |
| 숫자 문자(‘001234’) | INT / DECIMAL | 저장 공간 절감, 연산 속도 ↑ |
| 코드(‘M’, ‘F’) | CHAR(1) or TINYINT | 카드널리티 낮아도 정규화 필요 |
| Nullable PK | NOT NULL + 기본값 설정 | 이후 Fact Join 시 오류 방지 |
3. 데이터 적재·검증 고려사항
단계 주요 고려사항
| 적재 | - BULK INSERT + FORMAT = 'CSV' + FIRSTROW = 2 |
-
클라우드 스토리지(Azure Blob/S3) → EXTERNAL DATA SOURCE 연결 | | 검증 | - PK 중복·Null 체크
-
문자열 TRIM → 불필요한 공백 제거
-
날짜 유효성 → TRY_CAST 또는 정규식으로 필터링 | | 스토리지 전략 | - 핫/콜드 데이터 분리 → 최근 6개월=핫, 나머지=콜드(저가 스토리지)
-
-
압축 → Parquet, ORC 사용 시 용량 60~90 % 절감 |
4. 보안·거버넌스 반영
-
Role-Based Access Control(RBAC)
-
bronze: ETL 팀만 R/W
-
silver: 데이터 엔지니어 R/W, 분석가 R
-
gold: BI/분석팀 R, 쓰기 금지
-
-
민감정보 마스킹·암호화
-
PII(이메일, 주민번호) → SHA256 해시 또는 동형암호화
-
-
데이터 카탈로그·메타데이터 문서화
-
테이블·컬럼 정의, lineage, owner 정보를 Data Catalog(예: DataHub, Alation)에 등록
-
5. 확장성 고려 설계
-
파티셔닝
-
대용량 팩트 테이블은 날짜/지역별 파티션 → 쿼리 3~10 배 성능 향상
-
-
Star vs Snowflake
-
Star: 쿼리 속도 ↑, 모델 단순 → 대부분 BI용
-
Snowflake: 저장 ↓, 정규화 ↑ → 다차원 속성이 많을 때만 사용
-
-
모듈형 ETL 파이프라인
-
새 소스가 추가돼도 기존 코드 변경 최소화 → dbt 모델 단위로 관리
-
요약 체크리스트
-
사업 목표 → 필요 테이블·컬럼만 선별
-
bronze/silver/gold 계층 DDL 작성
-
타입·제약·파티션·압축 명시
-
적재 전 중복·Null·형식 검증
-
RBAC·암호화·카탈로그로 거버넌스 확보
-
확장 가능한 Star Schema + 모듈형 ETL 설계
728x90
'컴퓨터 활용(한글, 오피스 등) > 기타' 카테고리의 다른 글
| L4 스위치와 L3 스위치의 역할을 이해 (0) | 2025.07.17 |
|---|---|
| 데이터웨어하우스(DW)를 구축 시 정보시스템 테이블 정규화 수준은 어느 정도여야 하나 (0) | 2025.07.15 |
| Qt, WPF, Electron, .NET MAUI 4개 주요 데스크톱 앱 프레임워크의 비교표 (0) | 2025.07.15 |
| 국제공인기능점수전문가(CFPS) 자격증 취득 방법 (3) | 2025.07.14 |
| 윈도우 cmd 파워쉘 powershell (0) | 2025.07.11 |