大数据架构的未来

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介:

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

大数据的问题

或许所有读者都明白这一点:数据正在飞速增长。若是能够有效利用的话,我们能从这些数据中找到非常有价值的见解;传统技术有很多都是在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的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
5月前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
356 1
|
4月前
|
大数据
【赵渝强老师】大数据主从架构的单点故障
大数据体系架构中,核心组件采用主从架构,存在单点故障问题。为提高系统可用性,需实现高可用(HA)架构,通常借助ZooKeeper来实现。ZooKeeper提供配置维护、分布式同步等功能,确保集群稳定运行。下图展示了基于ZooKeeper的HDFS HA架构。
104 0
|
5月前
|
存储 分布式计算 大数据
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
98 3
|
13天前
|
存储 SQL 分布式计算
MaxCompute 近实时增全量处理一体化新架构和使用场景介绍
MaxCompute 近实时增全量处理一体化新架构和使用场景介绍
|
3月前
|
存储 SQL 分布式计算
大数据时代的引擎:大数据架构随记
大数据架构通常分为四层:数据采集层、数据存储层、数据计算层和数据应用层。数据采集层负责从各种源采集、清洗和转换数据,常用技术包括Flume、Sqoop和Logstash+Filebeat。数据存储层管理数据的持久性和组织,常用技术有Hadoop HDFS、HBase和Elasticsearch。数据计算层处理大规模数据集,支持离线和在线计算,如Spark SQL、Flink等。数据应用层将结果可视化或提供给第三方应用,常用工具为Tableau、Zeppelin和Superset。
1117 8
|
4月前
|
SQL 数据采集 分布式计算
【赵渝强老师】基于大数据组件的平台架构
本文介绍了大数据平台的总体架构及各层的功能。大数据平台架构分为五层:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。其中,大数据平台层为核心,负责数据的存储和计算,支持离线和实时数据处理。数据仓库层则基于大数据平台构建数据模型,应用层则利用这些模型实现具体的应用场景。文中还提供了Lambda和Kappa架构的视频讲解。
523 3
【赵渝强老师】基于大数据组件的平台架构
|
3月前
|
存储 负载均衡 监控
揭秘 Elasticsearch 集群架构,解锁大数据处理神器
Elasticsearch 是一个强大的分布式搜索和分析引擎,广泛应用于大数据处理、实时搜索和分析。本文深入探讨了 Elasticsearch 集群的架构和特性,包括高可用性和负载均衡,以及主节点、数据节点、协调节点和 Ingest 节点的角色和功能。
104 0
|
5月前
|
SQL 存储 分布式计算
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
74 9
|
5月前
|
存储 SQL 分布式计算
湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
【10月更文挑战第7天】湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
447 1
|
5月前
|
存储 分布式计算 druid
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
121 3

热门文章

最新文章