文档

冷存储介绍

更新时间:

云原生多模数据库 Lindorm将容量型云存储作为冷存储介质,用于存储数据库中访问频率较低的历史数据(冷数据),从而降低存储成本。本文介绍容量型云存储的功能特性及性能测试结果。

功能特性

  • 存储成本低。

    存储成本仅为标准型云存储成本的20%。

  • 支持数据写入能力,并保证数据随时可读。

  • 使用简单。

    购买Lindorm实例时选择容量型云存储并选择存储空间,然后通过创建表格语句将冷数据存储至容量型云存储中即可。

  • 支持同一张表内的冷热分离功能。

    冷热分离功能可以自动将表中的热数据存储至读写速度更快的热存储中,将不常访问的历史数据存储至容量型云存储中,从而降低存储成本。如果您在业务上有冷热分离的需求,请参见冷热分离介绍

开通容量型云存储

如何开通容量型云存储,请参见开通容量型云存储

性能测试

测试环境:Master: ecs.c5.xlarge, 4core 8G;4个 RegionServer:ecs.c5.xlarge, 4core 8G。

写性能:

表类型

avg rt

p99 rt

热存储表

1736 us

4811 us

容量型云存储表

1748 us

5243 us

说明

每条记录10列,每列100 B,也就是单行1KB,16线程写。

随机查询Get性能:

表类型

avg rt

p99 rt

热存储表

1704 us

5923 us

容量型云存储表

14738 us

31519 us

说明

关闭表的BlockCache。每条记录10列,每列100 B,也就是单行1KB。8线程读,每次读出1KB。

范围查询Scan性能:

表类型

avg rt

p99 rt

热存储表

6222 us

20975 us

容量型云存储表

51134 us

115967 us

说明

关闭表的BlockCache。每条记录10列,每列100 B,也就是单行1KB。8线程读,每次读出1KB。Scan的Caching设置为30。

容量型云存储读取限流说明

容量型云存储目前仅适用于写多读少的场景。同时,容量型云存储对读取IOPS(Input/Output Operations Per Second)存在以下限制:

  • 每个实例的容量型云存储有一个Token(令牌)池,当监控中剩余可用Token数为0时,容量型云存储的读取将会被限速。此时系统仅提供一个最低保底的IOPS,每个节点仅提供保底10 IOPS能力。

    说明

    您可以通过云监控的系统指标 > 冷存读令牌可用比例(%)指标查看当前剩余Token百分比。

  • Token池中的Token会以一定速率积累,该速率取决于实例容量型云存储的实际容量,容量越大,积累速率越快。

  • Token池存在最大容量上限,积累满后可用Token数将不再继续增加。同时,该上限也取决于容量型云存储的实际容量,容量越大,上限越大。

  • 在Token池中还有存量的情况下,容量型云存储的IO读取行为不会受到限制,每次IO读取会消耗一个Token,单节点的最高IOPS为1500。

  • 上层数据引擎(例如宽表引擎、时序引擎等)对容量型云存储的访问,取决于数据引擎如何将读取请求转换为实际的IO请求。例如,一次请求命中了多个数据块因此产生了多次IO请求,或请求数据块位于缓存中因此不产生实际IO等情况。因此,无法简单地通过预估来确定上层多模引擎可以承担的读取请求QPS,建议根据Token池的消耗情况进行评估。

注意事项

  • 容量型云存储读IOPS的能力很低,因此只适用于低频查询的场景。

  • 容量型云存储和标准型存储在写入吞吐量上的差别不大,您可以放心写入数据。

  • 容量型云存储不适合并发大量读请求的场景,并发大量的读请求可能会导致请求异常。

  • 如果您购买的容量型云存储的存储空间较大,可根据实际业务情况调整读IOPS能力。如何调整,请联系技术支持

  • 每个节点管理冷数据的数据量不能超过30T。如果需要增加管理上限,请联系技术支持

  • 容量型云存储的使用占比超过95%后,将无法继续写入数据,请您在使用过程中及时关注容量型存储的使用情况。如何查看容量型存储的使用情况,请参见查看冷存储容量