这对于 DBA 来说意味着什么?
Posted: Sun Jan 26, 2025 3:15 am
数据集成(“加载”):此类别包括将数据从外部数据源和系统移动到 Redshift 的应用程序。示例包括 Informatica、Stitch Data、Fivetran、Alooma 和 ETLeap。
工作流编排(“转换”):这些系统按照预定的时间表运行批处理作业。例如,一旦数据进入集群,您仍然需要过滤、清理、连接或聚合各种来源的数据。开源中这些工具的示例有 Apache Airflow、Pinball 或 Luigi。
分析(“临时”): 这些是用于数据科学、报告和可视化的应用程序。例如 Tableau、Jupyter 笔记本、Mode Analytics、Looker、Chartio、Periscope Data。临时查询可能会运行查询以提取数据以供下游使用,例如用于机器学习应用程序或数据 API。
现代数据团队的统一堆栈
获得个性化平台演示以及与解决方案工程师进行 30 分钟问答环节
公司电子邮件地址
这对于 DBA 来说意味着什么?
Amazon Redshift 架构被设计为“贪婪的”。查询将消耗它能获得的所有资源。为了保护工作负载不受彼此影响,Amazon Redshift 的最佳实践是设置 工作负载管理(“WLM”)。WLM 是一项关键的架构要求。设置 WLM 应该是顶级架构组件。我们还讨论了启用 自动 WLM的利弊。
组成集群的两种节点类型
“集群”是 Redshift 的核心基础架构组件,用于执行来自外部数据应用程序的工作负载。集群中有两个关键组件:
计算节点:一个集群至少包含一个“计算节点”,用于存储和处理数据。
领导节点:具有两个或更多计算节点的集群也有一个“领导节点”。领导节点负责协调计算节点之间的工作负载分配。一个集群只有一个领导节点。
根据我们的经验,大多数公司都运行多集群环境,也称为集群“舰队”。例如,在 intermix.io,我们运行着一个由 10 个集群组成的舰队。
这对于 DBA 来说意味着什么?
只需不到一小时即可轻松启动集群、输入数据并开始执行高级分析。这使得在设置新的 Amazon Redshift 集群时很容易跳过一些最佳实践。阅读更多内容,请参阅设置 Amazon Redshift 集群时 要避免的 3 件事
领导节点
领导节点有四个主要角色:
与数据应用程序通信:在集群上运行工作负载时,数据应用程序仅与领导节点交互。计算节点对外部数据应用程序是透明的。
工作负载分配:领导节点解析查询,制定执行计划,将 SQL 编译为 C++ 代码,然后将编译后的代码分发到计算节点。
查询结果缓存:在 Amazon Redshift 中执行查询时,查询和结果都会缓存在领导节点的内存中,跨同一数据库的不同用户会话。当查询或基础数据未发生更改时,领导节点会跳过分发到计算节点的过程并返回缓存结果,以缩短响应时间。
目录表的维护:系统目录存储架构元数据,例如有关表和列的信息。系统目录表具有 PG 前缀。仅引用目录表或不引用任何表的查询仅在领导节点上运行。
这对于 DBA 来说意味着什么?
在某些情况下,领导节点可能成为集群的瓶颈。模式是 COMMIT 队列统计信息的增加。例如,较大的节点具有更多元数据,这需要领导节点进行更多处理。您可以查询 STL_COMMIT_STATS 以确定事务的哪一部分用于提交以及发生了多少排队。
计算节点
计算节点以并行执行的方式处理所有查询处理(“大规模并行处理”,简称“MPP”)。
Amazon Redshift 提供两类节点:
密集计算节点配备固态磁盘驱动器(“SDD”),最适合性能密集型工作负载。
密集存储节点 配备硬盘驱动器(“HDD”),最适合大数据工作负载。
随着工作负载的增长,您可以通过增加节点数量、升级节点类型或两者来增加集群的计算和存储容量。
计算节点也是 Amazon Redshift 定价的基础。您可以从按小时按需使用开始。按需价格从每小时 0.25 美元(密集计算)到每小时 6.80 美元(密集存储)不等,3 年承诺可享受高达 69% 的折扣。
查询的执行速度很大程度上取决于 Redshift 访问和扫描分布在各个节点的数据的速度。最佳做法是通过定义分布键为您的数据选择正确的分布方式。
添加节点是增加更多处理能力 99 Acres 电话号码数据 的简单方法。它也是解决性能问题的简单方法——通过调整集群大小并添加更多节点。许多 Redshift 客户运行的是配置过高的集群。由于节点是定价的基础,因此随着时间的推移,节点数量会不断增加。而删除节点则是一个更困难的过程。但这也是降低 Redshift 成本的唯一方法。
Redshift Spectrum 架构
在某些情况下,将数据转移到 S3 可能是合理的。S3 存储的成本大约是 Redshift 计算节点的十分之一。借助Amazon Redshift Spectrum,您可以查询 Amazon S3 中的数据,而无需先将其加载到 Amazon Redshift 中。
图 2 显示了具有 Spectrum 和查询缓存的扩展架构。领导节点决定:
如果返回缓存结果
查询的哪一部分
在集群中本地运行
发送到 Amazon Redshift Spectrum
领导节点将 Spectrum 的相应步骤纳入查询计划。集群中的计算节点向 Amazon Redshift Spectrum 层发出多个请求。
工作流编排(“转换”):这些系统按照预定的时间表运行批处理作业。例如,一旦数据进入集群,您仍然需要过滤、清理、连接或聚合各种来源的数据。开源中这些工具的示例有 Apache Airflow、Pinball 或 Luigi。
分析(“临时”): 这些是用于数据科学、报告和可视化的应用程序。例如 Tableau、Jupyter 笔记本、Mode Analytics、Looker、Chartio、Periscope Data。临时查询可能会运行查询以提取数据以供下游使用,例如用于机器学习应用程序或数据 API。
现代数据团队的统一堆栈
获得个性化平台演示以及与解决方案工程师进行 30 分钟问答环节
公司电子邮件地址
这对于 DBA 来说意味着什么?
Amazon Redshift 架构被设计为“贪婪的”。查询将消耗它能获得的所有资源。为了保护工作负载不受彼此影响,Amazon Redshift 的最佳实践是设置 工作负载管理(“WLM”)。WLM 是一项关键的架构要求。设置 WLM 应该是顶级架构组件。我们还讨论了启用 自动 WLM的利弊。
组成集群的两种节点类型
“集群”是 Redshift 的核心基础架构组件,用于执行来自外部数据应用程序的工作负载。集群中有两个关键组件:
计算节点:一个集群至少包含一个“计算节点”,用于存储和处理数据。
领导节点:具有两个或更多计算节点的集群也有一个“领导节点”。领导节点负责协调计算节点之间的工作负载分配。一个集群只有一个领导节点。
根据我们的经验,大多数公司都运行多集群环境,也称为集群“舰队”。例如,在 intermix.io,我们运行着一个由 10 个集群组成的舰队。
这对于 DBA 来说意味着什么?
只需不到一小时即可轻松启动集群、输入数据并开始执行高级分析。这使得在设置新的 Amazon Redshift 集群时很容易跳过一些最佳实践。阅读更多内容,请参阅设置 Amazon Redshift 集群时 要避免的 3 件事
领导节点
领导节点有四个主要角色:
与数据应用程序通信:在集群上运行工作负载时,数据应用程序仅与领导节点交互。计算节点对外部数据应用程序是透明的。
工作负载分配:领导节点解析查询,制定执行计划,将 SQL 编译为 C++ 代码,然后将编译后的代码分发到计算节点。
查询结果缓存:在 Amazon Redshift 中执行查询时,查询和结果都会缓存在领导节点的内存中,跨同一数据库的不同用户会话。当查询或基础数据未发生更改时,领导节点会跳过分发到计算节点的过程并返回缓存结果,以缩短响应时间。
目录表的维护:系统目录存储架构元数据,例如有关表和列的信息。系统目录表具有 PG 前缀。仅引用目录表或不引用任何表的查询仅在领导节点上运行。
这对于 DBA 来说意味着什么?
在某些情况下,领导节点可能成为集群的瓶颈。模式是 COMMIT 队列统计信息的增加。例如,较大的节点具有更多元数据,这需要领导节点进行更多处理。您可以查询 STL_COMMIT_STATS 以确定事务的哪一部分用于提交以及发生了多少排队。
计算节点
计算节点以并行执行的方式处理所有查询处理(“大规模并行处理”,简称“MPP”)。
Amazon Redshift 提供两类节点:
密集计算节点配备固态磁盘驱动器(“SDD”),最适合性能密集型工作负载。
密集存储节点 配备硬盘驱动器(“HDD”),最适合大数据工作负载。
随着工作负载的增长,您可以通过增加节点数量、升级节点类型或两者来增加集群的计算和存储容量。
计算节点也是 Amazon Redshift 定价的基础。您可以从按小时按需使用开始。按需价格从每小时 0.25 美元(密集计算)到每小时 6.80 美元(密集存储)不等,3 年承诺可享受高达 69% 的折扣。
查询的执行速度很大程度上取决于 Redshift 访问和扫描分布在各个节点的数据的速度。最佳做法是通过定义分布键为您的数据选择正确的分布方式。
添加节点是增加更多处理能力 99 Acres 电话号码数据 的简单方法。它也是解决性能问题的简单方法——通过调整集群大小并添加更多节点。许多 Redshift 客户运行的是配置过高的集群。由于节点是定价的基础,因此随着时间的推移,节点数量会不断增加。而删除节点则是一个更困难的过程。但这也是降低 Redshift 成本的唯一方法。
Redshift Spectrum 架构
在某些情况下,将数据转移到 S3 可能是合理的。S3 存储的成本大约是 Redshift 计算节点的十分之一。借助Amazon Redshift Spectrum,您可以查询 Amazon S3 中的数据,而无需先将其加载到 Amazon Redshift 中。
图 2 显示了具有 Spectrum 和查询缓存的扩展架构。领导节点决定:
如果返回缓存结果
查询的哪一部分
在集群中本地运行
发送到 Amazon Redshift Spectrum
领导节点将 Spectrum 的相应步骤纳入查询计划。集群中的计算节点向 Amazon Redshift Spectrum 层发出多个请求。