当前位置: 首页 > 工具软件 > Apache Avro > 使用案例 >

浅析Apache Avro是什么?

饶铭
2023-12-01

一、概述

Apache Avro^TM 是一个数据序列化系统;

Avro提供的技术支持包括以下五个方面:

  • 优秀的数据结构;

  • 一个紧凑的,快速的,二进制数据格式;

  • 一个容器文件,用来存储持久化数据;

  • RPC远程过程调用;

  • 集成最简单的动态语言。读取或者写入数据文件,使用或实现RPC协议均不需要代码实现。对于静态语言编写的话需要实现;

二、Schema模式

Arvo系统依赖于Schema,读取Avro数据时,这个Schema一直被用作数据写入。可以实现每个数据写入而没有带来额外的开销,从而使得序列化即快速又敏捷。由于数据 Shema 完全定义好的,这更便于使用动态语言操作。

当我们把Avro数据存储在文件中时,其Schema也会存储起来,因此后续任何程序均可以读取数据处理文件。如果读取数据的程序希望使用其他的Schema, 则可以动态改变,这两种都支持。

在RPC中使用AVRO时,Client和Server在连接 handshake 中交换Schema,(这部操作可以优化,便于对于大多数的调用器Calls,没有Schema的模式)。由于Client和Server都具有对方的完整信息,因此可以轻松解决相同命名字段(命名冲突)、字段缺失、字段多余等对应关系。

Avro的Schema时使用json定义的。这对于已经使用了JSON库的编程语言很友好。

 

三、和其他系统的比较Comparision with other systems

Avro提供的函数功

 类似资料: