NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

利用 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:00906

评论

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

MacBook2023免费的系统电脑优化软件CleanMyMac

茶色酒

CleanMyMac CleanMyMac X CleanMyMac X2023

掌握分布式环境缓存更新策略,提高缓存与数据库双写一致性!

C++后台开发

数据库 redis 分布式 中间件 后端开发

开发小游戏的流程及难点汇总

Onegun

小程序 小程序容器 小游戏 小游戏开发

如何在Android安卓环境运行小程序游戏

Onegun

安卓 andiod 小游戏

英特尔着眼系统工艺协同优化理念,推进摩尔定律新浪潮

科技之家

聚焦人机交互智能应用领域,APISIX 在希沃网关的应用与实践

API7.ai 技术团队

api 网关 APISIX 用户案例

我们是如何追逐元宇宙、XR等“概念股”浪潮的?

阿里巴巴终端技术

3D渲染 3D vr

Karmada多云多集群生产实践专场圆满落幕

华为云开发者联盟

云原生 华为云 12 月 PK 榜

DHorse打包原理

tiandizhiguai

maven 打包工具 构建

开发小游戏都有哪些难点?

FinFish

小游戏 小游戏开发 小程序游戏 微信小游戏

企业级大数据平台智能运维好帮手——星环科技多模数据平台监控软件Aquila Insight

星环科技

数字孪生可视化技术打造未来智慧码头系统

2D3D前端可视化开发

物联网 智慧港口 数字孪生 智慧码头 5G智慧港口

软件测试丨基于Junit4,利用xUnit框架让你的测试用例可维护性大幅提升

测试人

软件测试 单元测试 自动化测试 测试框架 测试开发

服开与编排,老兵新传

鲸品堂

电信运营商 12 月 PK 榜

手动测试依然很重要

FunTester

2022年12月中国数据库排行榜:OceanBase立足创新登榜首,华为腾讯排名上升树雄心

墨天轮

数据库 opengauss TiDB oceanbase 国产数据库

瓴羊Quick BI 权限管理:构建高效企业数据分析运行管理体系

夏日星河

仅用5个小时纯Java版实现羊了个羊,来看源码吧,还送你108套皮肤

非喵鱼

Java swing 小游戏 羊了个羊

如何使用Towify在小程序中配置微信登录

Towify

微信小程序 编辑器 无代码

企业数字化转型关键路径:构建数据驱动的管控体系

元年技术洞察

数字化转型 数据驱动 方舟平台

小游戏开发者变现攻略

Onegun

小程序 超级app 小游戏

性能达1.5+倍!昇腾AI助力分子动力学模拟研究

华为云开发者联盟

人工智能 华为云 昇腾AI 12 月 PK 榜

小游戏流量变现瓶颈,新增长点是超级App?

FinFish

小游戏 小程序游戏 微信小游戏 小游戏引擎 流量变现

matic链佛萨奇系统开发源代码快速部署上线

开发微hkkf5566

自助取数、即席分析...瓴羊Quick BI助力企业数字化转型

对不起该用户已成仙‖

YMatrix 创始人姚延栋,获“最具发展潜力与创新影响力的创业者”称号

YMatrix 超融合数据库

创业 超融合数据库 YMatrix

如何在 towify 中使用组件切换器配置“点赞”功能?

Towify

微信小程序 编辑器 无代码

多样化数据看板,瓴羊Quick BI满足企业经营管理需求

对不起该用户已成仙‖

Guitar Pro2023吉他软件最新版本安装包下载

茶色酒

Guitar Pro Guitar Pro8

什么是BPM系统?BPM流程管理系统介绍

优秀

BPM 业务流程管理

GIithub/ipq4018/ipq4028/IPQ4019/IPQ4029/ipq4018/ipq4028/QSDK/wifi5 miniPIe/support openwrt

wallysSK

IPQ4019 ipq4029 IPQ4018 IPQ4028

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