Apache Avro (Serialisasi Berbasis Baris)
Avro adalah format serialisasi data berbasis baris yang menyematkan skema JSON di dalam file. Format ini unggul dalam evolusi skema — pembaca dan penulis dapat memiliki skema yang berbeda tetapi kompatibel. Avro adalah standar untuk serialisasi pesan Kafka dan pipeline data Hadoop.
Tipe MIME
application/avro
Tipe
Biner
Kompresi
Lossless
Kelebihan
- + Schema evolution — add/remove fields without breaking readers
- + Compact binary encoding with efficient compression
- + Self-describing — schema embedded in the file
- + Standard in Kafka and the Hadoop ecosystem
Kekurangan
- − Row-based — less efficient than Parquet for analytical queries
- − Not human-readable in binary form
- − JSON schema specification has a learning curve
Kapan Menggunakan .AVRO
Gunakan Avro untuk skema pesan Kafka, pipeline data Hadoop/Spark, dan sistem apa pun di mana evolusi skema dan penyimpanan baris kompak menjadi prioritas.
Detail Teknis
File Avro berisi header skema JSON diikuti oleh blok data yang dikodekan biner dan dikompresi dengan DEFLATE atau Snappy. Resolusi skema pada waktu baca memungkinkan penambahan, penghapusan, atau penggantian nama field tanpa merusak consumer.
Riwayat
Doug Cutting membuat Avro pada tahun 2009 sebagai bagian dari ekosistem Hadoop. Tidak seperti Thrift dan Protocol Buffers, Avro dirancang untuk resolusi skema dinamis tanpa pembuatan kode.