写点什么

利用 Amazon Redshift 构建新一代数据分析 BI 系统

  • 2019-11-18
  • 本文字数:3426 字

    阅读完需:约 11 分钟

利用Amazon Redshift构建新一代数据分析BI系统

本文主要介绍了 Amazon Redshift 新一代企业级云平台数据仓库服务,并结合实际的客户使用案例与场景描述了如何基于 Amazon Redshift 构建高可靠,性能优化,并且成本节约的数据仓库系统。因为 Amazon Redshift 优异的计算效率与性能,基于 Amazon Redshift 的 BI 系统被广泛地应用于互联网数据分析类场景,例如电商中产品维度报表的计算生成,社交类应用中用户画像计算与分析,或者用于替代传统的数据仓库的解决方案。


Amazon Redshift 是性能优异并且完全托管的 PB 级别数据仓库服务。Amazon Redshift 提供了标准 SQL 数据库访问接口,并且可以十分方便地与现有的主流商业智能数据分析工具整合,构建企业级数据仓库。

Amazon Redshift 高性能硬件架构

Amazon Redshift 底层硬件是基于高度定制化的高性能硬件节点,整个集群是由头节点(leader node,又称领导节点)与计算节点(compute node)的架构组成,如图 1 所示。其中,头节点负责与所有的客户端程序(标准 SQL 兼容的客户端,或者通过 JDBC/ODBC 访问的客户端应用)进行通信,并把对应的 SQL 命令进行编译后分发给底层的计算节点。同时,头节点还负责存储所有的数据仓库元数据(metadata)。需要注意的是,所有的计算节点同时也是存储节点(单个节点最大支持 2TB 的存储量)。每个计算节点上配置有定制化的高性能 CPU、内存及直接连接硬盘的存储介质。当用户数据仓库的数据量增加的时候,可以通过动态地增加计算节点的数目,以及升级对应计算节点的硬件配置提升集群的存储容量与计算能力。同时,节点与节点的通信是基于 AWS 定制化的高速内网带宽,减少了因为数据传输带来的时延,提高了计算效率。



图 1 Amazon Redshift 架构示意图


目前,Amazon Redshift 主要支持两大类计算节点类型——DS1/DS2 与 DC1。其中 DS 类型节点是为大数据量的工作复杂优化而设计,而且 DS2 是 DS1 的硬件升级版本。DC1 主要应用于数据计算要求相对更高但是数据总量相对较小的场景。


从应用的角度结合上述架构看,Amazon Redshift 的头节点负责基本的 SQL 编译,查询计划的优化,以及数据仓库原数据的存储。所有的用户数据会以列式存储的方式存放与计算节点之上。因为大部分数据仓库的应用计算围绕于具体的属性列做查询筛选,所以列式存储的计算方式大大提高了数据仓库的计算效率。同时,以 MPP 的架构组织数据为例,Amazon Redshift 也从表设计的角度为用户提供了数据在计算节点的存放方式,用户可以根据具体的 SQL 表中的键值做分布式存放,或者对某些常用维度表做所有计算节点的全分布存放,从而大大减少数据在节点之间的传输,以提高整体的计算效率。从图 1 还可以看到,计算节点以 MPP 的方式并行的从 Amazon S3、Amazon DynamoDB、SSH 及 Amazon EMR 并发的实现数据快速加载。另外,Amazon Redshift 的整体设计实现了数据的多份冗余存放(对用户使用量透明)——计算节点之间冗余存放,同时定期对数据以增量快照的方式存放于高持久度的 Amazon S3 之上。

基于 Amazon Redshift 的 BI 大数据分析架构

Amazon Redshift 针对数据仓库提供了优异的计算与存储效率,利用 Amazon Redshift 托管服务可以十分方便地构建智能数据仓库系统。同时,因为 AWS 云计算平台提供了一整套完整的数据分析套件与工具,利用这些组件与 Amazon Redshift 相结合,可以十分轻松地实现性能优化、成本经济、可靠性强、安全度高的大数据分析架构。图 2 为一个典型的数据分析平台的基础数据架构。



图 2 基于 AWS 数据分析组件的数据架构


图 2 中的架构是基于 AWS 的典型的实时与批量叠加的大数据分析架构。其中 Amazon Kinesis 是托管的高速实时流分析服务,可以从前端的应用服务器(例如 Web 服务器)或者移动的客户端(手机等移动设备或者 IoT 设备)直接注入流式数据,数据可以通过 EMR 进行流式处理和计算(例如基于 Spark Stream 的 EMR 计算框架),并将数据存储于 Amazon DynamoDB 或者对象存储 S3 之上。其中,Amazon DynamoDB 是托管的高性能 NoSQL 数据库,可以承载 100TB 数据量级别而响应时间低于 10 毫秒。S3 作为高可靠(11 个 9 的持久度)的对象存储,在大量的 AWS 应用场景中,被作为典型的数据湖(data lake)的应用。利用 Amazon EMR 对 S3 上的原始数据进行基本的 ETL 或者结构化操作之后,可以直接从 S3 以 SQL 的“copy”命令复制到 Amazon Redshift 数据仓库中进行 SQL 的维度计算。另外,可以利用 AWS 集成的 BI 分析工具(Quick Sight)或者已有的商业套件直接实现对 Amazon Redshift 上的数据进行分析与展示。


在实际的业务场景中,数据库的来源包含 Amazon DynamoDB 或者 Amazon RDS 这类业务数据库,以及用户活动日志或者行为日志等 Web 前端日志。这些数据需要以增量的方式汇聚于 AWS S3 及 ETL 之后进入到 Amazon Redshift 之中。常用的做法,可以利用 AWS 的 Data Pipeline 服务直接定义对应的原端数据源及对应的后端数据目标,自定义采集周期,一次性配置之后就可以直接进行数据通路的增量拷贝。

小红书电商基于 Amazon Redshift 的用户数据分析

小红书是新一代的社区电商,它将海外购物分享社区与跨境电商相结合,精准捕捉 85 后和 90 后的消费升级需求,迅速发展成为极具影响力的全球购物分享社区。目前小红书的注册用户数量已超过 1800 万,其中近 90%是女性、超过 50%是 90 后。作为新一代消费人群,这些用户有着共同的价值观,更注重感觉和体验,对优质商品和生活充满向往。“社区+电商”的模式推动了小红书的快速发展,在电商平台成立的半年内,其销售额就达到 7 亿人民币。


与小红书自身高速发展的业务模式一样,小红书的数据架构与数据分析团队也经历了从基本日志服务器脚本分析到目前利用 Amazon Redshift 作为数据仓库与数据分析核心工具的演化。图 3 是目前小红书数据分析的主要架构。



图 3 小红书数据架构示意图


NoSQL DB(主要是 MongoDB)小红书的业务数据库数据,其中的数据库业务日志通过 Fluentd 的流式客户端经过 Amazon Kinesis 的方式进入到 AWS 中国北京区域。之后,Amazon Kinesis 的流式数据会写入 S3 作为整个原始数据存储。当然,Amazon S3 还会作为数据湖汇聚其他的前段 web 服务器的日志,或者其他的数据来源。其中,构建于 AmazonEMR 的 Spark 集群对 S3 中的日志进行批量和实时的 ETL。之后,结构化的数据从 S3 通过并行的拷贝直接进入 Amazon Redshift 进行数据分析师与工程师的业务分析。整个数据分析链条与分析架构实现了端到端的实时分析。其中,数据通路上的各个组件,Amazon Kinesis、Amazon S3、Amazon EMR 与 Amazon Redshift 可以十分简单与方便地实现水平扩展以提高计算与处理能力。因为 S3 作为整个数据架构的数据湖,并且基于 S3 自身分布式无限制的容量大小的设计,小红书的架构系统可以十分方便的实现数据容量的夸张和升级。同时,因为 EMR 利用 EMRFS 实现了存储 S3(类似于传统的 Hadoop 集群的 HDFS)与计算(EMR 计算实例)的分离,从而从架构上解决了数据系统 ETL 弹性与增长的需求。小红书又利用 Amazon Kinesis 来实时地解析同步用户行为日志,并开发了销售实时监控系统。使用 AWS 使小红书在两个方面获益匪浅:其一是大幅度缩短了数据处理系统上线的时间;其二是改变了整个公司的业务模式。目前,小红书数据团队正在持续优化其数据处理架构,包括提供更直观的展示平台、提升处理速度等,同时包括 Spark 在内的离线计算系统也开始投入使用。目前,业务数据的增量以每个月 3~5TB 的存量增加,并且随着业务增加还有快速递增的趋势。

小红书的实际使用经验也已经被更多的电商用户及数据分析团队所采用。

综上所述,Amazon Redshift 作为一款 AWS 数据仓库的明星产品,因为其优异的计算性能(10 亿条记录 TPC-H 测试个位数秒级别)被越来越多的用户熟悉和使用,并且结合 Amazon 天然的高可扩展的云平台被广泛地应用于各个行业应用和数据分析中。


作者介绍



肖凌,AWS 解决方案架构师,负责基于 AWS 的云计算方案架构的咨询和设计,同时致力于 AWS 云服务在国内和全球的应用和推广,在大规模并发后台架构、跨境电商应用、社交媒体分享 、Hadoop 大数据架构以及数据仓库等方面有着广泛的设计和实践经验。在加入 AWS 之前曾长期从事移动端嵌入式系统开发,IBM 服务器开发工程师。并负责 IBM 亚太地区企业级高端存储产品支持团队,对基于企业存储应用的高可用存储架构和方案有深入的研究。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/amazon-redshift-bi/


2019-11-18 08:001743

评论

发布
暂无评论
发现更多内容

【YashanDB知识库】YCP高可用部署离线升级-rpc升级详细步骤

YashanDB

数据库 yashandb

【YashanDB知识库】如何处理yasql输入交互模式下单行字符总量超过限制4000字节

YashanDB

数据库 yashandb

2024,大模型杀进“决赛圈”

脑极体

AI

GEP全球供应链波动指数揭示关键趋势

财见

VMware Workstation 17.6.2 发布下载,现在完全免费无论个人还是商业用途

sysin

Workstation

如何制作管理架构图?10个架构图模板案例盘点!

职场工具箱

在线白板 绘图软件 效率软件 组织架构图 管理架构图

PIRF418:Complaining – Why Can’t People Just Be Real

Echo!!!

English

EMQX 可观测性最佳实践

观测云

物联网 emqx

【YashanDB知识库】YCP单机部署离线升级-rpc升级方式详细步骤

YashanDB

数据库 yashandb

【教程】第八章:知识库——学海无涯

NocoBase

开源 项目管理 教程 任务管理 知识库

从天谋科技研发到 IoTDB Committer,他的故事值得一听!

Apache IoTDB

VMware Fusion 13.6.2 发布下载,现在完全免费无论个人还是商业用途

sysin

fusion

高效项目管理的9款精选软件推荐

易成研发中心

跟着 Datathon 做医疗大数据临床科研,2天搞定一篇 SCI!

ModelWhale

人工智能 大数据 SCI 核心期刊

【活动预告】Pulsar 开发者 2024 大会,快来偶遇我们!

Apache IoTDB

腾讯云发布新一代数据智能平台,基于一体化、智能化、高性能、云原生理念打造

极客天地

华为云云原生中间件DCS & DMS 通过中国信通院与全球IPv6测试中心双重能力检测

YG科技

BOE(京东方)“向新2025”年终媒体智享会首站落地上海 六大维度创新开启产业发展新篇章

爱极客侠

适合多人协作的云盘工具推荐,8款值得尝试

易成研发中心

开源云原生数据仓库ByConity ELT 的测试体验

芯动大师

sql ByConity ByConity ELT

【YashanDB知识库】用yasldr配置Bulkload模式作单线程迁移300G的业务数据到分布式数据库,迁移任务频繁出错

YashanDB

数据库 yashandb

Lakehouse is ALL you need

StarRocks

LakeHouse

华为云软件开发生产线(CodeArts)11月新功能特性

YG科技

阿里Java权威面试指南:分布式+中间件+大数据与高并发+数据库+设计模式与实践+数据结构与算法+面试题举例!

程序员高级码农

Java 编程 程序员 java面试 Java面试题

Gemini 2.0 来了,这些 Voice Agent 开发者早已开始探索……

RTE开发者社区

利用Amazon Redshift构建新一代数据分析BI系统_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章