이 문서는 컴퓨트 섹션의 일부입니다.
SQL Warehouse란?
💡 SQL Warehouse 는 SQL 쿼리를 실행하기 위한 전용 컴퓨팅 리소스 입니다. 일반 Spark 클러스터와 달리 SQL 분석에 최적화되어 있으며, BI 도구 연결, 대시보드 조회 등에 적합합니다.SQL Warehouse는 Databricks에서 데이터 분석과 BI 워크로드를 위해 설계된 전용 SQL 엔진 입니다. 내부적으로 Apache Spark 기반이지만, SQL 실행에 특화된 최적화가 적용되어 있으며, Photon 엔진이 기본 포함되어 빠른 쿼리 성능을 제공합니다.
왜 SQL Warehouse가 필요한가?
일반 All-Purpose Cluster로도 SQL을 실행할 수 있지만, SQL Warehouse를 사용하면 다음과 같은 이점이 있습니다.💡 언제 SQL Warehouse를 사용하나요? BI 도구 연결, 대시보드 조회, Ad-hoc SQL 분석, 정기 SQL 보고서 등 SQL 중심 워크로드 에는 항상 SQL Warehouse를 사용하는 것이 권장됩니다. Python/Scala 코드가 필요한 개발이나 ML 학습에는 All-Purpose Cluster를 사용합니다.
Photon 엔진
💡 Photon 은 Databricks가 C++로 개발한 차세대 벡터화 쿼리 엔진 입니다. Apache Spark의 SQL 실행 엔진을 대체하며, 동일한 쿼리를 최대 12배 빠르게 실행할 수 있습니다.
Photon의 핵심 특징
Photon 성능 비교
💡 벡터화(Vectorized) 처리란? 데이터를 한 행씩 처리하는 대신 열(Column) 단위로 수천 개의 값을 한 번에 처리 하는 방식입니다. 현대 CPU의 SIMD(Single Instruction, Multiple Data) 명령어를 활용하여 대폭적인 성능 향상을 얻을 수 있습니다.
SQL Warehouse 유형
Databricks는 세 가지 유형의 SQL Warehouse를 제공합니다.유형별 기능 비교
🆕 Serverless SQL Warehouse 가 현재 권장되는 기본 선택입니다. 수 초 만에 시작되고, 사용하지 않을 때는 자동으로 리소스를 해제하여 비용을 절약합니다.
Warehouse 사이징 가이드
SQL Warehouse는 T-Shirt 사이즈 로 크기를 선택합니다. 사이즈가 클수록 더 복잡한 쿼리를 빠르게 처리할 수 있습니다.💡 사이징 팁: 처음에는 Small 또는 Medium 으로 시작하고, 쿼리 프로필에서 병목을 분석한 후 필요하면 사이즈를 올리는 것이 좋습니다. 사이즈를 올리는 것보다 클러스터 수를 늘리는 것이 동시성에는 더 효과적입니다.
워크로드 유형별 추천
스케일링 설정
Auto-Stop (자동 중지)
사용하지 않을 때 자동으로 중지하여 비용을 절약합니다.⚠️ Serverless는 Auto-Stop이 빠릅니다: Serverless는 수 초 만에 재시작되므로, 짧은 Auto-Stop 시간을 설정해도 사용자 경험에 영향이 없습니다. Pro/Classic은 재시작에 3~5분이 소요되므로 너무 짧으면 불편할 수 있습니다.
Scaling (멀티 클러스터 스케일링)
동시 사용자가 많을 때 자동으로 클러스터 수를 늘려 병렬 처리 능력을 확장합니다.💡 여기서의 “클러스터”는 SQL Warehouse 내부의 컴퓨팅 단위입니다. 하나의 클러스터가 하나의 무거운 쿼리를 처리하므로, 클러스터 수 = 동시에 처리할 수 있는 무거운 쿼리 수로 이해하시면 됩니다. (가벼운 쿼리는 하나의 클러스터에서 여러 개를 동시에 처리할 수 있습니다.)
쿼리 큐잉 동작 원리
모든 클러스터가 사용 중일 때, 새로운 쿼리는 큐(Queue) 에 대기합니다.비용 관리
DBU 비용 구조
💡 Serverless가 더 저렴할 수 있습니다: DBU 단가는 Serverless가 높지만, VM 비용이 포함되어 있고, 유휴 시간 비용이 없으며, 관리 인건비가 절감되므로 총 소유 비용(TCO) 은 Serverless가 유리한 경우가 많습니다.
비용 모니터링
BI 도구 연결
SQL Warehouse는 JDBC/ODBC 표준 프로토콜을 지원하여 다양한 BI 도구와 연결할 수 있습니다.🆕 Databricks Excel Add-in: Public Preview로 출시되어, Excel에서 직접 SQL을 실행하고 데이터를 가져올 수 있습니다.
연결 정보 확인
SQL Warehouse 상세 페이지에서 Connection details 탭을 클릭하면 연결에 필요한 정보를 확인할 수 있습니다.Partner Connect
Partner Connect 를 사용하면 BI 도구 연결을 몇 번의 클릭만으로 설정할 수 있습니다.- Workspace에서 Partner Connect 메뉴를 엽니다
- 연결할 BI 도구(예: Tableau, Power BI)를 선택합니다
- SQL Warehouse와 카탈로그를 지정합니다
- 자동으로 서비스 프린시펄과 토큰이 생성됩니다
- BI 도구에서 자동으로 연결이 설정됩니다
모니터링
쿼리 히스토리
SQL Warehouse에서 실행된 모든 쿼리의 이력을 확인할 수 있습니다.쿼리 프로필
개별 쿼리의 실행 계획과 병목 지점 을 상세히 분석할 수 있습니다.실습: SQL Warehouse 생성 및 최적 설정
Step 1: Warehouse 생성
- Databricks Workspace에서 SQL Warehouses 메뉴로 이동합니다
- Create SQL Warehouse 클릭합니다
- 다음 설정을 입력합니다:
Step 2: 쿼리 실행 테스트
Step 3: 쿼리 프로필 분석
- 쿼리 실행 후 Query Profile 탭을 클릭합니다
- Scan 단계에서 읽은 파일 수와 데이터 크기를 확인합니다
- Shuffle 단계에서 네트워크 데이터 이동량을 확인합니다
- 병목이 있으면 사이즈 업 또는 쿼리 최적화를 고려합니다