女朋友问小灰:什么是数据仓库?什么是数据湖?什么是智能湖仓?

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
日志服务 SLS,月写入数据量 50GB 1个月
简介: 首先,我们来讲一讲什么是数据库。作为程序员,我们写的大多数商业项目,往往都需要用到大量的数据。计算机的内存,可以实现数据的快速存储和访问。

640.png

640.png

640.png

640.png

640.png


首先,我们来讲一讲什么是数据库。


作为程序员,我们写的大多数商业项目,往往都需要用到大量的数据。计算机的内存,可以实现数据的快速存储和访问。


但是,内存的空间是有限的,也无法长期保存有用的数据。对于那些大量的,需要长期使用的数据,我们需要对它们进行持久的、规范化的存储,于是就有了数据库(DataBase)


640.png

市场上常用的数据库有很多种,包括像MySQL、Oracle这样的关系型数据库,也包括Redis,HBase这样的非关系型数据库。


无论是哪一种数据库,它们所存储的都是结构化数据,主要应用的领域是联机事务处理(OLTP),也就是我们程序员所熟悉的增删改查业务。

640.png


满足了业务需求,数据库当中的数据不断积累,变得越来越丰富。这时候人们发现,这些数据不但可以支撑业务的运行,也可以用于生成商业报表,进行数据分析,提供有价值的决策参考。这些数据分析和生成报表的处理操作,被称为
联机分析处理(OLAP)


但是,传统数据库擅长的是快速地对小规模数据进行增删改查,并不擅长大规模数据的快速读取。


于是,人们发明了一种全新的数据存储方式,并把原本分散在不同项目当中的业务数据进行抽取、清洗、转换、加载,最终汇总成为一系列面向主题的数据集合,按照全新的方式进行存储。


这种全新的存储方式,被称为数据仓库(Data Warehouse);把数据进行抽取、清洗、转换、加载的过程,被称为ETL(Extract Transform Load)


640.png

数据仓库当中存储的数据,同样是结构化数据。

640.png数据库用于业务处理,数据仓库用于数据分析,一时间大家都使用得十分愉快。


但是,随着大数据和机器学习技术的不断发展,人们发现不仅是结构化的数据具有分析价值,许多非结构化的数据,例如用户日志、电子邮件、PDF等等,同样具有可观的分析和学习价值。


这些五花八门的数据,如果统一按照ETL的方式进行加工处理,实在是不太现实,那么索性把它们按照原始格式汇总在一起吧。这样汇总起来的庞大集合,被存储在了数据湖(Data Lake)当中。


数据湖当中的数据可谓是包罗万象:


结构化的,有各种关系型数据库的行和列。


半结构化的,有JSON、XML、CSV。


非结构化的,有电子邮件、PDF、各种文档。


甚至还有杂七杂八的二进制文件,比如图片、视频、音频。

640.png


通过数据湖这个统一的数据管理节点,企业可以利用更加丰富多样的数据,为商业智能、机器学习等方向赋能。

640.png

640.png

在现实的企业项目当中,所需要的不只是统一存储的数据湖,也需要各种各样专门构建的存储方案,由此为特定应用场景提供必要的性能、规模与成本优势。


比如,我们仍然需要数据仓库,适合针对结构化数据通过复杂查询快速获取结果;我们需要Lucene或Elastic Search这样的全文检索引擎,从而实现快速搜索并分析日志数据,借此监控生产系统的运行状态。


通过这些多样的存储方案,我们可以高效低成本地进行数据分析、机器学习、大数据处理、日志分析等工作。

640.png

为了从数据湖及专门构建的存储中获取最大收益,企业希望在不同系统之间轻松移动数据。比如有些情况下,客户希望将数据湖当中的部分数据移至数据仓库、日志系统等节点。我们将这种情况,归纳为由内向外的数据移动操作。

640.png

还有些情况下,企业希望将业务数据从关系型数据库和非关系型数据库移动到数据湖内。我们将这种情况,归纳为由外向内的数据移动操作。

640.png

最后,企业还可能要求将数据在不同的专用数据存储方案之间往来移动,比如将数据仓库内的数据提供给机器学习系统。我们将这种情况,归纳为围绕边界的数据移动操作。

640.png

640.png

640.png

640.png

640.png

1.快速构建起可扩展的数据湖。


2.丰富而且功能强大的专门构建的数据服务集合,这些数据服务可以为交互式仪表板与日志分析等提供必要的性能支持。


3.在数据湖及各专门构建的数据服务之间实现数据的无缝化移动。


4.通过统一方式加以保护、监控与管理,保证数据访问活动的合规性。


5.以低成本方式扩展系统,保证不对性能产生负面影响。


我们将这样一种强大的数据湖及其配套的专用构建数据服务体系,称为智能湖仓(Lake House)架构

640.png

640.png

640.png

亚马逊云科技平台并不是简单粗暴地将数据湖与数据仓库集成起来,而是把数据湖,数据仓库,以及其他一些专门构建的数据存储方案集成起来,赋予统一管理与轻松灵活的数据移动。


下面我们从5个方面,来分别介绍一下亚马逊云科技智能湖仓是如何满足企业的各项需要的:


1.可扩展数据湖

 

如何保证数据湖的可扩展性呢?亚马逊云科技凭借的是他们的绝活,Amazon Simple StorageService (Amazon S3) 。Amazon S3作为一款历史悠久的对象存储服务,拥有无与伦比的持久性、可用性与可扩展性。正是因为这个优势,亚马逊云科技的数据湖选择了Amazon S3技术作为基础。

 

与此同时,数据湖的设置与管理往往涉及诸多手动且极为耗时的操作,例如从不同来源处加载数据、监控数据湖、设置分区、将数据重整为列格式,以及对访问进行授权与审计等等。为了帮助简化这个过程,亚马逊云科技开发出了Amazon Lake Formation。Lake Formation能够从数据库及对象存储中收集并分类数据,将数据移动到AmazonS3数据湖内,使用机器学习算法清理并分类数据,使得云端安全数据湖的构建周期大大缩短。

 

2.专门构建的分析服务

 

为了满足不同的具体数据需求,亚马逊云科技提供最具深度与广度的专门构建的分析服务组合,被称为purpose-built。其中包括亚马逊云科技的几个重要法宝:

 

Amazon Athena

交互式查询服务,支持使用标准SQL语句在S3上分析数据。

 

Amazon EMR

行业领先的云大数据平台,可使用多种开放源代码工具处理大量数据。

 

Amazon Elasticsearch Service

一种托管服务,提供了在ElasticSearch云当中部署、操作和扩展亚马逊云科技集群的服务。

 

Amazon Kinesis

提供收集、处理和分析实时流数据的服务,以便及时获得见解并对新信息快速做出响应。

 

Amazon Redshift

亚马逊云科技的强大数据仓库,性价比很高。

 

这些法宝,各有各的勇武之地。


比如,面对Amazon S3当中结构化、半结构化、非结构化数据,我们如何来进行查询和分析呢?这时候,Amazon Athena就派上了用场。


Amazon Athena可以帮助我们使用熟知的标准SQL语句来创建数据库、创建表、查询数据、并让数据结果可视化。

640.png

640.png

再比如,互联网程序员每天都要面对海量的日志,如何更高效地存储和查询日志呢?ElasticSearch是一个合适的选择。


而Amazon Elasticsearch Service是一项完全托管的服务,方便您大规模经济高效地部署、保护和运行 Elasticsearch。该服务提供开放源 Elasticsearch API、托管 Kibana、与 Logstash 和其他亚马逊云科技服务的集成以及内置提醒和 SQL 查询支持。

640.png

3.无缝数据移动

 

前面我们说过,企业常常需要在多种服务及数据存储方案之间进行数据迁移。那么,如何能让大规模的数据做到平滑安全的迁移呢?亚马逊云科技使用了他们的另一件法宝:Amazon Glue

 

Amazon Glue 是一项无服务器数据集成服务,可帮助企业轻松准备数据以进行分析、机器学习与应用程序开发。Amazon Glue提供数据集成所需要的全部功能,可以在几分钟内获取洞见结论。

Amazon Glue包含一个重要的组件,叫做Amazon Glue Elastic Views


这个组件让你可以对存储在多种数据存储中的数据创建视图,并在您选择的目标数据存储中创建具体化视图。您可以使用Amazon Glue Elastic Views,通过 PartiQL语言(一种兼容 SQL 的开源查询语言)编写查询来创建具体化视图。您可以在亚马逊云科技管理控制台中使用查询编辑器以交互方式编写 PartiQL 查询,也可以通过 API 或 CLI 发出查询。


Amazon Glue Elastic Views支持 Amazon DynamoDB 作为数据源,并以 Amazon Redshift、Amazon Elasticsearch Service 和 Amazon S3 作为目标。你可以将具体化视图与其他用户共享,以供他们在自己的应用程序中使用,从而加快开发速度。Amazon Glue Elastic Views持续监控源数据存储中的数据更改,并自动向目标数据存储提供更新。


在数据移动的过程中,如何将流数据可靠地加载到数据湖、数据存储和分析服务中呢?亚马逊云科技还有一项法宝:Amazon Kinesis Data Firehose


Amazon Kinesis Data Firehose服务可以捕获和转换流数据,并将其传输给 Amazon S3、Amazon Redshift、Amazon Elasticsearch Service,这是一项完全托管的服务,会自动扩展以匹配数据吞吐量,并且无需持续管理。该服务还可以在加载数据前对其进行批处理、压缩、转换和加密,从而最大程度地减少所用存储量,同时提高安全性。


此外,刚才我们提到的Amazon Redshift与Athena还支持联合查询,可以跨多种存储方案在运营数据库、数据仓库以及数据湖间对数据执行查询,无需任何数据移动即可提供跨数据湖洞见,消除了设置并维护复杂的提取、转换与加载(ETL)管道的需求。

 

4.统一治理


现代分析架构中的一大核心,在于对数据访问活动进行授权、管理及审计,这就是所谓的统一治理。这种能力说起来简单,实现往往非常困难,因为跨组织内各类数据存储方案进行安全管理、访问控制与审计跟踪往往复杂且耗时,而不同的存储系统往往又有着不同的安全性、数据访问与审计要求。

亚马逊云科技为客户带来细粒度访问控制与治理选项,能够立足单一控制点对跨数据湖及专用数据存储系统的访问行为进行全面管理。

同时,亚马逊云科技还推出了Amazon Lake Formation行级安全功能的预览版本,希望降低人员及应用程序在共享数据时的安全保障难度。比如,一个区域销售经理,只能访问其所在区域内的销售数据。这一层级的过滤功能,极大节约了运营开支并消除了不必要的存储成本。

 

5.性能与成本效益

 

降低成本,提升性能,一直IT领域的核心竞争力。亚马逊云科技的一整套技术栈,都在致力于为企业降低成本,实现最大的性价比。

比如说,亚马逊云科技的Amazon S3,大大降低了数据湖内的数据存储成本。此外,Amazon EC2提供了按需、预留及竞价实例之间灵活选择并切换的能力。同时,亚马逊云科技还发布AQUA for Amazon Redshift 的预览版本,AQUA使用分布式硬件加速型缓存,能够将计算与存储层相融合,实现10倍于其他云数据仓库的查询性能。

640.png

640.png


道乐读,是网易有道旗下一款青少年数字阅读APP,为广大青少年提供优质的阅读和课程平台


640.png

最初对于每一个用户,有道乐读推送的内容都是一样的,也就是所谓的“千人一面”。为了给不同的用户带来更加合适的体验,有道乐读希望做到“千人千面”。但是对于只有一个技术人员的团队,实现难度可想而知。


后来,在亚马逊云科技的帮助下,有道乐读项目实现了无服务器的数据湖,并且基于Amazon Personalize的个性化推荐以及大数据服务,为小读者们提供了精准的图书推送。


最终,利用亚马逊云科技的智能湖仓架构,有道乐读APP月活跃指数增长了20%,同时收到了来自用户家长的大量正面反馈。



相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
5月前
|
存储 分布式计算 大数据
数据仓库与数据湖在大数据架构中的角色与应用
在大数据时代,数据仓库和数据湖分别以结构化数据管理和原始数据存储见长,共同助力企业数据分析。数据仓库通过ETL处理支持OLAP查询,适用于历史分析、BI报表和预测分析;而数据湖则存储多样化的原始数据,便于数据探索和实验。随着技术发展,湖仓一体成为趋势,融合两者的优点,如Delta Lake和Hudi,实现数据全生命周期管理。企业应根据自身需求选择合适的数据架构,以释放数据潜力。【6月更文挑战第12天】
197 5
|
3月前
|
数据采集 存储 分布式计算
构建智能数据湖:DataWorks助力企业实现数据驱动转型
【8月更文第25天】本文将详细介绍如何利用阿里巴巴云的DataWorks平台构建一个智能、灵活、可扩展的数据湖存储体系,以帮助企业实现数据驱动的业务转型。我们将通过具体的案例和技术实践来展示DataWorks如何集成各种数据源,并通过数据湖进行高级分析和挖掘,最终基于数据洞察驱动业务增长和创新。
235 53
|
4月前
|
存储 数据挖掘 BI
数据仓库深度解析与实时数仓应用案例探析
随着数据量的不断增长和数据应用的广泛深入,数据治理和隐私保护将成为数据仓库建设的重要议题。企业需要建立完善的数据治理体系,确保数据的准确性、一致性和完整性;同时加强隐私保护机制建设,确保敏感数据的安全性和合规性。
494 55
|
3月前
|
存储 数据采集 数据挖掘
数据仓库VS数据湖:选择正确的数据存储解决方案
【8月更文挑战第23天】企业在选择数据存储解决方案时,应综合考虑业务需求、数据特性、技术实力及成本效益等多方面因素,以做出最符合自身发展的决策。
|
3月前
|
存储 机器学习/深度学习 数据采集
深入解析大数据核心概念:数据平台、数据中台、数据湖与数据仓库的异同与应用
深入解析大数据核心概念:数据平台、数据中台、数据湖与数据仓库的异同与应用
|
3月前
|
消息中间件 存储 大数据
大数据-数据仓库-实时数仓架构分析
大数据-数据仓库-实时数仓架构分析
129 1
|
5月前
|
Cloud Native 数据管理 OLAP
云原生数据仓库AnalyticDB产品使用合集之是否可以创建表而不使用分区
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
405 2
云原生数据仓库AnalyticDB产品使用合集之是否可以创建表而不使用分区
|
4月前
|
存储 消息中间件 数据挖掘
数据仓库的深度探索与实时数仓应用案例解析
大数据技术的发展,使得数据仓库能够支持大量和复杂数据类型(如文本、图像、视频、音频等)。数据湖作为一种新的数据存储架构,强调原始数据的全面保留和灵活访问,与数据仓库形成互补,共同支持企业的数据分析需求。
|
5月前
|
Cloud Native 关系型数据库 MySQL
《阿里云产品四月刊》—云原生数据仓库 AnalyticDB MySQL 版 新功能
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
100 3
|
5月前
|
SQL Cloud Native 关系型数据库
云原生数据仓库AnalyticDB操作报错合集之执行sql的进程报错:"unknown connection id",是什么导致的
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
786 3