ArborDb: Kayıt büyüse de alan okuma hızını koruyan Rust veritabanı
ArborDb, ofset tabloları ve zero-copy blob depolamayla kayıt boyutundan bağımsız sabit süreli alan okuma sağlayan Rust doküman veritabanı.
ArborDb, her değeri sıfır kopyalı (zero-copy) tek bir blob olarak saklayan, alanları ayrı satırlara bölmek yerine ofset tabloları kullanan, saf Rust ile yazılmış tipli ve transactional bir doküman veritabanıdır. Listelerde O(1) indeks atlaması, nesnelerde ise isme göre sıralanmış ofset tablosu sayesinde O(log n) alan araması yapılır; tüm bunlar redb motorunun sayfa baytlarından doğrudan, değerin tamamı çözülmeden okunur.
Bu tasarımın karşılığı benchmarklarda görülüyor: 128 alanlı bir kayıttan tek bir alanı okumak kayıt boyutundan bağımsız olarak yaklaşık 1,4 µs sürüyor; buna karşın önce tamamını çözüp sonra seçen motorlarda maliyet doğrusal artıyor (redb+bincode 128 alanda 12,1 µs'a, 10.240 elemanlı bir listede ise 714 µs'a çıkıyor). ArborDb, StratoDb'nin 1.0 halefi olarak aynı tipli derive modelini korurken, skaler başına satır yerine değer başına tek blob depolamaya geçiyor.
Depolama modelinin ötesinde tablolar sanal bir dosya sistemi gibi davranıyor (yol tabanlı erişim, mv/cp, kalıcı opak anahtarlar), Serde tarzı derive desteği, kompozit sıralamalı ikincil indeksler ve ACL, kurcalama tespiti (BLAKE3 + Ed25519), JSON/YAML dışa aktarma gibi opsiyonel özellikler sunuyor. Ödünleşimler açıkça belirtilmiş: değişken genişlikli veya yapısal yazımlar blobun yeniden kodlanmasını gerektiriyor, tek bir dizine toplu ekleme ise yaklaşık O(N²) ölçekleniyor.
Mühendisler için bu, ham verimden çok erişim örüntülerine göre tasarlanmış bir depolama motoru örneği — büyük dokümanlardan kısmi okuma yapan gömülü veritabanları ve konfigürasyon depoları gibi sistemlerle ilgilenenler için dikkate değer.