在 SSD 和 HDD 存储设备之间选择
创建 Bigtable 实例时,您需要选择其集群是将数据存储在固态硬盘 (SSD) 还是普通硬盘 (HDD) 上:
- 对于大多数使用场景而言,SSD 存储设备是最有效且最具成本效益的选择。
- HDD 存储设备有时适用于对延迟不敏感或不常访问的大型数据集。
无论您选择哪种类型的存储设备,您的数据都是存储在跨多个物理硬盘的分布式复制文件系统上。
您可以借助本页面中提供的准则来在 SSD 和 HDD 之间做出选择。
如果不确定,请选择 SSD 存储空间
通常最好为 Bigtable 集群使用 SSD 存储空间,原因如下:
- 与 HDD 相比,SSD 速度要快得多,且其性能更容易掌控。 在 Bigtable 集群中,与 HDD 存储空间相比,SSD 存储空间的读取和写入延迟要低得多。
- HDD 吞吐量远比 SSD 吞吐量有限。在使用 HDD 存储空间的集群中,可以在 CPU 使用率达到 100% 之前达到最大吞吐量,您可以使用磁盘负载指标监控这种情况。若想提高吞吐量,您必须添加更多节点,但是额外节点所产生的费用可能超过使用 HDD 存储空间所省下的费用。SSD 存储设备就不存在这种限制,因为它会为每个节点提供更多吞吐量(通常,使用 SSD 存储设备的集群只有在它占用了全部可用 CPU 和内存时才能达到吞吐量上限。
- HDD 的单行读取速度十分缓慢。由于磁盘寻道时间的限制,HDD 存储空间支持的每秒读取行数仅为 SSD 存储空间的 5%。但是,大型多行扫描不会受到不利影响。
- 除非存储的数据量很大,否则 HDD 所节约的费用相对于 Bigtable 集群节点的成本费用而言微不足道。因此,一般的原则是,除非至少存储 10 TB 的数据,并且您的工作负载对延迟不敏感,否则不应考虑使用 HDD 存储设备。
SSD 存储设备的一个潜在缺点是,它会根据您存储的数据量需要更多的集群节点。但实际上,您可能需要这些额外的节点,不仅是为了支持您存储的数据量,更是为了让您的集群可以应对传入的流量。
HDD 存储设备使用场景
HDD 存储设备适用于满足以下条件的使用场景:
- 您希望存储至少 10 TB 的数据。
- 这些数据不会用于支持面向用户的应用或对延迟敏感的应用。
您的工作负载属于以下一种类别:
- 批处理工作负载:执行扫描和写入操作,且只是偶尔随机读取少量的行或进行点读取。
- 数据归档:写入大量数据但极少读取该数据。
例如,如果您打算存储大量遥感设备的庞大历史数据,然后使用这些数据生成每日报告,那么 HDD 存储设备所节约的成本可能说明性能此消彼长。另一方面,如果您打算使用这些数据来显示实时信息中心,可能就不适合使用 HDD 存储设备,因为这种情况下需要较为频繁地执行读取操作,并且对于非扫描的读取操作,HDD 存储空间的读取速度非常慢。
切换 SSD 和 HDD 存储空间
创建 Bigtable 实例时,一旦您为该实例选择了 SSD 或 HDD 存储空间,所做选择便无法更改。您无法使用 Google Cloud 控制台更改用于实例的存储空间类型。
如果要更改存储表的存储类型,请使用备份功能:
- 创建或计划使用所需的存储类型的实例。
- 创建表的备份。
- 使用备份恢复到另一个实例中的新表。