数据中台-数据存储

admin2021年07月30日 13:11
cover

数据库存储方面,有单机/分布式、关系型/非关系型、列式存储/行式存储三个维度的划分,各种维度交叉下都有对应产品来解决某个场景下的需求。在数据量较小的情况下,一般采取单机数据库,如应用非常广泛,技术成熟的MySQL。数据量大到一定程度后,就必须采取分布式系统了。目前业界最知名的就是Apache基金会名下的Hadoop系统,它基本可以作为大数据时代存储计算的经典模型。

HBase是Hadoop数据库,作为基于列的非关系型数据库运行在HDFS上。它具备HDFS缺乏的随机读写能力,因此比较适合实时分析。HBase以GoogleBigTable为蓝本,以Key-Value形式存储,能快速在主机内数十亿行数据中定位所需的数据并访问它。

Hive和Pig都是集成在Hadoop顶层的查询语言,提供静态数据的动态查询,支持类SQL语言,底层经过编译转为MapReduce程序,省去了自己编写MR程序的繁琐。区别是HiveSQL是类SQL的查询语言,要求数据存储于表中,而Pig是面向数据流的一个程序语言,常用于开发简洁的脚本来转换数据流从而嵌入到较大的应用程序中。

MR开创了分布时代计算的先河,使得大批量数据处理成为可能。简单来讲,就是将比较庞大的计算任务先分组,再汇总,提高计算效率。举例来讲,如果你新家需要装修,要在不同地方购置很多东西。你一个人(单机)去买估计得花十天。现在叫了一堆小伙伴(分布式),每个人负责去一个地方买东西(Map),最后再拿到家里分类汇总.(Redce),一天就搞定了。

acheSpark是—种包含流处理能力的下—代批处理框架。翔处理模式下,Spark与MapReduce不同,它将数据处理工作全部在内存中进行,计算性能大幅改善。流理模式下,Spark主要通过SparkStreaming实现了一种叫做微批(Micro-batch)的概念。该技术可将数据流视作一系列非常小的“批”,借此即可通过批处理引擎的原生邃进行处理。这种方式的实际藏果非常好,但相比真正的流处理框架在性能方面依然存在不足。

基上所述,Spark是多样化工作负载处理任⒂曩耀ark批处理能力以更高内存占用为代价提供显无与伦比的速度优势。对于重视吞吐率而非延迟的工作负载,风较适合使用SparkStreaming作为处理解决方案。

F1ink作为更新一代的处理框架,拥有更快的计算能力,更低的延迟,已经慢慢崭露角不过一个框的应用,特别是开源框架,需要足够长的时间进行容,测试和优化。大数据技术在开源社区的推动下,鞋戴几新月异。在不久的将来,相信F1ink会像Spark取代Storm一样,逐渐成为大数据处理技术的主流。

数智赋能每一个岗位