大数据之所以能够坐拥一个“大”字,主要依靠源源不断且态势稳定的输入数据流。在大容量环境之下,数据的积累速度往往十分惊人,不过其分析与存储仍然困扰着不少用户。
VoltDB公司软件架构师John Hugg认为,相对于传统为后续分析提供数据的简单存储机制,也许现在我们已经步入了历史的新阶段——在这里,系统完全有能力利用Apache Kafka等工具在继续保持高速数据输入的同时实现分析。
-- Paul Venezia
就在大约十年之前,我们还几乎无法想象利用商用硬件对PB级别的历史数据加以分析。然而时至今日,由成千上万节点构成的Hadoop集群完成这项任务已经不是什么难事。Hadoop等开源技术的出现帮助我们拓展了思路,得以有效处理PB乃至更高级别数据在商用及虚拟化硬件上的处理工作,并让这种能力以低廉的成本服务世界各地的开发人员。总体来讲,大数据业界已经正式成型。
如今所谓快数据概念则引发了类似的一轮革新浪潮。首先,我们先为快数据下一个定义。大数据通常是由生产速度极高的数据所创建,其中包括点击流数据、金融交易数据、日志聚合数据或者传感器数据等。这些事件每一秒钟往往会发生数千甚至数万次。无怪乎人们会将这种数据类型称为“消防水龙”。
当我们在大数据领域讨论消防水龙这个话题时,计量单位并非传统的GB、TB以及PB等为数据仓库机制所熟悉的概念。我们更倾向于利用时间单位来进行计量:每秒MB数量、每小时GB数量或者每天TB数量。在讨论中采取的这种速率与容量之间的差异,正好代表着大数据与数据仓库之间的核心区别所在。大数据并不仅仅是“大”:它同时也要“快”。
一旦消防水龙中新鲜且传输速度极高的数据被倾倒进HDFS、分析RDBMS甚至是平面文件当中,大数据的优势就将消失殆尽——这是因为其“在事件发生的同时立即”执行或者警示的能力已经不复存在。消防水龙中喷涌而出的是活动数据、即时状态或者正在进行当中的数据。与之相反,数据仓库则是一种审视历史数据以理解过去状况从而预测未来的手段。
在数据输入的同时进行处理一直被视为不可能完成的任务——或者至少需要极高的实施成本且有些不切实际,特别是在商用硬件之上。正如大数据中蕴藏的价值一样,快数据的价值已经随着消息查询与流系统的实现得以解锁,而在这方面最具代表性的解决方案无疑是Kafka与Storm。除此之外,开源NoSQL与NewSQL产品也为这类诉求提供了坚实的数据库方案基础。
在快数据中捕捉价值
捕捉输入数据价值的最佳方式就是在信息抵达时立即作出反应及操作。如果大家以批量方式处理输入数据,那就意味着各位已经失去了其时效性、进而丢掉了快数据的核心价值。
为了处理每秒涌现的数万乃至数百万事件的相关数据,我们需要两类技术作为前提:首先,一套能够在事件抵达的同时立即进行交付的流系统;第二,一套能够在所有条目抵达的同时立即进行处理的数据存储方案。
快数据的交付
在过去几年当中,有两套流系统方案获得了市场的广泛认同:Apache Storm与Apache Kafka。作为最初由Twitter工程技术团队开发出的项目,Storm能够非常可靠地处理每秒消息量高达百万级别的数据流。而作为由LinkedIn工程技术团队开发出的项目,Kafka则是一套具备极高数据吞吐能力的分布式消息查询系统。这两大流系统方案解决了快数据处理任务的前提性难题。不过相比之下,Kafka的作用显得更为独特。
Kafka的设计目的在于实现消息查询并打破现有技术在此类任务中的局限。这类似于一种立足于查询之上而又拥有无限可扩展性的分布式部署方案,支持多租户且持久性极强。企业用户可以通过部署Kafka集群来满足自身的全部消息查询需求。不过作为项目核心,Kafka只能交付消息——也就是说,它不支持任何形式的处理或者查询操作。
快数据的处理
消息只是解决方案的组成部分之一。传统关系型数据库往往在性能方面存在局限。其中一些能够以极高速率实现数据存储,但在接收到数据后的验证、填充以及执行方面却总会栽跟头。NoSQL系统已经拥有集群化能力与出色的性能表现,但却需要对传统SQL系统所能提供的处理能力及安全性作出牺牲。对于基本的消防水龙处理任务,NoSQL方案可能已经足以满足大家的业务需求。然而如果大家在事件中执行的是复杂的查询以及业务逻辑操作,那么只有内存内NewSQL解决方案能够切实解决性能表现与事务复杂性这两大难题。
以Kafka为代表,不少NewSQL系统都围绕着无共享集群进行建立。相关负载被分布在各个集群节点当中,从而带来理想的性能表现。数据会在各个集群节点之间进行复制,旨在保障其安全性与可用性。为了处理持续增长的负载量,我们能够以透明化方式将节点添加到集群当中。各个节点可被移除(或者出现故障),集群中的其它部分仍能继续正常实现功能。数据库与消息查询机制在设计上都成功避免了单点故障的问题。这些功能也正是规模化系统设计方案中的典型特色。
除此之外,Kafka与一部分NewSQL系统有能力利用集群化与动态拓朴机制实现规模化,同时又不必牺牲强大的数据保障效果。Kafka提供消息序列保障,同时一部分内存内处理引擎还能够实现序列化一致性与ACID语义。这些系统都利用集群识别客户端来交付更多功能或者简化配置。最后,二者也都通过来自不同设备的磁盘——而非RAID或者其它逻辑存储方案——带来冗余耐久特性。
大数据处理工具箱
在系统中进行大数据消防水龙处理时,我们需要寻求哪些必要的支持机制?
寻找一套通过本地无共享集群化机制实现冗余与可扩展性优势的系统方案。
寻找一套依靠内存内存储与处理机制以实现各节点高数据吞吐能力的系统方案。
寻找一套能够在数据抵达的同时进行处理的系统。这套系统能否执行状态逻辑?它又能否查询GB甚至更高级别的现有状态,从而为决策提供信息支持?
寻求一套能够将不同操作隔离开来,并为操作提供有力保障的系统方案。这样一来,用户就能够编写更为简单的代码并将注意力集中在业务难题上——而非忙于处理并发问题或者数据分歧。需要注意,某些系统确实能够提供强大的一致性效果,但却会给性能造成严重影响。
具备这些特性的系统正在NewSQL、NoSQL以及Hadoop业界当中不断涌现,但不同的系统方案也拥有各自的权衡考量——这往往与开发者的初始假设关系密切。对于那些希望以实时方式处理快数据的企业来说,这些工具能够有效解决快速理解数据内容时面临的复杂性难题。
Kafka带来了一种安全及具备高可用性的处理方式,能够有效实现数据在无数生产者与消费者之间的移动,同时也为管理者提供卓越的性能与稳健性。内存内数据库则可以提供一套完整的关系型引擎,其具备强大的事务型逻辑、计数与聚合能力,并拥有足以满足任何负载的出色可扩展性。与关系型数据库不同,这类系统应当被作为与Kafka通讯基础设施相配套的处理引擎。
无论企业用户的实际需求如何,这些工具都表现出了帮助我们以更快速度了解更多数据信息的能力,而且往往能够全面替代更为孱弱或者其它类型的系统方案。文章来自:CDA数据分析师官网
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
“最近复购率一直在下降,我们的营销力度不小啊,为什么用户还是走了?” “是不是广告投放的用户质量不高?还是我们的产品问题 ...
2025-02-21以下文章来源于数有道 ,作者数据星爷 SQL查询是数据分析工作的基础,也是CDA数据分析师一级的核心考点,人工智能时代,AI能为 ...
2025-02-19在当今这个数据驱动的时代,几乎每一个业务决策都离不开对数据的深入分析。而其中,指标波动归因分析更是至关重要的一环。无论是 ...
2025-02-18当数据开始说谎:那些年我们交过的学费 你有没有经历过这样的场景?熬了三个通宵做的数据分析报告,在会议上被老板一句"这数据靠 ...
2025-02-17数据分析作为一门跨学科领域,融合了统计学、编程、业务理解和可视化技术。无论是初学者还是有一定经验的从业者,系统化的学习路 ...
2025-02-17挖掘用户价值本质是让企业从‘赚今天的钱’升级为‘赚未来的钱’,同时让用户从‘被推销’变为‘被满足’。询问deepseek关于挖 ...
2025-02-17近来deepseek爆火,看看deepseek能否帮我们快速实现数据看板实时更新。 可以看出这对不知道怎么动手的小白来说是相当友好的, ...
2025-02-14一秒精通 Deepseek,不用找教程,不用买资料,更不用报一堆垃圾课程,所有这么去做的,都是舍近求远,因为你忽略了 deepseek 的 ...
2025-02-12自学 Python 的关键在于高效规划 + 实践驱动。以下是一份适合零基础快速入门的自学路径,结合资源推荐和实用技巧: 一、快速入 ...
2025-02-12“我们的利润率上升了,但销售额却没变,这是为什么?” “某个业务的市场份额在下滑,到底是什么原因?” “公司整体业绩 ...
2025-02-08活动介绍 为了助力大家在数据分析领域不断精进技能,我们特别举办本期打卡活动。在这里,你可以充分利用碎片化时间在线学习,让 ...
2025-02-071、闺女,醒醒,媒人把相亲的带来了。 我。。。。。。。 2、前年春节相亲相了40个, 去年春节相亲50个, 祖宗,今年你想相多少个 ...
2025-02-06在数据科学的广阔领域中,统计分析与数据挖掘占据了重要位置。尽管它们常常被视为有关联的领域,但两者在理论基础、目标、方法及 ...
2025-02-05在数据分析的世界里,“对比”是一种简单且有效的方法。这就像两个女孩子穿同一款式的衣服,效果不一样。 很多人都听过“货比三 ...
2025-02-05当我们只有非常少量的已标记数据,同时有大量未标记数据点时,可以使用半监督学习算法来处理。在sklearn中,基于图算法的半监督 ...
2025-02-05考虑一种棘手的情况:训练数据中大部分样本没有标签。此时,我们可以考虑使用半监督学习方法来处理。半监督学习能够利用这些额 ...
2025-02-04一、数学函数 1、取整 =INT(数字) 2、求余数 =MOD(除数,被除数) 3、四舍五入 =ROUND(数字,保留小数位数) 4、取绝对值 =AB ...
2025-02-03作者:CDA持证人 余治国 一般各平台出薪资报告,都会哀嚎遍野。举个例子,去年某招聘平台发布《中国女性职场现状调查报告》, ...
2025-02-02真正的数据分析大神是什么样的呢?有人认为他们能轻松驾驭各种分析工具,能够从海量数据中找到潜在关联,或者一眼识别报告中的数 ...
2025-02-01现今社会,“转行”似乎成无数职场人无法回避的话题。但行业就像座围城:外行人看光鲜,内行人看心酸。数据分析这个行业,近几年 ...
2025-01-31