- 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
Hacker News görüşleri