华为云GaussDB(for Influx)揭密第六期——数据分级存储

GaussDB 数据库 发表于 2022/04/21 17:51:49 2022/04/21
【摘要】 GaussDB(for Influx)通过冷热数据存储分离,在提供海量数据高性能存储的同时可节省85%的存储成本,高效满足时序应用各种场景。
“只存储这些数据一年就要花费200多万?”
 
面对老板的质疑,小王又重新讲解了一遍评估方案。为了支撑生产分析和系统运维,一个设备就需要几十个检测点数据,所有设备24小时不断采集数据,一天的数据量就会达到TB级,这些数据至少存储2年,再加上高可用的3副本,总的数据量会达到PB级。
 
小王又展示了当前云厂商存储价格和性能对比的调研结果:
不同存储其性能差异很大。例如NVME盘的吞吐量是SATA盘的7倍,IOPS超过了20倍,当然对应的成本也高出10倍左右。根据测试评估,低成本的存储性能无法满足大量数据的写入和实时业务的监控,只得使用性能高的SSD盘,因此导致存储的成本提高。
 
成本提高,老板自然不满意。那如何才能既满足性能需求,又能控制成本呢?小王想,“实际上,不是所有的数据处理都需要很高的性能,如果把价值高的数据放在高性能磁盘上满足业务需求,价值低的数据放在低成本磁盘上降低成本,这样不就既能满足需求,又能降低成本了么?”
 
不过,想法很美好,现实很残酷,要实现这个方案,小王面临着更多的难题:

(1)怎么在一套系统中既能使用高性能存储,又能使用低成本存储?
(2)怎么区分高价值数据?
(3)高价值数据变成低价值数据后怎么自动转储?
(4)当前业务改造量要尽量少。

01 GaussDB(for Influx)解决方案

企业的数字化转型,数据是基础。为了能实时掌握设备、系统状态,需要采集大量的数据并进行实时处理。这些数据都属于时序数据,带有明显的特点,如时间戳、更新少、数据源唯一等。除了数据本身的特点,在业务应用上还具有如下特点:
  • 随着时间的推移,其被查询和分析的概率越来越低。
  • 随着时间的推移,对数据分析的实时性要求越来越低。
  • 随着时间的推移,数据的精度要求越来越低。
  • 数据只保留一段时间,到期后会删除。

如何结合时序数据的特点,实现小王既满足业务性能,又控制成本的美好愿望呢?华为云GaussDB(for Influx)时序数据库的数据分级存储功能完美解决了困扰小王的问题。
1、华为云GaussDB(for Influx)依托云原生能力,实现了计算存储分离的分布式架构,其中存储基于华为分布式存储DFV和对象存储OBS,解决了在一套系统中既能使用高性能存储,又能使用低成本存储的问题,其具体架构如下图:
分布式DFV存储属于高性能存储,热数据放在DFV中确保业务性能要求;OBS存储属于低成本存储,冷数据存储在OBS中,降低客户成本。
2. 提供了冷热数据自动分离的方案,用户在创建保留策略时,可以指定冷热数据的划分时间,系统根据用户的指定,自动将数据分为热数据和冷数据,解决了数据如何划分的问题。
3. 随着时间的推移,热数据转冷,系统会自动将数据转储到冷存储上。
4. 上述过程中只有在创建RP时需要指定冷热数据策略。对于业务侧是不感知的,避免业务的适配和改造。

02 GaussDB(for Influx)冷热存储的使用

GaussDB(for Influx)存储分级功能使用十分方便,在购买冷存储后,设置RP策略时指定冷存储的时间即可,系统会根据RP策略,自动将冷数据转储到低成本存储上。业务在访问冷数据时,系统会自动去冷存储上读取,整个过程业务是不感知的,对业务无影响。
2.1 购买冷存储
GaussDB(for Influx)支持一键购买冷存储空间,可以在购买实例时选择是否够买冷存储,选择“是”,可以根据业务需求选择冷存储的大小,具体如下图:
也可以在购买实例后,独立购买冷存储。进入实例详情页面,点击创建冷存储空间,如下图:
跳转到如下页面,按照业务需求进行存储空间大小选择:
冷存储空也支持在线扩容,扩容过程中不影响业务。

2.2 设置冷数据规则

在购买了冷存储空间后,就可以按照业务需求设置冷数据的规则,系统会根据规则,自动划分冷热数据,并将冷数据存储在冷存储空间上。可以通过创建RP来指定冷热数据规则,具体示例如下:
//在db名为mydb上创建名为myrp的RP,显示指定WARM DURATION为6d,表示6天前的数据是冷数据。
create retention policy myrp on mydb duration 30d replication 1 warm duration 6d shard duration 3d

//在db名为mydb上创建名为myrp的RP,没有指定WARM DURATION,表示没有冷数据。
create retention policy myrp on mydb duration 30d replication 1 shard duration 3d

//创建名为mydb的db,并带有名为myrp的RP,显示指定WARM DURATION为3d,表示3天前的数据是冷数据。
create database mydb with duration 6d warm duration 3d name myrp

//修改WARM DURATION为7d,表示7天前的数据是冷数据。
alter retention policy myrp on mydb warm duration 7d
规则设置完成后,系统会根据指定的规则,自动判断哪些数据属于冷数据,并自动将数据转储到冷存储上。

2.3 使用效果验证

冷数据规则设置好,插入数据一段时间后,系统会自动判断数据是否转为冷数据,如果已经成为冷数据,系统会自动将数据转储到冷存储上。可以通过show shards命令来查看数据的状态,如下图所示:
> show shards
name: hsdb
id database retention_policy shard_group start_time           end_time             expiry_time          owners tier
-- -------- ---------------- ----------- ----------           --------             -----------          ------ ----
5  hsdb     myrp             2           2019-08-12T00:00:00Z 2019-08-19T00:00:00Z 2019-08-19T00:00:00Z 4      cold
6  hsdb     myrp             2           2019-08-12T00:00:00Z 2019-08-19T00:00:00Z 2019-08-19T00:00:00Z 5      moving
7  hsdb     myrp             2           2019-08-12T00:00:00Z 2019-08-19T00:00:00Z 2019-08-19T00:00:00Z 6      warm
8  hsdb     myrp             2           2019-08-12T00:00:00Z2019-08-19T00:00:00Z 2019-08-19T00:00:00Z 7     
cold:表示数据为冷数据,已存储在冷存储中;
moving:表示数据为冷数据,该数据正在转储到冷存储中;
warm:表示数据为热数据。

03 总结

在应用了GaussDB(for Influx)的冷热分级存储方案后,存储100T的数据量一年,按照1个月内的数据是热数据,其余是冷数据,其总体的存储成本从250万降至37.5万,可节省85%的存储成本。
GaussDB(for Influx)除了冷热分级存储功能外,在集群化、读写性能、压缩率、高可用方面也做了深度优化,能更好地满足时序应用的各种场景。

04 结束

本文作者:华为云数据库创新Lab & 华为云时空数据库团队
欢迎加入我们!
云数据库创新Lab(成都、北京)简历投递邮箱:xiangyu9@huawei.com
华为云时空数据库团队(西安、深圳)简历投递邮箱:yujiandong@huawei.com
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。