2 पॉइंट द्वारा GN⁺ 2024-10-16 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • sqlite3 को आधुनिक WASM-सपोर्टेड ब्राउज़रों में इस्तेमाल करने योग्य बनाता है
  • शुरुआती public beta version 3.40 से शुरू हुआ था, और community feedback के आधार पर 3.41 release में API को स्थिर करने की योजना है

वास्तविक उपयोग के मामले

  • SQLime, Evolu, SQLiteNext जैसे विभिन्न प्रोजेक्ट्स में इस्तेमाल हो रहा है
  • संबंधित प्रोजेक्ट्स में Alon Zakai का sql.js, Roy Hashimoto का wa-sqlite, और James Long का absurd-js शामिल हैं

GN⁺ का सार

  • sqlite3 WASM और JavaScript API एक महत्वपूर्ण प्रोजेक्ट है, जो web browser में sqlite3 database का उपयोग संभव बनाता है
  • यह विभिन्न client code recipes और API बदलावों की जानकारी देकर developers के लिए उपयोगी बनता है
  • संबंधित प्रोजेक्ट्स के साथ तुलना के जरिए इस प्रोजेक्ट की विशिष्टता और उपयोगिता को समझा जा सकता है
  • समान फीचर्स वाले प्रोजेक्ट्स में sql.js, wa-sqlite आदि की भी सिफारिश की जाती है

1 टिप्पणियां

 
GN⁺ 2024-10-16
Hacker News राय
  • SQLite को ब्राउज़र की इन-मेमोरी में चलाने और Litestream तथा Cloudflare Durable Objects की तरकीबों का उपयोग करके WAL लॉग को सर्वर तक स्ट्रीम करने का विचार दिलचस्प है

    • सर्वर-साइड डेटा का उपयोग करके क्लाइंट-साइड डेटाबेस को फिर से बनाया जा सकता है
    • WAL मोड डिफ़ॉल्ट SQLite WASM बिल्ड में शामिल नहीं है, इसलिए कस्टमाइज़ेशन की ज़रूरत है
  • SQLite का हालिया रिलीज़ 3.46.1 है, लेकिन पेज अपडेट नहीं हुआ है, जिससे API स्थिरता को लेकर भ्रम है

    • अच्छा होगा अगर SQLite टीम WASM वर्ज़न सहित आधिकारिक npm पैकेज दे
  • Pyodide का SQLite-in-WASM वर्ज़न व्यक्तिगत रूप से पसंद किया जाता है

    • Pyodide, Python standard library के हिस्से के रूप में WASM SQLite मुफ्त में देता है
    • अभी Pyodide का SQLite वर्ज़न 3.39.0 है, और वर्ज़न अपडेट की ज़रूरत है
  • local-first environment में SQLite का उपयोग कुछ भारी लगता है

    • ब्राउज़र के built-in storage API, खासकर IndexedDB, का उपयोग करना अधिक कुशल है
    • SQLite जैसी API देने वाला एक open source समाधान चाहिए
  • Golang में ncruces का wasm SQLite पैकेज अच्छा है

    • यह OpenBSD जैसे environment में अच्छी तरह काम करता है
  • Rust ecosystem में SQLite इस्तेमाल करने की कोशिश की गई, लेकिन फिलहाल सपोर्ट करने वाले wrapper कम हैं

    • emscripten wasm कोड को wasm32-unknown-unknown के साथ compatible बनाना कठिन है
  • यह जिज्ञासा है कि क्या SQLite, IndexedDB का विकल्प बन सकता है

    • यह सवाल है कि डेटा स्थायी रहता है या नहीं, और क्या इसे file system API या IndexedDB/local storage में सहेजना होगा
  • SQLite WASM dependency का न्यूनतम आकार लगभग 1.3MB है

    • ब्राउज़र के अंदर चलने वाले ऐप्स के लिए यह कुछ बड़ा है, लेकिन दूसरे environment में उचित हो सकता है
  • यह राय है कि अगर WebSQL, SQLite होता, तो offline-first और सामान्य ऐप storage ecosystem बेहतर होता

    • यह निर्दिष्ट करना अच्छा होगा कि ब्राउज़र SQLite API को सपोर्ट करें
  • WASM बिल्ड वाले SQLite और Chicory runtime का उपयोग करके एक pure JVM execution SQLite लाइब्रेरी बनाई गई है

    • यह एक experimental project है, जो JVM ecosystem को dependency-free SQLite टूल दे सकता है
  • SQLite को exaequOS.com में शामिल करने की योजना है