2 puan yazan GN⁺ 2023-11-08 | 1 yorum | WhatsApp'ta paylaş
  • Bluesky, tek kiracılı SQLite veri deposuna geçti.
  • Artık her kullanıcının, kendi deposunu ve kişisel hesap durumunu saklayan kendine ait bir SQLite dosyası var.
  • Kullanıcı veritabanları hiyerarşik olarak depolanıyor.
  • Her deponun depo imza anahtarı SQLite dosyasıyla birlikte saklanıyor.
  • Kullanıcı verileriyle etkileşime giren soyutlama ActorStore'a dönüştürüldü.
  • ActorStore, okuma ve yazma için farklı sınıflara sahip.
  • SQLite eşzamanlı işlemleri desteklemediği için ActorStore, yazma için açık bir "transaction" gerektiriyor.
  • İmza anahtarları ve veritabanı için bir LRUCache korunuyor; bu da 30 bin açık dosya tanıtıcısına ve bellekte tutulan 30 bin anahtara izin veriyor.
  • Veritabanı önbellekten düştüğünde dosya tanıtıcısı kapatılıyor.
  • Hizmet durumunu yönetmek için üç ayrı SQLite veritabanı kullanıma alındı: hesap bilgileri, davet kodları, yenileme token'ları vb. için hizmet DB'si; DID çözümlemeyi önbelleğe almak için DID önbellek DB'si; ve hizmetteki tüm depolardaki depo güncellemelerini sıralı olarak işlemek için sequencer DB'si.
  • Bu SQLite dosyaları, eşzamanlı okumaya ve akış tabanlı replikasyona izin vermek için WAL modunda çalışıyor.
  • PDS dağıtımının Litestream veya benzeri bir araçla birlikte sunulması bekleniyor.

1 yorum

 
GN⁺ 2023-11-08
Hacker News görüşleri
  • Bluesky'nin tek kiracılı SQLite yapılandırmasına geçmesi, bu yaklaşımın zorlukları ve faydaları üzerine bir tartışma başlattı.
  • Bazı kullanıcılar veri taşıma ve şema sürümleriyle ilgili olası sorunlar ile gelecekteki veri toplulaştırma ihtiyaçları konusunda endişelerini dile getiriyor.
  • Diğerleri, SQLite'ın eşzamanlı işlemleri desteklemediği iddiasını sorguluyor ve belirli koşullar altında bunu desteklediğine dikkat çekiyor.
  • Kullanıcı başına veritabanı için 1:1 oranlı strateji ilginç görünüyor ve kullanıcılar arasında toplulaştırılması gereken verilerin nasıl ele alınacağına dair sorular ortaya çıkıyor.
  • Bu kurulumun, başka kullanıcılar yeni içerik yayımladığında kullanıcının veritabanındaki güncellemeleri nasıl işleyeceğine dair de ilgi var.
  • Bazı kullanıcılar sunucu tarafında SQLite/Litestream kullanımını övüyor ve bunu kiracı veritabanları için maliyet açısından verimli bir tercih olarak gösteriyor.
  • SQLite'ta hangi tür verilerin saklandığı ve hangilerinin saklanmadığına dair sorular soruluyor; bazı kullanıcılar kullanıcılar arasındaki mesajların SQLite'ta saklanmadığını varsayıyor.
  • İki karakterlik hedef dizin elde etmek için MD5 hash kullanmanın, SHA256 hash yerine daha hızlı olacağı ve aynı sorunu çözeceği yönünde bir öneri var.
  • Bazı kullanıcılar bu geçişi olumlu bir adım olarak görüyor ve SQLite dosyasını indirip yalnızca yerel çalışan bir HTML arayüzü oluşturarak hizmetten kolayca ayrılmanın mümkün olacağını öne sürüyor.
  • Bluesky'nin hâlâ yalnızca davetiye ile erişilebilir olup olmadığına dair bir soru var.