写点什么

数据湖火了,那数据仓库怎么办?

冯垚

2020 年 10 月 27 日

数据湖火了,那数据仓库怎么办?

未来,人类将面临着三大问题:

生物本身就是算法,生命是不断处理数据的过程;

意识与智能的分离;

拥有大数据积累的外部环境将比我们自己更了解自己;


这是《未来简史》中提出的三个革命性观点。一本书短短百页,让我们看到了世界颠覆性的变化,从计算机,到互联网,再到大数据、人工智能,所有的变化都在以一种肉眼可观却又无法捕捉的状态悄然发生着,而推动变化发生的背后,则是数据价值的提升。


如果把数据比喻成”油田”,要想充分挖掘其价值,首先需要将数据进行“开采 / 储存”即数据的收集储存,其次进行“精炼”即数据的挖掘和分析,最终实现数据创造更多价值。以如今常见的电商为例:电商企业通过收集用户的相关数据,再利用数据分析技术,对用户的偏好进行分析,而后进行相关商品推荐,从而提高用户的购买效率;此外电商企业还可建立预测模型,针对特定人群进行预测,在不同阶段适时调整销售方式,提高用户对产品的满意度,从而提高销售额。


原先,企业通常依靠昂贵且私有的本地数据仓库解决方案来存储和分析数据,由于模型范式的要求,底层数据无法做到多样变化,导致企业业务不能随意变迁。同时随着互联网 / 移动互联网的爆发,数据量从 TB 到 PB 到 EB 级,数据类型更是涵盖结构化数据、非结构化数据、半结构化数据,并且用户对地域性、及时性的要求愈发苛刻,使得传统的数据仓库方案需要更新。


如今,有了云端,高弹性和可扩展的计算与存储,使得数据的储存与分析更容易解决,可以说云端数据解决方案已经成为大势所趋。一方面,分布式架构与开源体系,可以适应当下快速的数据变化。另一方面可集成更多新技术服务,比如与机器学习结合,实现更多预测性分析。而分布式储存、多种文件格式、多种引擎和元数据服务,这也逐渐形成了数据湖的基础。



AWS 数据湖的技术革新之路


数据湖的概念最早在 2006 年提出,其主要概念是将数据湖定义为一个中心数据存储的容器。数据可以很轻松进入数据湖,它可以存储结构化、非结构化和半结构化的数据,并支持数据量的快速缩放,灵活地适应上层数据应用的变化,最终实现海量数据的存储和查询分析。


而真正将数据湖概念推而广之的便是 AWS(Amazon Web Services )。AWS 很早便开始推动有关数据湖的技术演进,2009 年 AWS 推出了 Amazon Elastic MapReduce(EMR)数据湖架构,以跨 EC2 实例集群自动配置 HDFS;2012 年又继续推出了云端 MPP 架构的数据仓库云服务 Amazon Redshift;随后 AWS 逐渐将数据湖核心转向 Amazon S3。



随着大数据技术的发展,计算能力成为关键,实现计算和存储的分离,所带来的弹性扩展和成本优势逐渐显现。而 云服务天生具有存储和计算分离的特性,AWS 的云优势慢慢凸显。最终 AWS 数据湖将大数据和云计算结合在一起,形成了一个存储和多个引擎 / 服务的经典数据湖搭配。这里,我们将结合 AWS 整体的分析服务来向开发者们解释,AWS 是如何帮助开发者 / 企业构建数据湖环境,进而高效使用数据的。


快捷的数据查询引擎


在 AWS 上,Amazon S3 对象存储服务由于其高可用性、高持久性、可扩展性和数据格式兼容性等特点,成为了建设数据湖的首选。而 AWS 还提供了交互式查询方式可以直接查询 S3 中的数据,Amazon Athena 便是一种交互式查询服务。


它可以使用标准 SQL 分析 Amazon S3 中的数据,Athena 简单易用,只需指向开发者存储在 S3 中的数据,定义架构即可开始查询,它无需执行复杂的 ETL 作业来为数据分析做准备,开发者可以轻松实现分析大规模数据集。


如何解决元数据格式多样的问题?


由于数据湖可以按任何格式存储,因此无需将其转换为预先定义的数据结构,使用数据湖的主要挑战之一便是查找数据并了解数据结构和格式。AWS Glue 则可帮助开发者抽取、转换和加载数据,并可在不同数据存储之间可靠地移动数据。此外 Glue 作为一项完全托管服务,它会像“爬虫”一样对数据湖里的海量数据自动爬取,自动生成数据目录,该数据目录是所有数据资产的永久元数据存储。存入目录后,数据便可立即供 ETL 搜索、查询和使用。


值得一提的是,Athena 可与 AWS Glue 数据目录进行集成,实现开箱即用,帮助开发者能够跨各种服务创建统一的元数据存储库、抓取数据源以发现架构,并使用新的和修改后的表与分区定义填充数据目录,以及维护架构版本控制。


如何快速构建数据湖?


不难看出,数据湖是一个高效、快速的数据存储 / 分析理念,但同时它还具有相当高的复杂度。在设置和管理数据湖时,涉及大量极为耗时的复杂手动任务,包括加载不同来源的数据、监控数据流、设置分区、打开加密和管理密钥、定义转换作业并监控其操作、将数据重新组织成列格式等。


面对解决此类难题,开发者可使用 AWS Lake Formation 服务,它简化了数据湖的创建和管理工作,缩短了数据湖的构建时间,可在几天内实现建立安全的数据湖。而且可喜的是,就在 2020 年 10 月 25 日,AWS Lake Formation 已在由光环新网运营的 AWS 中国(北京)区域正式推出。


Lake Formation 建立在 AWS Glue 中可用的功能之上。开发者只需手动定义数据源,制定要应用的数据访问和安全策略。Lake Formation 会自动帮助开发者从数据库和对象存储中收集并按目录分类数据,再将数据移动到新的 Amazon S3 数据湖。最终,用户可通过选择不同的分析和机器学习服务,利用这些数据集实现多样化服务。


湖仓新模式:数据湖 + 数据仓库 =Lake House


综上所述,大数据的时代,开源技术体系的设计确实让云端产品或开源组件构成大数据整体解决方案逐渐兴起,比如数据湖,但并不代表着数据仓库会被淘汰,双方存在必要的联系。一方面,通过上云的方式,持续增强数据仓库的核心能力,将数据仓库实现现代化。另一方面,数据仓库和数据湖,是大数据架构的两种设计方式,两者功能可以相互补充,这意味着双方需要实现交互和共享数据。


为了实现湖仓的交互,在 2019 年 AWS re:Invent 大会上,AWS 提出了运行数据仓库和数据湖业务正在形成一种新的模式,即“Lake House”。AWS Lake House 中遵循“ ELT”范式(提取,加载,转换),当从本地数据仓库迁移到 Redshift 时,开发者可使用已有的针对 ELT 优化的 SQL 工作负载,无需从头开始将关系和复杂的 SQL 工作负载重写为新的计算框架。



Amazon Redshift 和 数据湖之间的无缝互操作性


AWS Lake House 模型中 Redshift 作为首选的转换引擎,实现了高效地加载、转换和扩充数据。Amazon Redshift Spectrum 是 Amazon Redshift 的一项功能, (提示:避免到 console 中搜索 spectrum)AWS 选择开发者熟悉的 SQL 语言,也旨在帮助更多开发者轻松实现查询数据。


不仅如此,新的 Redshift 还具有数据湖导出功能。该功能可将数据写回到数据湖中,目前支持 Apache Parquet、ORC、JSON 和 CSV 格式,以 Parquet 格式为例(一种用于分析的高效开放式列式存储格式),与传统文本格式相比,Parquet 格式的卸载速度最多快 2 倍,而在 S3 中占用的存储空间最多减少 6 倍。


此外,Redshift 的 RA3 实例类型允许开发者独立扩展 Redshift 数据存储和计算需求,帮助开发者以较低的价格来管理数据和工作负载的组合。并且 Redshift 可通过自动扩展额外的瞬态容量来处理并发查询并保持一致的性能,从而完成处理工作量高峰。


当数据在数据湖和 Redshift 之间开始顺畅移动,这种灵活性使开发者在存储数据时可以在成本和性能之间选择最佳的折中方案。当前已经有大量的企业和机构都开始采用 AWS 的数据湖和数据分析云服务。其中 FOX Corporation(FOX 公司)作为世界娱乐行业的巨头之一,每天需要面对大规模的提取、优化、转换和聚合多方来源的事务型事件,数据量达到十亿量级。Amazon Redshift 支撑了其数据仓库和数据湖中查询实时数据,见证了数据 PB 级的快速增长。同时帮助 FOX 公司在保持成本不变的情况下,工作负载提升了 10 倍。


在中国区域内,欣和作为一家大型食品生产企业,在多品牌、全方位的业务发展规划下,对大规模数据分析和处理提出了更高要求。而原先传统数据仓库系统和人才短缺又限制了欣和的进一步发展,为此欣和选择使用 AWS 云平台来搭建数据湖。AWS 数据湖的高稳定性和安全性,实现了欣和数据仓库的高可用和高可扩展,使欣和各业务系统间的底层数据相连通,并通过调用、分析,为企业业务发展提供强有力的支撑,帮助欣和真正实现数字化。


总结来看,选用 AWS Lake House 可帮助开发者实现以下目标:


  • 高效、低成本的数据存储

  • 独立可扩展的计算能力,能够进行大规模并行处理

  • 标准 SQL 转换

  • 并发扩展灵活地执行 SQL 查询


可见,随着产品集、架构模式的继续发展,数据湖与数据仓库的协同运行将会更加频繁,AWS 基于 Redshift Spectrum 提出的 Lake House 也将会在 AWS 数据湖架构中继续发挥关键作用。同时随着 Amazon Redshift 的更多服务在中国区域推出,AWS 更是希望吸引更多中国的大数据开发者,来了解 AWS 数据湖的解决方案,了解 AWS 。未来,AWS 坚信与传统的数据仓库和数据分析解决方案相比,湖仓新模式等云端方案将会为用户释放更大的数据价值。


2020 年 10 月 27 日 19:501638

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

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

哦!这该死的 C 语言

cxuan

c 后端

极客大学-架构师训练营

9527

神盾首创非对称联邦学习,深度保障数据隐私

小小的一朵云

大数据

区块链钱包app开发,去中心化多币种钱包搭建

WX13823153201

ARTS 打卡 (20.09.07-20.09.13)

小王同学

PB级大规模Elasticsearch集群运维与调优实践

小小的一朵云

大数据

鹰眼 | 分布式日志系统上云的架构和实践

小小的一朵云

大数据

将DevOps视为哲学——实施DevOps的绝佳方式

陈琦

DevOps 测试 开发 持续交付

前端 10 问之 Docker (第一篇)

局外人

Docker

oeasy教您玩转 linux 010213 中文 fcitx

o

数据结构与算法系列之数组

书旅

数据结构 算法 数组 数据结构与算法

创建spring boot starter

曾彪彪

Java spring Boot Starter

简述C语言宏定义的使用

C语言与CPP编程

c c++ 编程语言

Mysql学习笔记:InnoDB事务和ACID模型

马迪奥

MySQL innodb

从linux源码看epoll

无毁的湖光

Linux TCP Linux Kenel

ARTS打卡 第16周

引花眠

微服务 ARTS 打卡计划

你必须要了解的「架构」小历史

码农田小齐

spring Spring Cloud Spring Boot

java中实现List集合中对象元素按其属性的中文拼音排序

Shae

同城双活与异地多活架构分析

vivo互联网技术

架构 高可用 架构设计 高可用系统的架构

基于electron桌面级脚手架的设计

久违

前端 设计 全栈

想学习数据结构和算法,推荐给你 10 本优质书单

沉默王二

数据结构 算法 书单推荐

Spring 5 中文解析测试篇-Spring MVC测试框架

青年IT男

单元测试 Spring5

Elasticsearch索引容量管理实践

小小的一朵云

大数据

ASP.NET Core 性能优化最佳实践

newbe36524

微服务 性能优化 .net core ASP.NET Core

图计算黑科技:打开中文词嵌入训练实践新模式

小小的一朵云

大数据

看动画学算法之:排序-快速排序

程序那些事

排序 快速排序 数据结构和算法 看动画学算法

Docker映射详解,没问题了!

程序员的时光

Docker

为什么互联网巨头们纷纷使用Git而放弃SVN?(内含Git核心命令与原理总结)

冰河

git 冰河 代码管理 代码仓库 分支合并

程序的机器级表示-异构的数据结构

引花眠

计算机基础

链表中移除重复节点,保罗·格雷厄姆的传奇博客,Mac三指拖动操作,大数据平台 John 易筋 ARTS 打卡 Week 17

John(易筋)

ARTS 打卡计划 大数据平台 链表移除相同节点 保罗格雷厄姆 mac三指操作设置

CountDownLatch 瞬间炸裂!同基于 AQS,凭什么 CyclicBarrier 可以这么秀?

程序员小航

Java 源码 AQS 源码阅读 CyclicBarrier

飞猪Flutter技术演进及业务改造的实践与思考

飞猪Flutter技术演进及业务改造的实践与思考

数据湖火了,那数据仓库怎么办?-InfoQ