[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-08-27。"],[[["\u003cp\u003eKey Visualizer is a diagnostic tool for Bigtable that generates visual reports to analyze data usage patterns based on accessed row keys.\u003c/p\u003e\n"],["\u003cp\u003eThis tool helps with schema design, troubleshooting performance, and understanding data access within Bigtable tables by identifying hotspots, overly large rows, and unbalanced access.\u003c/p\u003e\n"],["\u003cp\u003eKey Visualizer uses heatmaps, showing metric values over time and across row key ranges, where colors indicate the intensity of usage, alongside aggregate values to understand overall usage.\u003c/p\u003e\n"],["\u003cp\u003eThe tool breaks down row keys into a hierarchy of tabs, where applicable, and uses "key buckets," which are contiguous ranges of row keys, to manage and display metrics efficiently for large tables.\u003c/p\u003e\n"],["\u003cp\u003eKey Visualizer has limitations such as requiring at least 1 GB of data per cluster, data is only available within the past 14 days, and the shortest time span that can be viewed is 15 minutes.\u003c/p\u003e\n"]]],[],null,["# Overview of Key Visualizer\n==========================\n\nThis page provides an overview of the Key Visualizer diagnostic tool for\nBigtable.\n\nWhat is Key Visualizer?\n-----------------------\n\nKey Visualizer is a tool that helps you analyze your Bigtable\nusage patterns. It generates visual reports for your tables that break down your\nusage based on the row keys that you access.\n\nKey Visualizer can provide insights into usage patterns at scale that are\ndifficult to understand otherwise. Uses for Key Visualizer include the\nfollowing:\n\n- Iteratively designing a schema or improving the design of an existing schema. In each iteration, you check Key Visualizer to spot problems your schema may be causing, then tweak your schema and check again.\n- Troubleshooting performance issues.\n- Getting a better understanding of how you access the data that you store in Bigtable.\n\nTo accomplish these goals, Key Visualizer can help you complete the\nfollowing tasks:\n\n- Check whether your reads or writes are creating hotspots on specific rows\n- Find rows that contain too much data\n- Look at whether your access patterns are balanced across all of the rows in a table\n\nAlthough Key Visualizer shows a variety of metrics, it doesn't display every\nsingle metric that can affect the performance of Bigtable. For\nexample, if there are network issues between your application and Google Cloud,\nthose network issues might not be visible, or they might appear as vertical\nbands across all keys in Key Visualizer, which only gives you hints about\n*when* the problems occurred. If you can't identify the cause of a performance\nissue by looking at your Key Visualizer scans, you'll need to do additional\ntroubleshooting.\n\nKey Visualizer scans\n--------------------\n\nThe following image shows a Key Visualizer scan. Each scan includes a few\ndifferent types of information:\n\n- A large [heatmap](#heatmaps), which shows access patterns for a group of row keys over time.\n- [Aggregate values](#aggregate-values) along each axis of the heatmap, including average values and either total or maximum values.\n\nKey Visualizer also provides tools to help you understand the data in each scan.\nIf you haven't used Key Visualizer before, see [Getting Started with Key\nVisualizer](/bigtable/docs/keyvis-getting-started) for instructions. If you're a more\nexperienced user, see [Exploring Heatmaps](/bigtable/docs/keyvis-exploring-heatmaps) for\ndetails.\n\nHeatmaps\n--------\n\nThe core of a Key Visualizer scan is the heatmap, which shows the value of a\nmetric over time, broken down into contiguous ranges of row keys. The x-axis of\nthe heatmap represents time, and the y-axis represents row keys. If the metric\nhad a low value for a group of row keys at a point in time, the metric is\n\"cold,\" and it appears in a dark color. A high value is \"hot,\" and it appears in\na bright color; the highest values appear in white.\n\nDifferent types of usage result in different visual patterns within the heatmap,\nwhich can make it possible to diagnose issues at a glance. See [Heatmap\nPatterns](/bigtable/docs/keyvis-patterns) for examples of some common patterns.\n\nBy default, a Key Visualizer heatmap shows the **Ops** metric, which represents\nthe combined number of reads and writes. You can switch to the heatmap for a\ndifferent metric at any time. See [Switching metrics](/bigtable/docs/keyvis-exploring-heatmaps#switching-metrics)\nfor details.\n\nYou can also [view more than one metric at a time](/bigtable/docs/keyvis-exploring-heatmaps#finding-connections),\nwhich can help you find connections between different metrics.\n\n### Hierarchical row keys\n\n\nRow keys are often composed of a hierarchy of values, with each value separated by a delimiter. For\nexample, the row key `memusage#1423523569918` contains an identifier for all rows that\ncapture memory usage, followed by a timestamp that identifies a specific set of data within that\ngroup.\n\nKey Visualizer automatically recognizes this type of row key and breaks it down\ninto a hierarchy of tabs, as shown on the left side of the example above. This\nfeature helps you understand how your data and access patterns are distributed\nacross the table's rows. It also enables you to drill down into the data for\nspecific ranges of row keys more quickly.\n\nIf your row keys are not composed of multiple values, Key Visualizer still\ndisplays tabs on the left side of the scan, but the tabs might split up your row\nkeys in unexpected ways rather than presenting a clear hierarchy.\n\n### Key buckets\n\n\nA Bigtable table can have trillions of rows, so it's not always practical to report\nmetrics for each individual row. Instead, Key Visualizer divides all of the row keys into 1,000\ncontiguous ranges, with roughly the same number of row keys in each range. These ranges are known\nas *key buckets*.\n\n\nKey Visualizer reports most metrics as averages over each key bucket, or as maximum values within\neach key bucket. For [**Warnings** metrics](/bigtable/docs/keyvis-metrics#warnings)\nand [**Performance** metrics](/bigtable/docs/keyvis-metrics#performance), Key\nVisualizer provides higher precision by reporting metrics for individual row keys or for specific\nkey ranges within the key bucket.\n\n\u003cbr /\u003e\n\nBehind the scenes, Key Visualizer generates new scan data every 15 minutes. In\norder to be able to concatenate data in contiguous time periods, Key Visualizer\ntries to keep the same key buckets as the previous 15-minute period. It is also\npossible that keys that are deleted still show up as bucket boundaries. Because\ntables change over time as data is added and removed, key buckets are\nsometimes recalculated so that they are balanced.\n| **Note:** If the keys in the table change rapidly, expect to see many bucket boundaries. This effect may go away over time as the key space grows in size.\n\nKey Visualizer also generates a new set of key buckets every two weeks, even if\nthe table has not changed a lot, just to remove any residual bucket boundaries\nfrom deleted keys. As a result, even if your table is stable, you will notice\nthat your key buckets are updated occasionally.\n\nAggregate values\n----------------\n\nIn addition to the heatmap, a Key Visualizer scan includes aggregate values in\nbar charts along the bottom and right sides of the heatmap. When you hover over\nthe aggregate values, Key Visualizer highlights a narrow area in the heatmap and\nshows the following information:\n\n- For the x-axis, Key Visualizer shows the average value for the current metric, along with either the total or maximum value. These values appear for all of the visible key ranges in 15-minute intervals.\n- For the y-axis, Key Visualizer shows the average value for the current metric across the visible time range, broken down into key ranges.\n\nLimits\n------\n\n### Minimum table size for scans\n\n\nKey Visualizer is available for tables that contain at least 1 GB of data per cluster. It can\ntake up to an hour after a table reaches that size for scans to be available.\n\n\u003cbr /\u003e\n\n### Time spans\n\n- **Minimum**: The shortest time span you can view in Key Visualizer is 15 minutes.\n- **Maximum**: The longest time span you can view is 14 days.\n- **Increment size**: Key Visualizer data is available in 15-minute increments.\n\n### Data duration\n\nKey Visualizer data is available for the last 14 days. For example, if you\nlaunch Key Visualizer on December 19 at 12:45 PM, the earliest start time you\ncan choose for a time span is December 5 at 12:45 PM.\n\nThis limit also means that if you bookmark or share the URL for a Key Visualizer\nscan, the URL has a maximum life of 14 days.\n\nWhat's next\n-----------\n\n- Learn how to [get started with Key Visualizer](/bigtable/docs/keyvis-getting-started).\n- Understand the [patterns you might see in Key Visualizer\n heatmaps](/bigtable/docs/keyvis-patterns).\n- Find out how to [explore a heatmap in detail](/bigtable/docs/keyvis-exploring-heatmaps).\n- Read about the [metrics you can view in a heatmap](/bigtable/docs/keyvis-metrics).\n- Watch a video about how [Twitter used Key Visualizer](https://youtu.be/3QHGhnHx5HQ) to design its Bigtable schema."]]