Ana içeriğe geç
Programlama

SQLite için eşzamanlı çoklu yazma desteği sağlayan sqlite-multiwriter yayımlandı

Öne çıkanlar

  • sqlite-multiwriter, SQLite kaynak kodunu değiştirmeden özel VFS katmanıyla çoklu yazıcı desteği sağladı.
  • 16 iş parçacıklı testlerde saniye başına işlem sayısı 8 bin 630'dan 49 bin 277 seviyesine yükseldi.
  • Gecikme süresi 16 iş parçacıklı senaryoda 157 milisaniyeden 2,08 milisaniyeye düştü.
  • Proje, Apache 2.0 lisansı altında açık kaynak olarak paylaşıldı.

Geliştirici Marco Bambini, SQLite veri tabanının onlarca yıldır süregelen tek yazıcı sınırlamasını ortadan kaldıran sqlite-multiwriter adlı açık kaynak projeyi duyurdu. Yeni araç, SQLite çekirdek kaynak kodunda hiçbir değişiklik yapmadan veya çatallamaya gitmeden özel bir Sanal Dosya Sistemi (VFS) katmanı üzerinden çalışıyor. Bu mimari sayesinde mevcut veri tabanı dosyaları ve standart API yapıları bozulmadan çoklu iş parçacığı ve çoklu süreç desteği sunuluyor.

Sistem, her yazıcının kendi özel önceden yazma günlüğü (WAL) üzerinde anlık görüntülerle bağımsız çalışmasını sağlıyor. İşlemler onaylanma aşamasına geldiğinde motor, değişiklikleri diğer işlemlerle karşılaştırarak doğruluyor ve ilk onaylayan kazanır mantığıyla güvenli biçimde ana dosyaya aktarıyor. Aynı veri tabanı sayfasındaki farklı satırların güncellenmesi durumunda sayfa düzeyindeki çakışmaları çözmek için isteğe bağlı bir yeniden temelleme mekanizması devreye giriyor.

Tam eşzamanlı dayanıklılık testlerinde sistem, standart SQLite WAL moduna kıyasla belirgin performans artışı sergiledi. Yapılan ölçümlerde 16 iş parçacıklı yazma senaryosunda saniye başına işlem sayısı 8 bin 630 seviyesinden 49 bin 277 düzeyine çıktı ve gecikme süresi 157 milisaniyeden 2,08 milisaniyeye geriledi. Apache 2.0 lisansıyla yayımlanan proje, özellikle yoğun eşzamanlı işlem yapan yapay zeka ajanları ve yerel öncelikli uygulamalar için açık kaynak topluluğunun erişimine açıldı.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.