【AWS】什么是Amazon Redshift
Amazon Redshift 是一项由 Amazon Web Services (AWS) 提供的完全托管的 PB 级云数据仓库服务。它专为大规模数据分析而设计,能够以极高的速度和成本效益对大量结构化和半结构化数据进行复杂查询。
你可以把 Amazon Redshift 想象成一个**“超大型、超快速的分析型数据库”,它与传统的事务型数据库(如 Amazon RDS、Amazon Aurora)不同,Redshift 专注于联机分析处理 (OLAP)** 工作负载,而不是联机事务处理 (OLTP)。
Amazon Redshift 的核心特点和优势
Redshift 的设计目标是提供一个高性能、高可扩展、经济高效且易于管理的数据仓库解决方案。
大规模并行处理 (Massively Parallel Processing, MPP) 架构:
Redshift 采用 MPP 架构,这意味着它将数据和查询处理分布在多个计算节点上。每个节点都有自己的 CPU、内存和存储,并并行处理查询的各个部分。
这种架构使得 Redshift 能够对 SQL 操作进行并行和分布式处理,从而在处理大规模数据集时提供极快的查询性能。
列式存储 (Columnar Storage):
与传统关系数据库的行式存储不同,Redshift 采用列式存储。这意味着它按列而不是按行存储数据。
优势:
查询优化: 分析查询通常只涉及少数几列。列式存储只读取所需列的数据,大大减少了 I/O 操作量。
数据压缩: 同一列中的数据通常具有相似的数据类型和模式,这使得数据压缩效率更高,进一步减少了存储空间和 I/O。
完全托管:
AWS 负责所有底层数据仓库基础设施的管理和维护,包括硬件预置、软件安装、补丁管理、备份、数据复制、集群扩展和可用性管理。
你无需担心服务器、操作系统或数据库引擎的运维。
高性能和查询优化:
结果缓存: Redshift 使用结果缓存来加速重复查询,对于仪表板和 BI 工具等重复性查询,可以实现亚秒级响应。
机器学习驱动的优化: Redshift 利用机器学习来预测传入查询的运行时间,并将其分配到最佳队列以提高处理速度,例如将高并发的仪表板查询路由到快速队列。
自动表优化: 自动优化表的存储结构,包括列压缩、数据分布和排序键。
与数据湖集成 (Redshift Spectrum):
Redshift 可以直接查询存储在 Amazon S3 数据湖中的 EB 级(Exabyte 级别)数据,而无需先将数据加载到 Redshift 中。这使得你可以将结构化数据和非结构化数据结合起来进行分析。
经济高效:
相比传统的本地数据仓库解决方案,Redshift 的成本通常低一个数量级。
Redshift Serverless: 允许您访问和分析数据,而无需对预置数据仓库执行任何配置操作。系统会自动预置资源,数据仓库的容量会智能扩展,即使面对要求最为苛刻且不可预测的工作负载也能提供高速性能,并且您只需为实际使用的计算容量付费。
高可用性和耐久性:
Redshift 会自动并持续地将您的数据备份到 Amazon S3。
支持将快照异步复制到另一个区域进行灾难恢复。
具有容错机制,例如自动替换失败的节点。
标准 SQL 兼容性:
Redshift 基于 PostgreSQL,支持行业标准的 ODBC 和 JDBC 连接,这意味着你可以使用现有的商业智能 (BI) 工具和 SQL 客户端应用程序轻松连接和查询数据。
Amazon Redshift 的架构组件
一个典型的 Amazon Redshift 数据仓库由以下核心组件组成:
集群 (Cluster): Redshift 数据仓库的核心基础设施组件,由一个或多个计算节点组成。
领导节点 (Leader Node): 管理与客户端程序的通信以及与所有计算节点的通信。它分析和制定执行查询的计划,并将任务分配给计算节点。
计算节点 (Compute Nodes): 执行查询的实际工作。每个计算节点都有自己的专用 CPU、内存和连接的磁盘存储空间。
节点切片 (Node Slices): 每个计算节点被分成称为切片的单元。数据根据表的分配方式和分布键在切片之间分配,以实现并行处理。
Amazon Redshift 的典型用例
Redshift 广泛应用于各种需要大规模数据分析的场景:
商业智能 (BI) 和报告: 用于生成销售报告、客户行为分析、财务报告等,支持管理层决策。
大数据分析: 对来自各种来源(如 Web 日志、点击流、IoT 设备数据、CRM 数据)的 PB 级数据进行复杂分析。
运营分析: 实时监控应用程序性能、用户行为,并快速发现趋势和异常。
数据仓库现代化: 将传统的本地数据仓库迁移到云端,以降低成本、提高性能和可扩展性。
SaaS 分析: 为 SaaS 应用程序提供分析后端,帮助客户了解其产品使用情况。
机器学习 (ML) 数据准备: 作为 ML 模型训练数据的数据源,对数据进行预处理和特征工程。
总结
总结来说,Amazon Redshift 是一款高性能、全托管、PB 级的云数据仓库服务,它通过 MPP 架构、列式存储和多种优化技术,帮助企业快速、经济地从海量数据中获取洞察,是实现数据驱动型决策的关键工具。
过去考试题
オンライン分析処理に使用できるAWSサービスはどれですか?
Amazon Redshiftは、大量のデータを高速に分析するための完全マネージド型のペタバイト規模のデータウェアハウスサービスで、オンライン分析処理(OLAP)に使用されます。
一方、Amazon RDS、Amazon DynamoDB、およびAmazon ElastiCacheは、オンライントランザクション処理(OLTP)により適しています。