वेब के लिए SQL का भविष्य
(jlongster.com)- absurd-sql : SQL.js(SQLite) के साथ IndexedDB में डेटा को थोड़ा-थोड़ा पढ़ने और लिखने का तरीका
→ DB डेटा को दूसरे DB में स्टोर करने का अजीब तरीका होने की वजह से इसका नाम absurd है
→ IndexedDB धीमा है और इसमें फीचर्स भी खास नहीं हैं, लेकिन इस तरीके से यह 10 गुना से भी ज़्यादा तेज़ है
- sql.js को hook करके डेटा को IndexedDB में स्टोर करना
→ अभी भी native SQLite की तुलना में 50~100x धीमा है
→ इसमें IndexedDB का इस्तेमाल किया गया है, लेकिन Storage Foundation API का इस्तेमाल भी संभव लगता है (टेस्ट की योजना है)
- फायदे/नुकसान
→ एकमात्र नुकसान यह है कि इस्तेमाल के लिए gzip किया हुआ WASM(SQL.js) फ़ाइल डाउनलोड करना पड़ता है
→ SQLite की सभी सुविधाओं का उपयोग संभव : transaction, पूरा Query सिस्टम, View, CTE, trigger, Full-text Search, caching आदि
2 टिप्पणियां
शीर्षक मूल लेखक के "A future for SQL on the web" से ज्यों का त्यों लिया गया है.
sql.js-httpvfs - GitHub Pages पर SQLite DB होस्ट करना https://hi.news.hada.io/topic?id=4226
यह लेख कई तरह की प्रेरणा दे रहा है.
यह एक तरह की जुगाड़ है, लेकिन WebSQL की वापसी जैसा है, जिसे W3C ने यह कहकर बंद कर दिया था कि web पर SQL उपयुक्त नहीं है. सच कहें तो developers के लिए यह कहीं ज़्यादा आसान लगेगा.
मुझे लगता है कि खासकर Electron की मौजूदगी की वजह से यह बात और भी सही लगती है.
मैंने Notion का ऐसा अनुभव भी देखा था कि वे web version की तरह IndexedDB इस्तेमाल करते थे, लेकिन Electron version में SQLite पर स्विच करने के बाद चीज़ें काफी बेहतर हो गईं.
https://www.notion.so/blog/faster-page-load-navigation
ऐसा भी लगता है कि इस तरह का अनुभव फिर से web की ओर वापस आ रहा है.