Ana Sayfa

Apache Arrow 10 Yaşında: Veri Alışverişinde Devrim Yaratan Standart

1 dk okuma

Apache Arrow projesi, 5 Şubat 2016'daki ilk git commit'iyle resmi olarak kurulmasının 10. yıl dönümünü kutluyor. Geçtiğimiz on yılda, proje öngörülemeyen birçok şekilde gelişti ve sütunlu verilerin farklı kütüphaneler ve sistemler arasında verimli bir şekilde değişimi için agnostik, verimli ve dayanıklı standartlar sağlama hedefini başarıyla yerine getirdi. Arrow, başlangıcından itibaren, çeşitli alanlardan gelen uygulayıcıların ortak bir zemin oluşturma çabasıyla ortaya çıktı. Apache Parquet projesinin kurucularından bazılarının da erken tasarım aşamalarında yer aldığı Arrow, kalıcı depolama formatı olan Parquet'in doğal bir tamamlayıcısı olarak, bellek içi bir format olarak birlikte çalışabilirlik sorununu çözmeyi amaçladı.

Projenin ilk sürümü olan Apache Arrow 0.1.0, 7 Ekim 2016'da yayınlandı. Bu sürüm, günümüzde çoğu Arrow veri kümesinin temelini oluşturan ana veri türlerini (Null, Int, FloatingPoint, Binary, Utf8, Bool, Decimal, Date, Time, Timestamp, Interval, List, Struct_, Union gibi) içeriyordu. Geliştiriciler, metadata ve fiziksel veri temsilinin oldukça kararlı olacağı iddiasında bulunmuştu ve bu söz büyük ölçüde tutuldu. Sütunlu format, 2016'dan bu yana çoğunlukla yeni veri türlerinin eklenmesiyle gelişti ve yalnızca tek bir önemli değişiklik yaşandı: Union türlerinin artık üst düzey geçerlilik bitmap'ine sahip olamaması. IPC formatı ise çerçeveleme ve metadata formatında küçük evrimler geçirdi; bu evrimler MetadataVersion alanı ile kodlanarak yeni okuyucuların eski yazıcılar tarafından üretilen verileri okuyabilmesi sağlandı.

İlk zamanlarda Arrow 0.1.0, C++ ve Java uygulamalarına sahipti ve C++ için Python bağlayıcıları mevcuttu. Ancak, bu iki uygulama arasında senkronizasyonu sağlamak için herhangi bir entegrasyon testi bulunmuyordu. Entegrasyon testlerinin tasarlanması Kasım 2016'yı buldu ve ilk otomatik CI (Sürekli Entegrasyon) çalıştırması aynı yılın Aralık ayında gerçekleşti. O zamandan beri, entegrasyon testleri Arrow formatına yapılan eklemeleri takip ederek büyüdü ve projenin güvenilirliğini sağlamada kritik bir rol oynadı.

İçgörü

Apache Arrow'un on yıllık serüveni, büyük veri ekosisteminde farklı sistemler arasında veri alışverişini standartlaştırma ve hızlandırma konusundaki başarısını ve kalıcılığını gösteriyor.

Kaynak