Key Visualizer 개요
이 페이지에서는 Bigtable의 Key Visualizer 진단 도구를 간략하게 설명합니다.
Key Visualizer란 무엇인가요?
Key Visualizer는 Bigtable 사용 패턴을 분석하는 데 도움이 되는 도구입니다. 액세스하는 row key를 기반으로 사용량을 세분화하여 테이블에 대한 시각적 보고서를 생성합니다.
다른 방법으로는 사용 패턴을 확장된 규모로 이해하기 어려운데 Key Visualizer를 활용하면 도움이 될 수 있습니다. Key Visualizer 용도는 다음과 같습니다.
- 스키마를 반복적으로 설계하거나 기존 스키마의 설계 개선. 각 반복에서 Key Visualizer를 확인하여 스키마로 인해 발생할 수 있는 문제를 찾아 스키마를 조정하고 다시 확인합니다.
- 성능 문제 해결
- Bigtable에 저장한 데이터에 액세스하는 방법을 자세히 파악
위 목표를 달성하기 위해 Key Visualizer를 통해 다음 태스크를 수행할 수 있습니다.
- 읽기 또는 쓰기가 특정 행에 핫스팟을 만들고 있는지 확인
- 너무 많은 데이터가 포함된 행 찾기
- 테이블의 모든 행에서 액세스 패턴이 균형을 이루고 있는지 확인
Key Visualizer는 다양한 측정항목을 표시하지만 Bigtable의 성능에 영향을 줄 수 있는 모든 측정항목을 표시하지는 않습니다. 예를 들어 애플리케이션과 Google Cloud 사이에 네트워크 문제가 있는 경우 해당 네트워크 문제가 표시되지 않거나 Key Visualizer의 모든 키에서 수직 밴드로 표시되어 문제가 발생한 시점에 대한 힌트만 제공합니다. Key Visualizer 검사를 통해 성능 문제의 원인을 식별할 수 없는 경우 추가적인 문제해결 과정이 필요합니다.
Key Visualizer 검사
다음 이미지는 Key Visualizer 검사를 보여줍니다. 각 검사에는 다음과 같은 몇 가지 유형의 정보가 포함되어 있습니다.
Key Visualizer는 각 검사의 데이터를 이해하는 데 도움이 되는 도구도 제공합니다. 이전에 Key Visualizer를 사용한 적이 없는 경우 Key Visualizer 시작하기의 안내를 참조하세요. 충분한 경험이 있는 사용자의 경우 자세한 내용은 히트맵 탐색을 참조하세요.
히트맵
Key Visualizer 검사의 핵심은 히트맵입니다. 히트맵은 시간 경과에 따른 측정항목 값을 인접한 범위의 row key로 세분화하여 표시합니다. 히트맵의 x축은 시간을 나타내고 y축은 row key를 나타냅니다. 특정 시점에서 측정항목의 row key 그룹에 대한 값이 낮은 경우 해당 측정항목은 '콜드' 상태이며 어두운 색으로 표시됩니다. 높은 값은 '핫' 상태이며 밝은 색으로 표시됩니다. 가장 높은 값은 흰색으로 표시됩니다.
사용 유형이 달라지면 히트맵의 시각적 패턴이 달라지므로 한눈에 문제를 진단할 수 있습니다. 일반적인 패턴의 예시는 히트맵 패턴을 참조하세요.
기본적으로 Key Visualizer 히트맵은 결합된 읽기 및 쓰기 수를 나타내는 작업 측정항목을 표시합니다. 언제든지 다른 측정항목에 대한 히트맵으로 전환할 수 있습니다. 자세한 내용은 측정항목 전환을 참조하세요.
또한 한 번에 둘 이상의 측정항목을 볼 수 있으므로 서로 다른 측정항목 간의 연관성을 파악하는 데 도움이 될 수 있습니다.
계층적 row key
row key는 종종 값의 계층 구조로 구성되며, 각각의 값이 구분 기호로 분리되어 있습니다. 예를 들어 row key memusage#1423523569918
에는 메모리 사용을 캡처하는 모든 행의 식별자가 포함되어 있으며, 그 뒤에는 해당 그룹 내에서 특정 데이터 집합을 식별하는 타임스탬프가 있습니다.
Key Visualizer는 위 예시의 왼쪽에 표시된 것처럼 이러한 유형의 row key를 자동으로 인식하여 탭 계층으로 분할합니다. 이 기능을 사용하면 데이터 및 액세스 패턴이 테이블 행 전체에 분산되는 방식을 이해할 수 있습니다. 또한 특정 row key 범위에 대한 데이터를 더 빠르고 자세히 확인할 수 있습니다.
row key가 여러 값으로 구성되지 않은 경우 Key Visualizer는 여전히 검사의 왼쪽에 탭을 표시하지만 탭은 명확한 계층 구조를 제공하는 대신 예기치 않은 방식으로 row key를 분할할 수 있습니다.
키 버킷
Bigtable 테이블에는 몇 조 개의 행이 있을 수 있으므로 각 행에 대한 측정항목을 보고하는 것이 항상 실용적인 것은 아닙니다. 대신 Key Visualizer는 모든 row key를 1,000개의 연속 범위로 나누어 각 범위에 거의 같은 수의 row key가 포함되도록 합니다. 이러한 범위를 키 버킷이라고 합니다.
Key Visualizer는 대부분의 측정항목을 각 키 버킷의 평균 또는 각 키 버킷 내 최댓값으로 보고합니다. 경고 측정항목과 성능 측정항목의 경우 Key Visualizer는 개별 row key 또는 키 버킷 내 특정 키 범위에 대한 측정항목을 보고하여 정확도를 높입니다.
내부적으로 Key Visualizer는 15분마다 새 검사 데이터를 생성합니다. 연속 기간의 데이터를 연결할 수 있도록 Key Visualizer는 이전 15분과 동일한 키 버킷을 유지하려 합니다. 삭제된 키가 버킷 경계로 계속 표시될 수도 있습니다. 테이블은 시간이 경과함에 따라 데이터 추가 및 삭제로 인해 변경되므로 키 버킷이 균형 유지를 위해 다시 계산됩니다.
또한 Key Visualizer는 테이블이 많이 변경되지 않았더라도 2주마다 새로운 키 버킷 집합을 생성하여 삭제된 키에서 남은 버킷 경계를 삭제합니다. 따라서 테이블이 안정적이더라도 키 버킷이 가끔 업데이트됩니다.
집계 값
히트맵 외에도 Key Visualizer 검사에는 히트맵의 하단과 오른쪽에 막대 그래프로 집계 값이 포함됩니다. 집계 값 위로 마우스를 가져가면 Key Visualizer는 히트맵의 좁은 영역을 강조표시하고 다음 정보를 표시합니다.
- x축의 경우 Key Visualizer는 합계값 또는 최댓값과 함께 현재 측정항목의 평균값을 표시합니다. 이 값은 모든 표시된 키 범위에 대해 15분 간격으로 나타납니다.
- y축의 경우 Key Visualizer는 키 범위로 세분화된 공개 시간 범위의 현재 측정항목 평균값을 표시합니다.
한도
검사용 최소 테이블 크기
Key Visualizer는 데이터가 클러스터당 최소 1GB 이상 포함된 테이블에 사용할 수 있습니다. 테이블이 해당 크기에 도달한 후 최대 1시간이 지나야 스캔할 수 있습니다.
시간 범위
- 최솟값: Key Visualizer에 표시할 수 있는 가장 짧은 시간 범위는 15분입니다.
- 최댓값: 표시할 수 있는 가장 긴 시간 범위는 14일입니다.
- 증분 크기: Key Visualizer 데이터는 15분 단위로 제공됩니다.
데이터 기간
Key Visualizer에는 지난 14일간의 데이터가 제공됩니다. 예를 들어 12월 19일 오후 12시 45분에 Key Visualizer를 실행한 경우 시간 범위에 선택할 수 있는 가장 빠른 시작 시간은 12월 5일 오후 12시 45분입니다.
또한 이 한도는 Key Visualizer 검사의 URL을 북마크하거나 공유할 경우 URL의 최대 수명이 14일이라는 의미입니다.
다음 단계
- Key Visualizer를 시작하는 방법 알아보기
- Key Visualizer 히트맵에 표시되는 패턴 이해하기
- 히트맵을 세부적으로 탐색하는 방법 알아보기
- 히트맵에서 볼 수 있는 측정항목 알아보기
- Twitter에서 Key Visualizer를 사용하여 Bigtable 스키마를 설계하는 방법에 대한 동영상 보기