AWS Redshift 类型升级后物化视图丢失?

问题描述 及 错误信息:

我们将AWS Redshift集群从dc2升级到了ra3类型,而后居然发现所有的物化视图都消失了???

这是道德的沦丧还是人性的扭曲?

当然都不是,下面来看我们应该怎样排查吧~~

分析过程 及 解决方案:

思路1: 首先排查是不是我们自己删了MV呢?

复制代码
SELECT query_id,
       transaction_id,
       session_id,
       start_time,
       elapsed_time,
       queue_time,
       execution_time,
       returned_rows,
       returned_bytes
FROM sys_query_history
WHERE query_type = 'SELECT'
ORDER BY start_time DESC limit 10;

通过query_type来过滤查询类型,例如,SELECT、INSERT、UPDATE、UNLOAD COPY、COMMAND、DDL、UTILITY、CTAS 和 OTHER。

文档1https://docs.amazonaws.cn/redshift/latest/dg/SYS_QUERY_HISTORY.html

然后我们惊讶地发现,我们没删MV呀哈哈哈。

思路2:

接下来我们就继续查看,创建这些Materialized View的DDL, 然后惊喜地发现,创建MV的语句都有parameter BACKUP NO 这样的字样

文档2https://docs.amazonaws.cn/redshift/latest/dg/materialized-view-create-sql-command.html

根据文档2,BACKUP NO就意味着这些Materialized view,不会在Redshift备份中保留。以节省创建snapshot和 restore from snapshot的时间。

之后,我们通过查看CloudTrail记录,发现我们自己对dc2 - ra3的升级,是通过elastic resize的方式完成的:

CloudTrail中的记录如下:

复制代码
ResizeCluster 
.........

dc2.large

nodeType    ra3.xlplus
numberOfNodes   4

clusterStatus   resizing
clusterAvailabilityStatus   Modifying
masterUsername  admin
dBName  dev

Not classic

resizeType  ElasticResize

根据下面文档3,使用 ElasticResize方式的是偶,如果目标节点类型与现有节点类型不同(比如此案例中的dc2和ra3),那么Amazon Redshift 会先创建一个快照。然后,使用快照中的最新数据预置新的目标集群,并在后台将数据传输到新集群。

**文档3:**https://repost.aws/knowledge-center/redshift-elastic-resize

因此我们确定了,因为我们的所有Materialized View创建时都是BACKUP NO, 并且刚好是用了elastic resize方式将dc2集群升级到ra3类型,才导致了升级集群类型之后,MV的消失。

方案3: 在troubleshooting过程中,其实很多时候我们并不能很快锁定方案2里面涉及的这么多巧合的点。可能我们会考虑用snapshot恢复一个集群来进行模拟测试。

根据本案例的情况,用snapshot恢复其实也会发现这些MV都是丢失了的。那么此时再查询MV的DDL,以及文档中的定义,也是可以排查出原因的。

相关推荐
weixin_307779133 小时前
云计算大数据Azure服务分类详解
大数据·分类·自动化·云计算·azure
2601_958320573 小时前
【零基础新手入门 】OpenClaw 2.6.6 对接阿里云百炼配置教程(包含安装包)
人工智能·阿里云·云计算·open claw·小龙虾·open claw安装·open claw一键安装
byoass4 小时前
企业云盘高可用架构:主备切换、负载均衡与健康检查实战
运维·网络·安全·架构·云计算·负载均衡
2501_9272835815 小时前
荣联汇智助力天津艺虹打造“软硬一体”智慧工厂,全流程自动化引领印刷包装行业数智变革
大数据·运维·数据仓库·人工智能·低代码·自动化
OpenClawCSDN15 小时前
2026年怎么集成Hermes Agent/OpenClaw?阿里云搭建及token Plan配置攻略
阿里云·云计算
byoass19 小时前
企业云盘与设计软件深度集成:AutoCAD/Revit/SolidWorks插件开发与API集成实战
服务器·网络·数据库·安全·oracle·云计算
孤雪心殇21 小时前
快速上手数仓基础知识
数据仓库·hive·spark
OpenClawCSDN21 小时前
2026年5月阿里云怎么搭建OpenClaw/Hermes Agent?百炼token Plan配置详解教程
阿里云·云计算
snpgroupcn1 天前
通过退役17套SAP ECC历史系统,降低道达尔能源的SAP数据相关风险
云计算·数据迁移·sap ecc
渣渣盟1 天前
数据仓库 vs 数据湖 vs 湖仓一体:架构演进与选型
数据仓库·架构