zl程序教程

您现在的位置是:首页 >  工具

当前栏目

今日指数项目之Apache Avro介绍【五】

Apache项目 介绍 今日 指数
2023-09-27 14:27:52 时间

高性能数据传输中间件

在企业级大数据流处理项目中,往往在项目数据源处需要面临实时海量数据的采集。采集数据的性能一般与网络带宽、机器硬件、数据量等因素有直接关系;当其他因素是固定的,这里我们只考虑数据量的话,那么数据量的传输和存储性能是我们首先需要面对和解决的。
由此我们引入了Avro数据序列化框架,来解决数据的传输性能问题。

Avro特点:
1.丰富的数据结构
2.一个紧凑的,快速的,二进制的数据格式
3.一个容器文件,来存储持久化数据
4.远程过程调用(RPC)
5.简单的动态语言集成。
6.Avro模式是使用JSON定义的 。这有助于以已经具有JSON库的语言实现。
JSON是一种轻量级的数据传输格式,对于大数据集,JSON数据会显示力不从心,因为JSON的格式是key:value型,每条记录都要附上key的名字,有的时候,光key消耗的空间甚至会超过value所占空间,这对空间的浪费十分严重,尤其是对大型数据集来说,因为它不仅不够紧凑,还要重复地加上key信息,不仅会造成存储空间上的浪费,更会增加了数据传输的压力,从而给集群增加负担,进而影响整个集群的吞吐量。而采用Avro数据序列化系统可以比较好的解决此问题,因为用Avro序列化后的文件由schema和真实内容组成,schema只是数据的元数据,相当于JSON数据的key信息,schema单独存放在一个JSON文件中,这样一来,数据的元数据只存了一次,相比JSON数据格式的文件,大大缩小了存储容量。从而使得Avro文件可以更加紧凑地组织数据。

官网地