当前位置: 首页 > news >正文

AWS Redshift的使用场景及一些常见问题

Redshift 不是关系型数据库, 提供了Amazon Redshift Serverless 和 Amazon Redshift 都是构建于 Redshift 数仓引擎之上的,但它们适用的场景不同。Redshift和Dynamodb都可以存储数据, 分别怎么选择? 这里记录一些常见的问题和场景。

1. 如何选择用Amazon Redshift Serverless 和 Amazon Redshift?

Amazon Redshift Serverless:无需管理集群,按需计费,弹性自动扩展。适合不确定负载或数据团队初期, 按照查询时使用的 RPU(Redshift Processing Unit)计费,适合不可预测的工作负载。

Amazon Redshift(传统集群):适合稳定、长期的大数据仓库,拥有持续负载、对成本控制更精细的团队, 按节点计费,可使用预留实例降低成本,适合固定工作负载, 按节点计费,可使用预留实例降低成本,适合固定工作负载。

维度Redshift ServerlessRedshift(集群)
部署管理无需管理节点,AWS 自动处理资源需要用户自己部署节点和集群
计费模式按查询消耗的“RPU”资源计费(弹性)按节点数+小时计费(固定)
适合场景负载波动大,查询不频繁;无需 DBA工作负载稳定,查询频繁,性价比高
启动速度快速(即开即用)有启动延迟,需要冷启动时间
弹性扩展自动,无需配置手动扩容或设置自动扩缩容
成本控制适合短时轻量查询,不用时不收费对长期高密度负载更划算

 

2. redshift设置了id为PRIMARY KEY,入库仍然有重复id,唯一键不生效,有没有其他方式可以设置数据行不重复.

        本身没有唯一主键约束(性能决定), 推荐:  ​编辑MERGE - Amazon Redshift
        (1)写入时判断然后merge

        (2)缓存到中间表, 再merge到目标表(因为received有一个有个SQL的语句叫merge,如果它发现有重复记录,它就会做update,如果它发现是新的记录没有重复的,它就直接append也就是insert),和关系型数据库不一样, 因为关系数据库,它本质上背后它是有个主键索引,而redshift没有索引,它偏向于分析型场景.

3. 表数据大查询慢,怎么优化, 支持索引吗? 支持的话,推荐使用哪种索引方式,如何设置,如果有数据删除的话,表的索引会自动更新吗?

        没有索引,更合适是sortkey这个功能, 推荐:  VACUUM - Amazon Redshift

        查看搜索键排序: select * from svv_table_info order by size desc;

        数据量小,性能要求高可以走集群 → 费用会增长,暂时不需要考虑切换

4. 多个进程同时往一个表里批量写数据,会导致数据丢失,或者表被锁之类的问题吗?

        没有行锁,只有表锁, 还是推荐缓存表再merge更快

5. redshift 可以创建关联表吗?可以创建视图吗?如何创建?

        视图和物化视图(预计算,可配置自动,手动,增量/全量等)都可以     ​编辑自动实体化视图 - Amazon Redshift

6. Serverless 的 Total used storage是怎么计算的, 比实际的数据大很多(实际数据2G的时候,显示58G, 实际数据大概20G,显示154.7 GB)

         Serverless 默认128个分片,每个分片有个最小容量,无法调整分片数量, 所以会自动伸展到合适的空间. 集群方式, 是可以根据业务量自定义分片数量的.

7. redshift和dynamodb性能和收费上都有什么区别?

      (1)  redshift - 数据分析

       (2) dynamodb - 业务存储(点查性能更好),更擅长更偏一个业务系统,本身是个KV,所以他更擅长做一些按照key来查询他的这个value的场景

8. redshift推荐的其他用法和优化点

        (1) 数据量增大,实时要求高(1-5分钟) - 流式传输

        (2) 多集群架构,多计算,单存储 ,一个写入,一个读取 - ​编辑Amazon Redshift 中的数据共享 - Amazon Redshift

                - AWS 账户和 AWS 区域之间共享数据。

9. 如何方便监控redshift的读写情况和数据增长情况之类

        (1) 监控RPU等等

10. 页面配置注意点

        可以设一个limit限制,可以设置最大容量,比如说64或者是32,那么它到了那个限制,它就不会往上扩了, 要是不设置, 那你的配置就是下限, limit可以根据数据量大小无上限扩展.

 11. 支持数据共享

        可以配置数据共享,某张表可以到表级别分享给你其他region的某一个redshift work group,他就可以直接看到直接看到, 且看到就是实时的表,跟你访问的数据是一模一样的,这个是可以配置的,甚至跨账号也是可以的.

参考链接:

MERGE - Amazon Redshift

VACUUM - Amazon Redshift

Amazon Redshift 中的实体化视图 - Amazon Redshift

自动查询重写以使用实体化视图 - Amazon Redshift

Amazon Redshift 中的数据共享 - Amazon Redshift

相关文章:

  • vue+flask+GNN+neo4j图书知识图谱推荐系统
  • 【SQL】COUNT... FILTER 的适用场景
  • 大模型在直肠癌诊疗全流程预测及应用研究报告
  • 已开源!CMU提出NavRL :基于强化学习的无人机自主导航和动态避障新方案
  • Threejs 奇幻几何体:边缘、线框、包围盒大冒险
  • 深入剖析 RocketMQ 中的 MappedFile 技术
  • 使用MCP服务通过自然语言操作数据库(vscode+cline版本)
  • [极客大挑战 2019]PHP 1
  • AI改变生活
  • 苍穹外卖day04
  • JPG同步删除RAW批处理文件
  • Vue ‘v-model‘ directives require the attribute value which is valid as LHS.
  • 八、自动化函数
  • 单基因高低分组和相关基因的GSEA等富集分析教程,代做分析
  • dev中使用auto的方法
  • AETTA: Label-Free Accuracy Estimation for Test-Time Adaptation
  • python编程-实现非确定性有限自动机
  • 正弦波有效值和平均值(学习笔记)
  • 探秘Transformer系列之(27)--- MQA GQA
  • 【一篇关于自我刷题的思考】
  • 最高法:“盗链”属于信息网络传播行为,构成侵犯著作权罪
  • 上海开展2025年“人民城市 文明风采”群众性主题活动
  • “两高”发布侵犯知产犯罪司法解释:降低部分犯罪入罪门槛
  • 中国专家组赴缅开展地震灾害评估工作
  • 封江晚开江早,东北地区主要江河上一冰封期冰层较常年偏薄
  • 大家聊中国式现代化|彭羽:为国家试制度探新路,推进高水平对外开放