Apache Avro (Satır Tabanlı Serileştirme)
Apache Avro, satır tabanlı bir veri serileştirme formatıdır ve şema evrimi için tasarlanmıştır. JSON şemalarını ikili veri depolama ile birleştirir. Avro, Hadoop ekosistemi ve olay akışı platformlarında yaygın olarak kullanılır.
MIME Tipi
application/avro
Tip
Ikili
Sikistirma
Kayipsiz
Avantajlar
- + 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
Dezavantajlar
- − Row-based — less efficient than Parquet for analytical queries
- − Not human-readable in binary form
- − JSON schema specification has a learning curve
.AVRO Ne Zaman Kullanilir
Olay akışı (Kafka), Hadoop veri hatları ve şema evrimi gerektiren sistemler için Avro kullanın. Analitik sorgular için Parquet tercih edin.
Teknik Detaylar
Avro, JSON'da şema tanımlarını ve ikili veya JSON kodlamasını kullanır. Şema evrimi, uyumlu şema değişikliklerine izin verir. Dosya formatı, sıkıştırılmış veri bloklarını senkronizasyon işaretleriyle depolar.
Gecmis
Doug Cutting, Avro'yu 2009 yılında Hadoop'un bir alt projesi olarak oluşturdu. 2011'de Apache üst düzey projesi oldu ve Kafka ile birlikte olay akışında standart haline geldi.