Avro
Avro is a data serialization system that provides rich data structures and a compact, fast, binary data format. It is used for serializing data for communication between applications or systems.
Avro: Data Serialization System
Rich data structures and compact, fast, binary data format for serializing data in applications or systems
What is Avro?
Avro is an open source data serialization system developed within Apache's Hadoop project. It uses JSON for defining data types and protocols, and serializes data in a compact binary format.
Some key features of Avro include:
- Dynamic typing - no need to code up and compile data types ahead of time
- Untagged data - only the schema is required for interpreting data, reducing data size
- Language neutral - Avro data can be used by any language
- Rich data structures - supports arrays, maps, enumerations, fixed types, records
- Fast and compact serialization
- Container file format for managing large data sets
- Remote procedure call framework
Avro is widely used in big data applications both for data serialization and for defining interfaces between components. It strikes a nice balance between capabilities and complexity which makes it popular for big data file formats and message passing architectures.
Avro Features
Features
- Data serialization system
- Provides rich data structures
- Fast, compact binary data format
- Used for serializing data between applications/systems
Pricing
- Open Source
Pros
Efficient data serialization
Language neutral data format
Small data footprint
Fast encoding/decoding
Dynamic typing
Container file format for Hadoop
Cons
Limited adoption outside of Hadoop ecosystem
Less flexible than JSON/XML for some use cases
Lack of human-readable data format
Requires code generation for statically typed languages
Official Links
Reviews & Ratings
Login to ReviewThe Best Avro Alternatives
View all Avro alternatives with detailed comparison →
Top Development and Data Serialization and other similar apps like Avro
Here are some alternatives to Avro:
Suggest an alternative ❐Protocol Buffers
Protocol Buffers (Protobuf) is an open source serialization format developed by Google for serializing structured data. It is useful for communication protocols, data storage, and more. Key features of Protobuf include:Language-neutral and platform-neutral - Protobuf supports multiple languages like Java, C++, Python, Go, JavaScript, and moreSpace-efficient - Serialized data is...
Apache Thrift
Apache Thrift is an open source software framework for scalable cross-language services development. It combines an interface definition language (IDL) with a code generation engine to build services that work across a variety of programming languages.Some key features and benefits of Apache Thrift include:Language and platform neutral - services built...
MessagePack
MessagePack is an efficient binary serialization format that allows exchanging data between applications and storing structured data in a compact way. Some key features of MessagePack include:Compact size - MessagePack serialized data is much smaller than JSONFast decoding/encoding - MessagePack performs serialization/deserialization significantly faster than JSONLanguage support - Libraries available...