앱 프로필 개요
애플리케이션 프로필(앱 프로필)은 Bigtable 인스턴스에 애플리케이션에서 수신하는 요청을 처리하는 방법을 알려주는 설정을 저장합니다. 애플리케이션이 Bigtable 인스턴스에 연결되면 기본 앱 프로필 또는 개발자가 지정한 앱 프로필을 사용합니다. Bigtable은 애플리케이션이 연결을 통해 전송하는 요청에 이 앱 프로필을 사용합니다.
앱 프로필은 사용하는 컴퓨팅 유형에 따라 표준 앱 프로필 또는 Data Boost 앱 프로필입니다. 표준 앱 프로필은 컴퓨팅을 위해 프로비저닝된 클러스터 노드를 사용하며 일반적으로 애플리케이션 서빙 트래픽에 사용됩니다. Data Boost 앱 프로필은 처리량이 높은 읽기 작업 및 쿼리를 위해 설계된 서버리스 컴퓨팅을 사용합니다. Data Boost(프리뷰)에 대한 자세한 내용은 Data Boost 개요를 참조하세요.
이 페이지에서는 앱 프로필을 설명하고 앱 프로필을 사용하는 방법을 설명합니다.
애플리케이션에서 앱 프로필을 사용하는 방법을 보여주는 코드 샘플은 커스텀 앱 프로필 연결을 참조하세요.
워크로드마다 별도의 앱 프로필 사용
Bigtable 인스턴스를 만들면 기본 앱 프로필이 자동으로 생성되며 설정은 인스턴스에 있는 클러스터 수에 따라 다릅니다. 앱 프로필의 이점을 최대한 활용하려면 추가 앱 프로필을 만들어 사용하고 애플리케이션 또는 워크로드마다 다른 앱 프로필을 사용해야 합니다.
앱 프로필은 특히 클러스터가 2개 이상 있는 인스턴스에 중요하지만 인스턴스에 클러스터가 하나만 있는 경우에도 실행하는 애플리케이션마다 또는 단일 애플리케이션에 포함된 서로 다른 구성요소에 고유한 앱 프로필을 사용해야 합니다.
다음 섹션에서는 앱 프로필을 여러 개 만들고 사용할 때의 이점을 설명합니다.
워크로드 격리
별도의 앱 프로필을 사용하면 목적에 맞게 서로 다른 Bigtable 컴퓨팅 및 라우팅 정책을 사용할 수 있습니다. 예를 들어 애플리케이션의 지속적인 읽기 및 쓰기(워크로드 B)를 처리하는 클러스터에서 일괄 읽기 작업(워크로드 A)으로 인한 CPU 사용량 증가를 방지하려는 경우를 가정해 보겠습니다. 다음 방법 중 하나를 사용할 수 있습니다.
클러스터 하나를 제외하는 클러스터 그룹으로 라우팅되는 워크로드 B의 앱 프로필을 만듭니다. 그런 다음 단일 클러스터 라우팅을 워크로드 B에서 요청을 보내지 않는 클러스터로 지정하는 워크로드 A의 표준 앱 프로필을 별도로 만듭니다.
워크로드 B의 클러스터로 라우팅되도록 구성된 컴퓨팅에 클러스터 노드를 사용하는 표준 앱 프로필을 사용하고 워크로드 A가 있는 단일 클러스터에 사용할 Data Boost 앱 프로필을 만듭니다. Data Boost는 서버리스 컴퓨팅을 사용하는 반면 애플리케이션 트래픽은 클러스터 노드를 컴퓨팅에 사용합니다.
같은 데이터에 연결하는 다른 애플리케이션에 영향을 주지 않고 애플리케이션 또는 함수 하나의 설정을 변경할 수 있습니다.
관측 가능성
앱 프로필별로 측정항목을 사용할 수 있으므로 워크로드마다 별도의 앱 프로필을 사용하면 Bigtable의 애플리케이션 사용량을 좀 더 우수하게 파악할 수 있습니다. 이러한 관측 가능성 향상은 다음과 같은 측면에서 유용할 수 있습니다.
앱 프로필 수준에서 지연 시간을 확인하여 전반적인 성능에 영향을 미칠 수 있는 애플리케이션을 확인할 수 있습니다.
표준 앱 프로필을 사용하여 워크로드의 앱 프로필당 CPU 사용률을 모니터링하면 CPU 사용률 문제를 해결하거나 클러스터의 크기나 위치를 결정하여 사용량을 최적화하고 비용을 줄일 수 있습니다.
앱 프로필 수준의 측정항목은 지원을 탐색해야 하는 경우에 유용합니다. 문제를 일으키는 워크로드를 정확하고 더 쉽게 공유할 수 있기 때문입니다.
Bigtable Google Cloud 콘솔을 사용하여 앱 프로필마다 별도의 Bigtable 측정항목 그래프를 볼 수 있습니다. 프로필 수준에서 사용할 수 있는 측정항목은 Bigtable 리소스 모니터링 차트의 표를 참조하세요.
표준 앱 프로필
표준 앱 프로필은 클러스터의 노드를 사용하여 트래픽을 인스턴스의 클러스터로 라우팅합니다.
라우팅
표준 앱 프로필은 Bigtable에서 사용하는 라우팅 정책을 정의하고 단일 행 트랜잭션 허용 여부를 제어합니다. 또한 표준 앱 프로필을 사용하면 앱 프로필을 통해 전송된 요청의 우선순위 수준을 지정할 수 있습니다.
요청 우선순위
Bigtable에서 표준 앱 프로필의 데이터 요청에 적용해야 하는 우선순위를 지정할 수 있습니다. 사용 가능한 우선순위 수준을 검토하려면 요청 우선순위 구성을 참조하세요.
Data Boost 앱 프로필
Data Boost 앱 프로필을 사용하면 Data Boost의 서버리스 컴퓨팅을 사용하여 처리량이 높은 작업과 쿼리를 앱 서빙 트래픽에서 격리할 수 있습니다. Data Boost 앱 프로필에서는 요청 우선순위를 구성할 수 없으며 사용 가능한 유일한 라우팅 정책은 단일 클러스터입니다. 자세한 내용은 Data Boost 개요를 참고하세요.
앱 프로필 변경사항
워크로드의 라우팅 정책 또는 요청 우선순위를 변경해야 하는 경우 워크로드에 사용되는 앱 프로필을 업데이트할 수 있습니다. 앱 프로필을 표준 격리에서 Data Boost 격리로 또는 Data Boost 격리에서 표준 격리로 변환할 수도 있습니다. Data Boost를 사용하도록 표준 앱 프로필을 변환하면 앱 프로필에서 요청 우선순위 설정과 단일 클러스터가 아닌 모든 라우팅 정책이 삭제됩니다.
앱 프로필 변경사항은 즉시 적용됩니다.
그러나 대부분의 경우 사용 중인 앱 프로필을 수정하는 대신 새로운 사용 사례와 마찬가지로 다른 구성으로 새 앱 프로필을 만든 후 새 앱 프로필을 사용하도록 애플리케이션 코드를 변경해야 합니다. 워크로드를 변경하기 위해 새 앱 프로필을 만들면 앱 프로필을 사용하는 다른 워크로드의 앱 프로필을 실수로 변경하지 않을 수 있습니다.
앱 프로필을 표준에서 Data Boost로 변경하면 앱 프로필의 트래픽에 사용되는 컴퓨팅 유형이 가격과 함께 서버리스로 변경됩니다. 자세한 내용은 Data Boost 개요 및 Bigtable 가격 책정을 참고하세요.
마찬가지로 앱 프로필을 Data Boost에서 표준으로 변경하면 앱 프로필에서 전송하는 트래픽이 컴퓨팅에 클러스터 노드를 사용하기 시작합니다. 즉, 앱 프로필이 라우팅되는 모든 클러스터에는 CPU 사용 요구사항을 충족할 만큼 충분한 노드가 있어야 합니다. 자세한 내용은 노드를 참고하세요.
앱 프로필 보기, 생성, 업데이트 방법은 앱 프로필 만들기 및 구성을 참조하세요.
기본 앱 프로필
인스턴스를 생성하면 Bigtable에서 자동으로 인스턴스의 기본 앱 프로필을 생성합니다. 기본 앱 프로필은 표준 앱 프로필이지만 Data Boost 프로필로 변환할 수 있습니다. 애플리케이션에서 앱 프로필을 지정하지 않거나 HBase 셸을 사용하여 인스턴스에 연결하는 경우 Bigtable에서는 기본 앱 프로필의 설정을 사용합니다.
인스턴스의 기본 앱 프로필 설정은 처음 인스턴스를 만들 때 사용한 클러스터 수에 따라 다릅니다.
- 클러스터가 1개인 인스턴스를 만든 경우
default
앱 프로필은 단일 클러스터 라우팅을 사용하고 단일 행 트랜잭션을 사용 설정합니다. 따라서 나중에 클러스터를 추가해도 기존 애플리케이션 동작은 변경되지 않습니다. - 클러스터가 2개 이상 있는 인스턴스를 만든 경우
default
앱 프로필은 모든 클러스터에 멀티 클러스터 라우팅을 사용합니다. 멀티 클러스터 라우팅에서는 단일 행 트랜잭션이 허용되지 않습니다.
클러스터를 추가하거나 삭제해도 기본 앱 프로필은 변경되지 않습니다. 설정을 변경하려면 직접 기본 앱 프로필을 업데이트해야 합니다. 하지만 권장사항은 기본 앱 프로필을 변경하는 대신 새로운 앱 프로필을 만들어 사용하는 것입니다.
커스텀 앱 프로필
커스텀 앱 프로필은 사용자가 만들고 구성하는 앱 프로필입니다. 한 인스턴스에 최대 2,000개의 앱 프로필이 있을 수 있습니다. 기본값이 아닌 모든 앱 프로필은 커스텀 앱 프로필로 간주됩니다.