BigQuery 관리 소개
이 문서에서는 BigQuery 관리 태스크와 이를 수행하는 데 도움이 되는 BigQuery 기능을 소개합니다.
BigQuery 관리자는 일반적으로 다음과 같은 유형의 태스크를 수행합니다.
- 프로젝트, 데이터 세트, 테이블과 같은 리소스를 관리합니다.
- 액세스가 필요한 주 구성원으로 제한되도록 리소스를 보호합니다.
- 작업, 쿼리, 컴퓨팅 용량(예약)과 같은 워크로드를 관리합니다.
- 할당량, 작업, 컴퓨팅 사용량 등 리소스를 모니터링합니다.
- 비용을 제어하면서 최상의 성능을 위해 워크로드를 최적화합니다.
- 오류 메시지, 결제 문제, 할당량 문제를 해결합니다.
이 문서에서는 이러한 태스크를 수행하는 데 도움이 되도록 BigQuery에서 제공하는 기능을 간략하게 설명합니다.
Google Cloud 콘솔에서 직접 BigQuery 데이터 관리 기능을 둘러보려면 둘러보기를 클릭합니다.
도구
BigQuery에서는 관리 태스크에 사용할 수 있는 여러 인터페이스를 제공합니다.
종종 여러 도구를 사용하여 특정 태스크를 수행할 수 있으므로 가장 적합한 도구를 선택할 수 있습니다. 예를 들어 Google Cloud 콘솔의 탐색기 창, bq mk --table
명령어 또는 CREATE TABLE
SQL 문을 사용하여 테이블을 만들 수 있습니다.
- Google Cloud 콘솔. Google Cloud 콘솔에는 BigQuery 관리 전용 페이지가 여러 개 있습니다. 자세한 내용은 Google Cloud 콘솔 사용을 참조하세요.
SQL 문. Google Cloud 콘솔의 BigQuery 페이지에는 DDL 문과 DCL 문을 사용하여 관리 태스크를 수행할 수 있는 쿼리 편집기가 있습니다. 자세한 내용은 데이터 정의 언어(DDL) 및 데이터 제어 언어(DCL)를 참조하세요.
저장 프로시져를 사용하여 SQL 문을 사용하는 관리 태스크를 자동화할 수 있습니다. 자세한 내용은 저장 프로시져 작업을 참조하세요.
bq
명령어. bq 명령줄 도구를 사용하면bq
명령어를 사용하여 여러 관리 태스크를 수행할 수 있습니다. Google Cloud 콘솔에서 지원되지 않는 태스크를 수행하거나, 쿼리 또는 API 메서드에서 인코딩하기 전에 프로토타입 기능을 만들거나, 명령줄 인터페이스를 사용하는 것이 편한 경우 bq 명령줄 도구를 사용할 수 있습니다. 자세한 내용은 bq 명령줄 도구 사용을 참조하세요.
리소스 관리
BigQuery 리소스에는 조직, 폴더, 프로젝트, 데이터 세트, 테이블이 포함됩니다. 이 섹션에서는 조직의 리소스를 관리하는 방법을 설명합니다.
BigQuery 리소스 계층 구조에 대한 자세한 내용은 BigQuery 리소스 구성을 참조하세요. 특히 조직 수준에서 액세스 제어 설정과 같은 일부 태스크를 수행할 수 있는 조직 리소스를 만들 수 있습니다.
데이터 세트 관리
데이터 세트는 테이블의 컨테이너입니다. 데이터 세트에서 테이블을 만든 후 그룹으로 관리할 수 있습니다. 예를 들어 재정의하지 않는 한 데이터 세트의 모든 테이블에 적용되는 데이터 세트 기본 테이블 만료 시간을 구성할 수 있습니다. 데이터 세트 복사본을 만들어 테이블 그룹을 복사할 수 있으며 데이터 세트 수준에서 테이블에 대한 액세스를 제어할 수 있습니다.
데이터 세트 관리에 대한 자세한 내용은 다음 문서를 참조하세요.
- 데이터 세트 만들기, 복사, 이동, 업데이트에 대한 자세한 내용은 데이터세트 소개를 참조하세요.
- 데이터 세트 수준 액세스 제어에 대한 자세한 내용은 데이터 세트에 대한 액세스 제어 및 승인된 데이터 세트를 참조하세요.
테이블 관리
BigQuery에서 데이터는 쿼리될 수 있는 테이블에 저장됩니다. 테이블을 만들고 데이터를 다양한 유형의 소스에서 다양한 형식의 테이블, 특정 열에 따라 또는 수집 시간별로 파티션을 나눈 테이블, 클러스터 테이블로 로드하고 테이블 속성을 업데이트며 테이블 데이터를 내보낼 수 있습니다.
테이블 관리에 대한 자세한 내용은 다음 문서를 참조하세요.
- 데이터를 BigQuery 테이블로 로드에 대한 자세한 내용은 테이블 로드 소개를 참조하세요.
- 테이블 관리 및 테이블 데이터 내보내기에 대한 자세한 내용은 테이블 소개를 참조하세요.
- 테이블 파티션 나누기 및 클러스터링에 대한 자세한 내용은 파티션을 나눈 테이블 소개 및 클러스터링된 테이블 소개를 참조하세요.
리소스 라벨 지정
BigQuery 리소스를 체계화하기 위해 데이터세트, 테이블, 뷰에 라벨을 추가할 수 있습니다. 라벨은 리소스에 연결할 수 있는 키-값 쌍입니다. 리소스에 라벨을 지정하면 라벨 값을 기준으로 리소스를 검색할 수 있습니다. 예를 들어 dept:sales
, dept:marketing
, dept:analytics
같은 라벨을 추가하여 부서별로 데이터 세트를 그룹화하는 데 라벨을 사용할 수 있습니다.
그러면 라벨을 사용하여 부서별로 청구 상세 내역을 확인할 수 있습니다.
자세한 내용은 라벨 소개를 참조하세요.
리소스 정보 가져오기
INFORMATION_SCHEMA
뷰를 쿼리하여 BigQuery 리소스에 대한 정보를 가져올 수 있습니다. BigQuery는 각 리소스 유형에 대한 뷰를 제공합니다. 예를 들어 INFORMATION_SCHEMA.TABLES
뷰에는 테이블에 대한 정보가 포함됩니다.
다음은 INFORMATION_SCHEMA
뷰를 쿼리하여 얻을 수 있는 정보에 대한 몇 가지 예시입니다.
- 테이블이 생성된 시점을 확인합니다.
- 테이블에 있는 각 열의 이름과 데이터 유형을 가져옵니다.
- 프로젝트에서 실행 중인 모든 작업을 찾습니다.
- 기본 테이블에서 생성된 테이블 스냅샷 목록을 가져옵니다.
- 데이터 세트, 테이블, 뷰 또는 루틴의 경우 리소스를 만드는 데 사용할 수 있는 DDL 문을 가져옵니다.
- 테이블을 만드는 데 사용된 옵션(예: 테이블 만료 시간)을 가져옵니다.
- 테이블에서 파티션 나누기 열과 클러스터링 열을 찾습니다.
- 프로젝트에 할당된 예약과 해당 슬롯 용량을 가져옵니다.
자세한 내용은 BigQuery INFORMATION_SCHEMA
소개를 참조하세요.
데이터 복사
사람 실수로부터 보호와 같은 다양한 이유로 데이터 복사본을 만들거나 향후 비교를 위해 데이터를 보존하려 할 수 있습니다. BigQuery에서는 특정 시점에서 테이블 데이터를 복사할 수 있는 몇 가지 옵션을 제공합니다.
시간 이동. 지난 1주일 내 특정 시간의 테이블 상태에 액세스해야 할 수도 있습니다. 예를 들어 사람 실수로 인해 데이터가 손상된 경우입니다. BigQuery는 테이블의 이전 데이터를 7일 동안 보관합니다. 시간 이동 기능을 사용하여 테이블의 최근 이전 데이터에 액세스할 수 있습니다.
자세한 내용은 시간 이동을 사용하여 이전 데이터 액세스를 참조하세요.
테이블 스냅샷. 지난 1주일 이전의 테이블 상태에 액세스할 수 있으려면 테이블 스냅샷을 주기적으로 만드는 것이 좋습니다. 테이블 스냅샷은 가벼운 읽기 전용 복사본으로, 테이블 상태를 무기한 보존할 수 있게 해줍니다. 예를 들어 테이블 스냅샷을 사용하면 테이블의 현재 데이터를 한 해 시작할 때의 데이터와 비교할 수 있으며, 이는 시간 이동을 사용할 경우에는 불가능합니다. 기본 테이블과 테이블 스냅샷 간에 다른 데이터가 저장되는 경우에만 요금이 청구됩니다.
자세한 내용은 테이블 스냅샷 소개를 참조하세요.
테이블 클론. 테이블의 쓰기 가능한 가벼운 사본을 만들려면 테이블 클론을 사용할 수 있습니다. 기본 테이블과 테이블 클론 간에 데이터가 다른 경우에만 해당 데이터의 스토리지 비용을 지불합니다. 예를 들어 프로덕션 데이터에 영향을 주지 않고 테이블의 전체 복사본에 대한 스토리지 비용을 지불할 필요 없이 프로덕션 데이터의 복사본을 실험할 수 있도록 테스트 환경에서 테이블 클론을 만들 수 있습니다.
자세한 내용은 테이블 클론 소개를 참조하세요.
데이터 계보 추적
데이터 계보는 시스템을 통해 데이터가 이동하는 방식, 즉 데이터의 출처, 데이터가 전달되는 위치, 데이터에 적용되는 변환을 추적할 수 있는 Dataplex 기능입니다. 데이터 계보를 사용하여 프로젝트에서 데이터 이동을 추적하는 방법에 관한 자세한 내용은 Dataplex의 데이터 계보 정보를 참고하세요.
안전한 리소스
BigQuery 보안은 Google Cloud Identity and Access Management를 기반으로 합니다. BigQuery를 사용하면 조직, 폴더, 프로젝트, 데이터 세트, 테이블, 테이블 열, 테이블 행에 대한 액세스를 포함하여 여러 수준에서 리소스에 대한 액세스를 제어할 수 있습니다.
BigQuery 리소스에 대한 액세스 제어에 대한 자세한 내용은 데이터 보안 및 거버넌스 개요를 참조하세요.
워크로드 관리
BigQuery는 사용자를 대신하여 데이터 수집, 쿼리, 내보내기를 포함한 여러 태스크를 수행합니다. 각 태스크는 BigQuery 작업에서 수행됩니다. 이 섹션에서는 조직의 작업을 모니터링하고 관리하는 방법을 설명합니다.
채용정보 관리
작업이란 BigQuery에서 사용자 대신 데이터를 로드, 내보내기, 쿼리 또는 복사하도록 실행하는 작업입니다. 사용자가 Google Cloud 콘솔, bq 명령줄 도구, SQL 문 또는 API 호출을 사용하여 이러한 태스크 중 하나를 시작하면 BigQuery에서 태스크를 실행할 작업을 자동으로 만듭니다.
BigQuery 관리자는 조직의 작업을 모니터링, 관리하고 문제를 해결하여 원활한 실행을 보장할 수 있습니다.
자세한 내용은 작업 개요를 참조하세요.
예약 관리
BigQuery에서 쿼리를 실행할 때 슬롯이라 하는 컴퓨팅 단위를 사용합니다. BigQuery는 쿼리의 크기와 복잡성에 따라 각 쿼리를 실행하는 데 필요한 슬롯 수를 계산합니다.
BigQuery에는 쿼리를 실행하는 슬롯에 대한 비용을 청구하는 두 가지 가격 책정 모델이 있습니다.
- 주문형 결제. 쿼리는 공유 슬롯 풀을 사용하며 쿼리에서 처리하는 바이트 수에 대한 비용이 청구됩니다.
- 용량 기반 결제. 예약 또는 용량 약정을 버전에 할당합니다. 각 버전에는 가장 적합한 작업 환경을 제공할 고유한 기능 모음 및 가격대가 포함됩니다.
이러한 가격 책정 모델은 프로젝트별로 적용되므로 일부 프로젝트에서는 주문형 결제를, 또 일부 프로젝트에서는 용량 기반 결제를 사용할 수 있습니다.
주문형 결제를 사용할 경우 무료 사용량의 월별 할당량이 소진된 후에는 각 쿼리에서 처리하는 바이트 수에 대한 요금이 청구됩니다. 처리량은 프로젝트에서 실행되는 쿼리 간에 공유되는 사전 정의된 슬롯 할당량으로 제한됩니다.
BigQuery 버전 결제를 사용하면 자동 확장 예약과 선택사항이지만 더 저렴한 용량 약정을 통해 조직에 슬롯을 할당할 수 있습니다. 각 버전의 슬롯은 자체 가격대로 자체 기능 모음을 제공합니다. BigQuery 버전 및 이와 연결된 기능에 대한 자세한 내용은 BigQuery 버전 소개를 참조하세요.
쿼리를 처리하는 데 사용되는 컴퓨팅 용량 관리에 대한 자세한 내용은 다음 문서를 참조하세요.
슬롯과 주문형 결제와 용량 기반 결제 간의 균형은 예약 소개를 참조하세요.
용량 기반 결제의 다양한 옵션(월간 또는 연간 약정)은 약정을 참조하세요.
슬롯 예약이라고 하는 용량 기반 슬롯 풀 만들기는 슬롯 예약 작업을 참조하세요.
특정 프로젝트에 슬롯 예약 할당은 예약 할당 작업을 참조하세요.
워크로드에 할당하는 데 적절한 슬롯 수를 추정하려면 슬롯 용량 요구사항 예상을 참조하세요.
리소스 모니터링
Google Cloud에서는 BigQuery 리소스를 포함한 리소스를 모니터링하고 감사하는 기능을 제공합니다. 이 섹션에서는 BigQuery에 적용되는 Google Cloud 모니터링 및 감사 기능을 설명합니다.
자세한 내용은 BigQuery 모니터링 소개를 참조하세요.
Cloud Monitoring 대시보드
Cloud Monitoring에서는 BigQuery를 모니터링할 수 있는 대시보드를 제공합니다. 이 대시보드를 사용하여 BigQuery 이슈, 데이터 세트, 테이블, 프로젝트, 쿼리 시간, 슬롯 사용률에 대한 정보를 볼 수 있습니다.
자세한 내용은 Monitoring 대시보드 보기를 참조하세요.
관리 차트 및 알림
Cloud Monitoring을 사용하여 지정한 리소스, 측정항목, 집계를 기준으로 커스텀 차트를 만들 수 있습니다.
자세한 내용은 대시보드 및 차트를 참조하세요.
또한 구성된 알림이 트리거되면 이를 알려주는 알림 정책을 만들 수 있습니다. 예를 들어 쿼리 실행 시간이 지정된 한도를 초과하면 지정된 이메일 주소로 이메일을 보내는 알림을 만들 수 있습니다.
자세한 내용은 알림 만들기를 참조하세요.
예약 모니터링
Google Cloud Console의 용량 관리 페이지에서 슬롯 사용량을 모니터링할 수 있습니다. 용량 약정을 보고 슬롯 예약이 할당된 위치를 확인할 수 있습니다. 또한 슬롯 에스티메이터(미리보기)를 사용하여 이전 성능 측정항목을 기준으로 조직의 용량 요구사항을 추정할 수 있습니다.
자세한 내용은 BigQuery 예약 모니터링을 참조하세요.
할당량
Google Cloud는 공유 리소스의 공정한 사용을 보장하고 과도한 비용이 발생하지 않도록 BigQuery 리소스를 포함한 리소스 사용에 한도를 설정합니다. 할당량이 있는 BigQuery 리소스 사용량을 보고 필요한 경우 Google Cloud 콘솔을 사용하여 더 높은 할당량을 요청할 수 있습니다.
자세한 내용은 BigQuery 할당량 및 한도를 참조하세요.
감사 로그
Cloud 감사 로그는 BigQuery 이벤트를 포함한 Google Cloud 이벤트 레코드를 유지합니다. 로그 탐색기를 사용하여 BigQuery 작업, 데이터 세트, 전송 등과 관련된 이벤트에 대한 로그를 쿼리할 수 있습니다. 로그 대시보드에는 최근 오류에 대한 정보가 표시되며 로그 기반 측정항목을 사용하여 특정 필터와 일치하는 로그 항목을 집계할 수 있습니다.
자세한 내용은 Google Cloud 로깅 문서를 참조하세요.
워크로드 최적화
BigQuery 구성을 최적화하여 스토리지 및 쿼리 처리 비용을 모두 제어할 수 있습니다.
BigQuery 스토리지 비용 관리는 BigQuery에서 스토리지 최적화를 참조하세요.
BigQuery 처리 비용 관리는 BigQuery의 비용 관리를 참조하세요.
BigQuery 쿼리 최적화는 쿼리 성능 최적화 소개를 참조하세요.
BigQuery 비용에 대한 일반 내용은 BigQuery 가격 책정 및 BigQuery 결제 관련 문의를 참조하세요.
신뢰성 안내
이 문서에서는 오류 처리 고려 사항 검토는 물론 가용성, 내구성, 데이터 일관성, 성능 일관성, BigQuery의 데이터 복구에 대한 인사이트를 포함하여 BigQuery 신뢰성에 대해 설명합니다. 신뢰성 및 재해 계획에 대한 자세한 내용은 신뢰성 이해를 참조하세요.
문제 해결
이 문서에 설명된 조직의 BigQuery 시스템을 모니터링하고 관리하는 데 사용되는 기능 외에 다음 리소스를 사용하여 발생할 수 있는 문제를 해결할 수 있습니다.
추가 지원이 필요하면 지원 받기를 참조하세요.
다음 단계
- BigQuery 관리와 관련된 다양한 주제에 대한 동영상 시리즈는 BigQuery 관리자 참조 가이드 요약을 참조하세요.