更多精彩内容,欢迎观看:
《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(上)——三、产品相关概念(上):https://developer.aliyun.com/article/1223285?spm=a2c6h.12873581.technical-group.dArticle1223285.7f76b096Fuo2WN
4. 数据存储冷热分离
1) 冷热数据分层
AnalyticDB可以按表粒度、表的二级分区粒度独立选择冷、热存储介质,AnalyticDB数据写入时,数据会首先进入热空间SSD上,当热存储数据积累到一定程度或者用户指定的冷表策略时会自动调度后台的Build任务,把数据迁移到冷存储空间。
• 冷数据:指的是访问频次较低的数据,采用低价的HDD存储,满足存储空间的需求。
• 热数据:指的是访问频次较高的数据,采用SSD存储,满足高性能访问的需求。
可以执行CREATE TABLE语句指定表的冷热存储策略为:全热存储(数据全部存储在SSD)、全冷存储(数据全部存储在HDD)、冷热混合存储(指定一定数量的分区存储在SSD,其余数据存储在HDD)。
2) 冷热分层设计
在创建表时可以指定表的冷热数据存储:
• 全热表设置storage_prollcy=‘Hot’
• 全冷表设置storage_prollcy=‘Cold’
• 冷热混合表设置storage_prollcy=‘Mixed’,且要指定热分区的个数
冷热分层设计优点:
• 可以获取高性价比,完全按量付费。
• 冷热策略轻松定义:只需指定表的冷热策略即可享有冷热存储能力,无需额外购买资源。
• 冷热分区自动迁移:异步迁移,业务无感知,不影响读写。
• 查询和内外部接口统一,在离线一体化,数据强一致。
3) 冷热数据存储诊断表
AnalyticDB MySQL版弹性模式集群版(3.1.3.5及以上版本)支持数据的冷热分离存储,用户可以通过查表的方式,查询某一张表的冷热数据存储布局情况。
• 查询所有表的存储状态
select * from information schema.table usage |
• 查询单个表的存储状态
select * from information_schema.table_usage where table schema='$schema name' and table name='$table name' |
如下图,Table A中有两个分片,指定hot_partition_count为2,但实际显示的hot_partition_count大于用户定义的hot_partition_count。
参考table_usage表字段信息
https://help.aliyun.com/document_detail/189727.html
5. 物化视图
• 物化视图是数仓领域的核心特性之一。不同于逻辑视图(view),物化视图(materialized view)会持久化视图的查询结果。
• 物化视图可用于加速分析,并能简化ETL,适用于多种场景,例如报表类业务,大屏展示需求,来自BI工具的查询等等。
1) 创建物化视图的语法
CREATE MATERIALIZED VIEW <mv_name> [MV DEFINITION] [REFRESH COMPLETE [ON <DEMAND|OVERWRITE>] [STARTWITH date] [NEXT date]] AS <QUERY BODY>; |
示例
#指定列建立索引,默认全部列建立索引 CREATE MATERIALIZED VIEW myview(INDEX (name),PRIMARY KEY (id)) DISTRIBUTED BY HASH (id) AS SELECT id,name,age FROM base; #指定分区键和注释 CREATE MATERIALIZED VIEW c ( namevarchar(10), value double, KEY INDEX_ID(id) COMMENT 'id', CLUSTERED KEY INDEX(name,value), PRIMARY KEY(id) ) DISTRIBUTED BY hash(id) PARTITION BY value(date_format(dat,"%Y%m%d")) LIFECYCLE 30 COMMENT 'MATERIALIZED VIEW C' AS SELECT * FROM base; |
2) 物化视图客户案例
案例:生意参谋使用物化视图降低客户查询延迟时间。
• 生意参谋是阿里巴巴旗下为千万商家提供的一项重要产品服务,帮助商家及时分析店铺运营情况,尤其是在大促期间,面对突发的流量和海量的数据,数据分析尤为重要。
• 利用物化视图,可以大幅降低延迟时间。将每小时展示信息结果存储到物化视图中,每次查询只需要查询物化视图即可,平均每次查询时间降低至100毫秒。
6. 备份恢复
1) 备份恢复
• 数据按周全量备份、日志秒级实时备份
• 支持数据恢复到时间点
2) 只读/容灾实例(on-going)
• 只读/容灾实例
• 数据跨实例自动复制
3) 备份恢复与容灾
为确保数据误操作后,AnalyticDB MySQL版具备数据快速恢复的能力,集群创建成功后,AnalyticDB MySQL版会自动在后台开启数据备份功能,实现集群级别的数据备份。在AnalyticDB MySQL版控制台查看集群的备份集或修改备份设置。
4) 克隆集群
• 可以根据AnalyticDB MySQL版源集群的已有备份集克隆一个AnalyticDB MySQL版新集群。
• 在业务正式上线前,通常需要模拟一个和正式集群一样的环境进行测试(如压力测试),此时您可以根据源AnalyticDBMySQL版集群克隆一个新的AnalyticDB MySQL版集群,并在克隆集群上进行测试,从而既能确保测试的真实性,又不会影响正常业务的运行。