大数据之所以能够坐拥一个“大”字,主要依靠源源不断且态势稳定的输入数据流。在大容量环境之下,数据的积累速度往往十分惊人,不过其分析与存储仍然困扰着不少用户。
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数据分析师官网
数据分析咨询请扫描二维码
在准备数据分析师面试时,掌握高频考题及其解答是应对面试的关键。为了帮助大家轻松上岸,以下是10个高频考题及其详细解析,外加 ...
2024-12-20互联网数据分析师是一个热门且综合性的职业,他们通过数据挖掘和分析,为企业的业务决策和运营优化提供强有力的支持。尤其在如今 ...
2024-12-20在现代商业环境中,数据分析师是不可或缺的角色。他们的工作不仅仅是对数据进行深入分析,更是协助企业从复杂的数据信息中提炼出 ...
2024-12-20随着大数据时代的到来,数据驱动的决策方式开始受到越来越多企业的青睐。近年来,数据分析在人力资源管理中正在扮演着至关重要的 ...
2024-12-20在数据分析的世界里,表面上的技术操作只是“入门票”,而真正的高手则需要打破一些“看不见的墙”。这些“隐形天花板”限制了数 ...
2024-12-19在数据分析领域,尽管行业前景广阔、岗位需求旺盛,但实际的工作难度却远超很多人的想象。很多新手初入数据分析岗位时,常常被各 ...
2024-12-19入门数据分析,许多人都会感到“难”,但这“难”究竟难在哪儿?对于新手而言,往往不是技术不行,而是思维方式、业务理解和实践 ...
2024-12-19在如今的行业动荡背景下,数据分析师的职业前景虽然面临一些挑战,但也充满了许多新的机会。随着技术的不断发展和多领域需求的提 ...
2024-12-19在信息爆炸的时代,数据分析师如同探险家,在浩瀚的数据海洋中寻觅有价值的宝藏。这不仅需要技术上的过硬实力,还需要一种艺术家 ...
2024-12-19在当今信息化社会,大数据已成为各行各业不可或缺的宝贵资源。大数据专业应运而生,旨在培养具备扎实理论基础和实践能力,能够应 ...
2024-12-19阿里P8、P9失业都找不到工作?是我们孤陋寡闻还是世界真的已经“癫”成这样了? 案例一:本硕都是 985,所学的专业也是当红专业 ...
2024-12-19CDA持证人Louis CDA持证人基本情况 我大学是在一个二线城市的一所普通二本院校读的,专业是旅游管理,非计算机非统计学。毕业之 ...
2024-12-18最近,知乎上有个很火的话题:“一个人为何会陷入社会底层”? 有人说,这个世界上只有一个分水岭,就是“羊水”;还有人说,一 ...
2024-12-18在这个数据驱动的时代,数据分析师的技能需求快速增长。掌握适当的编程语言不仅能增强分析能力,还能帮助分析师从海量数据中提取 ...
2024-12-17在当今信息爆炸的时代,数据分析已经成为许多行业中不可或缺的一部分。想要在这个领域脱颖而出,除了热情和毅力外,你还需要掌握 ...
2024-12-17数据分析,是一项通过科学方法处理数据以获取洞察并支持决策的艺术。无论是在商业环境中提升业绩,还是在科研领域推动创新,数据 ...
2024-12-17在数据分析领域,图表是我们表达数据故事的重要工具。它们不仅让数据变得更加直观,也帮助我们更好地理解数据中的趋势和模式。相 ...
2024-12-16在当今社会,我们身处着一个飞速发展、变化迅猛的时代。不同行业在科技进步、市场需求和政策支持的推动下蓬勃发展,呈现出令人瞩 ...
2024-12-16在现代商业世界中,数据分析师扮演着至关重要的角色。他们通过解析海量数据,为企业战略决策提供有力支持。要有效完成这项任务, ...
2024-12-16在当今数据爆炸的时代,数据分析师是组织中不可或缺的导航者。他们通过从大量数据中提取可操作的洞察力,帮助企业在竞争激烈的市 ...
2024-12-16