大数据架构的未来

简介:

本文讲述了大数据的相关问题,以及“大数据架构”得名的由来。

大数据的问题

或许所有读者都明白这一点:数据正在飞速增长。若是能够有效利用的话,我们能从这些数据中找到非常有价值的见解;传统技术有很多都是在40年前设计的,比如RDBMSs,不足以创造“大数据”炒作所宣称的商业价值。在大数据技术的使用上,常见的案例是“客户单一视图”;将关于客户所知道的一切内容放在一起,以便最大化服务提供与自身收入,比如确定具体需要采用什么促销方式,又是在什么时候、通过什么渠道来发送。

尽管大数据的问题在于,让我们将这种潜力变为现实,高等级的关键功能至少包括下面这些能力:

合并信息孤井、外在因素与数据流;

控制数据访问;

根据需要转化数据;

整合数据;

为数据分析提供工具;

发布数据报告;

将见解体现在运营过程中;

最小化工作完成的总拥有成本与响应时间。

用数据湖作为答案

很多公司正在观望一个被某些人称为数据湖的架构,这个数据平台在合并信息孤井数据流以及在单独的逻辑位置中执行数据持久化方面具有灵活性,能够从企业自身以及第三方的数据中挖掘出见解。将Hadoop(包括Spark在内)用于数据湖已成大势所趋,原因很多:使用总拥有成本较低的普通硬件就能进行扩展,允许用读时模式(schema-on-read)收取大量数据,支持开源,包括用SQL和普通语言构建分布式处理层。此外,像雅虎和谷歌这样的webscale公司都是早期标杆,借用这种架构在解决网站索引相关的问题时获得了巨大的成功。

Hadoop中的数据持久化选项

这样一来,从这里开始评估数据湖解决方案的前景似乎很合理。一旦开始从更深的层次理解Hadoop的内涵,你就会发现里面所包含的项目真的是包罗万象,涵盖了数据处理的方方面面。用Hadoop在数据湖中探测存储的数据时,有两个主要选项:HDFS和HBase。使用HDFS时,可以自行决定如何在只添加文件中对数据进行编码,包括JSON、CSV、Avro等等,因为HDFS只是一个文件系统,编码方式全由你决定。相反,HBase是一个数据库,其特有的数据编码方式可以将记录写入的速度最优化,在通过主键查询时执行只读的速度相对也很快。

这也是用Hadoop的数据湖之魅力所在,它能实现真实情况下的需求。因此,我们就能使用Hadoop来执行上面列出的高层次需求了。在像Spark和Hive这样的Hadoop生态系统中,仍需用到分布式处理层,但不需HDFS或HBase了,因此你可以从分布式处理层中选择持久化层面。之前的博文中有相关案例,描述了使用Spark在MongoDB中读写数据。还有一篇博文也很类似,证明了MongoDB只是读取数据的另一个Hive表格。

索引仍旧很重要

大多熟悉RDBMSs的技术人员发现,从表达查询能力到二级索引,再到加速查询全都价值巨大(即便模式固定、总拥有成本高以及RDBMSs的可扩展性有限,这些使得它很难被用作数据湖)。如果我们在数据库持久化中只用到HDFS和HBase,就无法实现我们期待的数据库临时索引了,特别是遇到下面几个限制时:

临时切片:不通过二级索引,我们如何对不止一个主键标识出的数据切片进行有效地分析呢,例如对我们的最佳客户——那些消费金额超过X的客户进行分析?由于数据太过巨大,想要通过扫描找出最佳客户都会令工作卡住。

低延迟报告:如果没有灵活的索引方式,我们如何在次秒级时间内响应客户的需求,为他们提供有价值的数据报告呢?再次,我们只能使用消费者的账户号或者其他主键来进行快速报告,而不是通过消费者的姓名、电话号码、邮编、花费等等。特别提到:MongoDB刚刚为基于SQL的报告工具发布了BI Connector。

运营化:同样地,我们如何将有价值的见解引入应用运营中,从而在最大化影响公司和消费者的同时将数据变现?想象一下客服专员(CSR)告知消费者,因为数据湖仅支持这个主键,他必须提供账号才能查询所有的信息;或者查询需要10分钟时间。

当然,其中有些问题可以通过变通方法解决,不过会导致总拥有成本更高、开发或运营工作更多、延迟也更高。例如,使用搜索引擎或者实体化视图而不是通过主键来查询;不过稍后还需返回到数据库,在有完整记录的数据库中对主表进行再次查询,以获得所需的完整信息。除了延迟翻倍之外,还需要耗费额外的管理、开发工作,以及单独搜索引擎需要的基础设施,还有实体化视图所需的维护,加上将数据写入到其他地方造成的一致性问题。保持我们的设计原则,只用我们用惯的普通灵活索引不是很好么?

MongoDB是一个有效数据湖的重要部分

我们开始讨论,探索单用Hadoop是否能满足数据湖的需求,并发现了至少3个问题。我们能否在架构中另加一层持久化层面来解决这些问题,同时保持设计原则——使用低总拥有成本的普通硬件、开源模式、读时模式还有Hadoop分布式数据层——与之前一致呢?

我选择本文的主题是因为,MongoDB就是在Hadoop-only数据湖中,补位最优秀的数据库。如果使用另一个开源NoSQL数据库,就会发现其中几乎不含二级索引(使用二级索引会导致无法同步数据),也没有分组和聚合功能。你可以使用其中一些数据库将数据写入数据湖,不过如果出于商业需求想要以灵活的方式使用二级索引读取的话,是做不到的。如果想要在数据湖中使用开源RDBMS,我们已经说过,它们固定的模式、昂贵的垂直扩展模型都违背了我们设计数据湖的原则。

因此,推荐使用下面的架构来构建数据湖。

MongoDB对数据湖非常重要

这个架构将MongoDB作为持久化层面加入任何需要表达查询的数据集中,正与你需要索引的三个原因(上面列举了)相关。由于需求数据来自消费者,无论是否将数据发布到HDFS和/或MongoDB中,我推荐用governance function来确定。无论存储到HDFS或者MongoDB上,就可以运行分布式处理任务,比如Hive和Spark。不过如果数据在MongoDB上,因为筛选标准下放到数据库中,不像在HDFS中那样扫描文件,你就能在数据临时切片上运行有效分析了。与此相似,MongoDB中的数据也可用于实时、低延迟报告,并为构建的应用所用到的所有系统提供运营数据平台服务。

如今一些公司只是将数据复制到Hadoop中进行转换,然后再复制到其他地方,用于完成有价值的工作。为什么不直接利用数据湖,发挥最大价值呢?使用MongoDB可以将价值多次翻倍。

结论

观察长期与短期需求,确保这些需求可以通过核心Hadoop分布中的最佳工具,以及MongoDB这样的生态环境实现,数据湖对你而言就是有价值且而可行的。一些企业在使用数据湖时,只花费一年时间清洗所有数据,然后将其写入HDFS,希望在未来能用这些数据获取价值。结果却失望地发现这些数据毫无价值,事实上在数据与消费者之间还存在另一种batch layer层面。

通过将Hadoop与MongoDB合并,数据库可以确保成功,并是一个保持较低的总拥有成本,最快响应所有用户(数据科学家、分析师、商业用户、消费者自身)的灵活数据平台。有了数据湖,公司和员工就能用它来获取独特的见解,与客户进行有效沟通,将数据变现并战胜竞争对手。

本文转自d1net(转载)

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
5月前
|
存储 SQL 监控
数据中台架构解析:湖仓一体的实战设计
在数据量激增的数字化时代,企业面临数据分散、使用效率低等问题。数据中台作为统一管理与应用数据的核心平台,结合湖仓一体架构,打通数据壁垒,实现高效流转与分析。本文详解湖仓一体的设计与落地实践,助力企业构建统一、灵活的数据底座,驱动业务决策与创新。
|
7月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
6月前
|
存储 SQL 分布式计算
19章构建企业级大数据平台:从架构设计到数据治理的完整链路
开源社区: 贡献者路径:从提交Issue到成为Committer 会议演讲:通过DataWorks Summit提升影响力 标准制定: 白皮书撰写:通过DAMA数据治理框架认证 专利布局:通过架构设计专利构建技术壁垒
|
3月前
|
存储 分布式计算 资源调度
【赵渝强老师】阿里云大数据MaxCompute的体系架构
阿里云MaxCompute是快速、全托管的EB级数据仓库解决方案,适用于离线计算场景。它由计算与存储层、逻辑层、接入层和客户端四部分组成,支持多种计算任务的统一调度与管理。
334 1
|
4月前
|
SQL 存储 监控
流处理 or 批处理?大数据架构还需要流批一体吗?
简介:流处理与批处理曾是实时监控与深度分析的两大支柱,但二者在数据、代码与资源上的割裂,导致维护成本高、效率低。随着业务对数据实时性与深度分析的双重需求提升,传统架构难以为继,流批一体应运而生。它旨在通过逻辑、存储与资源的统一,实现一套系统、一套代码同时支持实时与离线处理,提升效率与一致性,成为未来大数据架构的发展方向。
|
5月前
|
消息中间件 分布式计算 大数据
“一上来就搞大数据架构?等等,你真想清楚了吗?”
“一上来就搞大数据架构?等等,你真想清楚了吗?”
108 1
|
6月前
|
架构师 Oracle 大数据
从大数据时代变迁到数据架构师的精通之路
无论从事何种职业,自学能力都显得尤为重要。为了不断提升自己,我们可以尝试建立一套个性化的知识目录或索引,通过它来发现自身的不足,并有针对性地进行学习。对于数据架构师而言,他们需要掌握的知识领域广泛而深入,不仅包括硬件、网络、安全等基础技术,还要了解应用层面,并熟练掌握至少一门编程语言。同时,深入理解数据库技术、具备大数据实操经验以及精通数据仓库建模和ELT技术也是必不可少的。只有这样,数据架构师才能具备足够的深度和广度,应对复杂的业务和技术挑战。 构建个人知识体系是数据架构师在学习和工作中的一项重要任务。通过系统化、不断深化的知识积累,数据架构师能够有效应对快速变化的商业环境和技术革新,进一
|
8月前
|
SQL 分布式数据库 Apache
网易游戏 x Apache Doris:湖仓一体架构演进之路
网易游戏 Apache Doris 集群超 20 个 ,总节点数百个,已对接内部 200+ 项目,日均查询量超过 1500 万,总存储数据量 PB 级别。
704 3
网易游戏 x Apache Doris:湖仓一体架构演进之路
|
8月前
|
负载均衡 算法 关系型数据库
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
|
8月前
|
存储 数据采集 分布式计算
别光堆数据,架构才是大数据的灵魂!
别光堆数据,架构才是大数据的灵魂!
306 13