在 SSD 和 HDD 存储设备之间选择

创建 Bigtable 实例时,您需要选择实例的集群是将数据存储在固态硬盘 (SSD) 还是普通硬盘 (HDD) 上:

  • 对于大多数使用场景而言,SSD 存储设备是最有效且最具成本效益的选择。
  • HDD 存储设备有时适用于对延迟不敏感或不常访问的大型数据集。

使用 SSD 存储空间的 Bigtable 实例支持分层存储预览版)。您可以在 SSD 集群中启用表级低频访问存储层,以便以最具成本效益的方式存储不常访问的数据。如需了解详情,请参阅分层存储概览

无论您选择哪种类型的存储设备,您的数据都是存储在跨多个物理硬盘的分布式复制文件系统上。

下表从分层存储的角度比较了 Bigtable 存储类型:

实例和层级 节点容量 预期延迟时间 运维 适用场景
SSD 实例、SSD 存储层级 5 TB 写入/读取:个位数毫秒 写入、读取、更新、删除 高写入/读取吞吐量和低延迟工作负载
SSD 实例,已启用分层存储 32 TB(最多 5 TB SSD)

写入:个位数毫秒

读取:低双位数毫秒

写入、读取、更新、删除 包含不常访问的数据的大型数据集
HDD 实例、HDD 层级 16 TB

写入:个位数毫秒

读取:低双位数毫秒

写入、读取、更新、删除 具有对延迟不敏感的工作负载的大型数据集

如需详细了解 Bigtable 存储类型的性能,请参阅了解性能

如果不确定,请选择 SSD 存储空间

通常最好为 Bigtable 集群使用 SSD 存储空间,原因如下:

  • 与 HDD 相比,SSD 速度要快得多,且其性能更容易掌控。 在 Bigtable 集群中,与 HDD 存储空间相比,SSD 存储空间的读取和写入延迟要低得多。
  • HDD 吞吐量远比 SSD 吞吐量有限。在使用 HDD 存储空间的集群中,可以在 CPU 使用率达到 100% 之前达到最大吞吐量,您可以使用磁盘负载指标监控这种情况。若想提高吞吐量,您必须添加更多节点,但是额外节点所产生的费用可能超过使用 HDD 存储空间所省下的费用。SSD 存储设备就不存在这种限制,因为它会为每个节点提供更多吞吐量(通常,使用 SSD 存储设备的集群只有在它占用了全部可用 CPU 和内存时才能达到吞吐量上限。
  • HDD 的单行读取速度十分缓慢。由于磁盘寻道时间的限制,HDD 存储空间支持的每秒读取行数仅为 SSD 存储空间的 5%。但是,大型多行扫描不会受到不利影响。
  • SSD 存储支持针对不经常访问的数据分层存储选项。

SSD 存储设备的一个潜在缺点是,它会根据您存储的数据量需要更多的集群节点。但实际上,您可能需要这些额外的节点,不仅是为了支持您存储的数据量,更是为了让您的集群可以应对传入的流量。

HDD 存储设备使用场景

HDD 存储设备适用于满足以下条件的使用场景:

  • 您的工作负载是写入密集型和数据驱动型。
  • 您的工作负载对延迟不敏感。
  • 您的数据不支持面向用户的应用。
  • 您的批处理工作负载主要包括扫描和写入操作,偶尔会随机读取少量的行或进行点读取。
  • 您不打算使用 Data Boost、分层存储或双倍节点伸缩

例如,如果您打算存储大量遥感设备的庞大历史数据,然后使用这些数据生成每日报告,那么 HDD 存储设备所节约的成本可能说明性能此消彼长。另一方面,如果您打算使用这些数据来显示实时信息中心,可能就不适合使用 HDD 存储设备,因为这种情况下需要较为频繁地执行读取操作,并且对于非扫描的读取操作,HDD 存储空间的读取速度非常慢。

切换 SSD 和 HDD 存储空间

创建 Bigtable 实例时,一旦您为该实例选择了 SSD 或 HDD 存储空间,所做选择便无法更改。您无法使用Google Cloud 控制台来更改用于实例的存储空间类型。

如果要更改存储表的存储类型,请使用备份功能

  1. 创建或计划使用所需的存储类型的实例。
  2. 创建表的备份。
  3. 使用备份恢复到另一个实例中的新表。

后续步骤