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的读写情况和数据增长情况之类

        监控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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/901795.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

十五种光电器件综合对比——《器件手册--光电器件》

十五、光电器件 名称 原理 特点 应用 发光二极管(LED) 基于半导体材料的电致发光效应,当电流通过时,电子与空穴复合,释放出光子。 高效、节能、寿命长、响应速度快、体积小。 广泛用于指示灯、照明、显示&#…

Electricity Market Optimization(VI) - 机组组合模型以及 Gurobi 求解

本文参考链接:link \hspace{1.6em} 机组组合问题在电力系统中非常重要,这个问题也是一个优化问题,研究的就是如何调度现有的机组,调度的对象是以煤炭、石油、天然气为燃料的火力发电机以及水力发电机等可预测处理的发电机组&#…

linux多线(进)程编程——(8)多进程的冲突问题

前言 随着时间的推移,共享内存已经在修真界已经沦为禁术。因为使用这种方式沟通的两人往往会陷入到走火入魔的状态,思维扭曲。进程君父子见到这种情况,连忙开始专研起来,终于它们发现了共享内存存在的问题: 进程间冲…

网络层IP协议知识大梳理

全是通俗易懂的讲解,如果你本节之前的知识都掌握清楚,那就速速来看我的IP协议笔记吧~ 自己写自己的八股!让未来的自己看懂! (全文手敲,受益良多) 网路基础3 网路层 TCP并没有把数据发到网路…

数据结构与算法学习导航

目录 指导思想资料总结代码随想录hello-algoOI-WIKI 一名麻瓜的刷leetcode的简单概述。 在这里对过去的自己说: 如果你相信算法有用你就刷刷leetcode,如果不相信面试会让你相信。 当然,现在我确实认为算法和数据结构有用,leetcode也有用。 …

【网络安全】谁入侵了我的调制解调器?(二)

文章目录 针对 TR-069 协议 REST API 的攻击思路攻击百万台调制解调器意外发现 Cox 后端 API 的授权绕过漏洞确认我们能够进入任何人的设备访问和更新任何Cox商业客户账户通过泄露的加密密钥覆盖任何人的设备设置执行对任何调制解调器的命令影响最后想说阅读本文前,请先行浏览…

大模型在急性单纯性阑尾炎预测及治疗方案制定中的应用研究

目录 一、引言 1.1 研究背景与意义 1.2 研究目的 1.3 研究方法与创新点 二、急性单纯性阑尾炎概述 2.1 定义与发病机制 2.2 临床表现 2.3 传统诊断方法 三、大模型在急性单纯性阑尾炎预测中的应用 3.1 大模型简介 3.2 数据收集与处理 3.3 模型训练与优化 3.4 预测…

Linux 上安装和配置 VNC 远程桌面

在 Linux 上安装和配置 VNC(Virtual Network Computing)可以让你远程访问图形化桌面环境。以下是详细的安装和配置步骤,适用于主流 Linux 发行版(如 Ubuntu、CentOS、Debian 等)。 1. 安装 VNC 服务器 Ubuntu/Debian …

《AI大模型应知应会100篇》第22篇:系统提示词(System Prompt)设计与优化

第22篇:系统提示词(System Prompt)设计与优化 摘要 在大语言模型(LLM)应用中,系统提示词(System Prompt)是控制模型行为的核心工具之一。它不仅定义了模型的身份、角色和行为规范,还直接影响输…

其他网页正常进入,但是CSDN进入之后排版混乱

显示不正常,排版混乱 解决方法: ①打开网络设置 ②更改适配器 ③所连接的网络 --右键 属性 然后就可以正常访问了。

Qwen2.5-VL视觉大语言模型复现过程,没碰到什么坑

视频讲解:Qwen2.5-VL视觉大语言模型复现过程,没碰到什么坑_哔哩哔哩_bilibili Qwen2.5-VL视觉大语言模型复现过程,没碰到什么坑 今天复现下Qwen2.5-VL玩玩 https://github.com/QwenLM/Qwen2.5-VL 创建conda环境,实测22.04&#x…

宫庭海:跨界融合与家国情怀的影视开拓者

从音乐经纪人到影视多面手的创业之路 近日,国内娱乐产业领军人物、著名音乐经纪人、制片人、影视投资人宫庭海先生再次受到广泛关注。凭借其卓越的成就和贡献,宫庭海先生在业界树立了良好的口碑和广泛的影响力。 宫庭海, 辽宁省大连市人&…

LeetCode算法题(Go语言实现)_51

题目 给你两个下标从 0 开始的整数数组 nums1 和 nums2 ,两者长度都是 n ,再给你一个正整数 k 。你必须从 nums1 中选一个长度为 k 的 子序列 对应的下标。 对于选择的下标 i0 ,i1 ,…, ik - 1 ,你的 分数 …

并查集(力扣2316)

这种涉及不同连通分量的,看上去就可以用并查集。并查集的模板请参见上一篇内容。并查集(力扣1971)-CSDN博客 现在我们要求的是无法互相到达的点对。根据观察易得,我们只需要求出每个并查集的元素数量,然后遍历每个点&…

Python在生成艺术中的创新应用

Python在生成艺术中的创新应用 在数字艺术的浪潮中,Python以其强大的库支持和简洁的语法,成为了生成艺术领域的一颗璀璨明珠。今天,就让我们一起踏上这段充满创意与惊喜的旅程,探索Python如何在生成艺术中大放异彩。 一、引言 生成艺术,是一种通过算法自动生成艺术作品的…

ROS ROS2 机器人深度相机激光雷达多传感器标定工具箱入门教程(一)

系列文章目录 目录 系列文章目录 前言 一、安装 1.1 ROS 2 官方软件包 二、教程 2.1 标定配置器 2.1.1 机器人选项 2.1.2.1 外参相机-激光雷达标定 2.1.2.2 外参激光雷达-激光雷达标定 2.1.2.3 外参相机参照标定 2.1.2.4 外参激光雷达-参考标定 2.2 外参照相机-激…

Ubuntu利用docker搭建Java相关环境问题记录

Docker拉取镜像超时 报错 Unable to find image dpanel/dpanel:latest locally docker: Error response from daemon: Get "https://registry-1.docker.io/v2/ ": context deadline exceeded (Client.Timeout exceeded while awaiting headers)解决方式 在etc/do…

list的模拟实现和反向迭代器的底层

1&#xff1a;list的模拟实现 1&#xff1a;链表的节点 对于list的模拟实现&#xff0c;我们需要先定义一个节点的类可以使用&#xff08;class也可以使用struct&#xff09; // List的节点类 template<class T> struct ListNode {ListNode(const T& val T()){_p…

数据加载与保存

通用方式‌ SparkSQL提供了通用的数据加载方式&#xff0c;使用spark.read.loa方法&#xff0c;并可通过format指定数据类型&#xff08;如csv、jdbc、json、orc、parquet、textFile&#xff09;。 load方法后需传入数据路径&#xff08;针对csv、jdbc、json、orc、parquet、…

7 编译型语言、解释型语言与混合型语言的深度解析:以 C、Java、Python 为例

在编程领域&#xff0c;语言的执行方式是其设计哲学的核心体现&#xff0c;直接影响着性能、可移植性和开发效率。本文将深入剖析编译型语言&#xff08;以 C 语言为例&#xff09;、解释型语言&#xff08;以 Python 为例&#xff09;和混合型语言&#xff08;以 Java 为例&am…