- Bluesky single-tenant SQLite datastore पर माइग्रेट हो गया है.
- अब हर उपयोगकर्ता के पास अपनी repository और निजी account state को स्टोर करने के लिए अपनी खुद की SQLite फ़ाइल होती है.
- उपयोगकर्ता databases को hierarchical तरीके से स्टोर किया जाता है.
- हर repository की repo signing key SQLite फ़ाइल के साथ स्टोर की जाती है.
- उपयोगकर्ता डेटा के साथ इंटरैक्ट करने वाली abstraction को ActorStore में बदला गया है.
- ActorStore में read और write के लिए अलग-अलग classes हैं.
- क्योंकि SQLite concurrent transactions को सपोर्ट नहीं करता, इसलिए ActorStore को write के लिए स्पष्ट "transact" की आवश्यकता होती है.
- signing keys और databases के लिए LRUCache बनाए रखा जाता है, जो 30k खुले file handles और memory में रखी गई 30k keys की अनुमति देता है.
- जब कोई database cache से बाहर हो जाता है, तो file handle बंद कर दिया जाता है.
- service state को मैनेज करने के लिए तीन अलग SQLite databases जोड़े गए हैं: account information, invite codes, refresh tokens आदि के लिए service DB, DID resolution को cache करने के लिए did cache DB, और service की सभी repositories से repository updates को क्रमवार process करने के लिए sequencer DB.
- ये SQLite फ़ाइलें concurrent reads और streaming replication की अनुमति देने के लिए WAL mode में चलती हैं.
- उम्मीद है कि PDS deployments Litestream या उसके समान किसी चीज़ के साथ ship किए जाएंगे.
1 टिप्पणियां
Hacker News की राय