SQLite वेब ब्राउज़र में DBMS का उपयोग करने के लिए WASM समर्थन जोड़ता है

SQLite डेवलपर्स लाइब्रेरी को इंटरमीडिएट WebAssembly कोड में संकलित करने की क्षमता को लागू करने के लिए एक प्रोजेक्ट विकसित कर रहे हैं, जिसे वेब ब्राउज़र में चलाया जा सकता है और यह जावास्क्रिप्ट में वेब एप्लिकेशन से डेटाबेस के साथ काम को व्यवस्थित करने के लिए उपयुक्त है। WebAssembly समर्थन के लिए कोड को परियोजना के मुख्य भंडार में जोड़ा गया है। WebSQL API के विपरीत, जो SQLite पर आधारित है, WASM SQLite ब्राउज़र से पूरी तरह से अलग है और इसकी सुरक्षा को प्रभावित नहीं करता है (Google ने Chrome में WebSQL के लिए समर्थन छोड़ने का फैसला किया क्योंकि SQLite में कई कमजोरियाँ थीं जिनका उपयोग WebSQL के माध्यम से ब्राउज़र पर हमला करने के लिए किया जा सकता था)।

परियोजना का लक्ष्य एक कार्यशील जावास्क्रिप्ट बाइंडिंग प्रदान करना है, जो SQLite API की कार्यक्षमता के समान हो। वेब डेवलपर्स को sql.js या Node.js की शैली में डेटा के साथ काम करने के लिए एक उच्च-स्तरीय ऑब्जेक्ट-ओरिएंटेड इंटरफ़ेस, एक निम्न-स्तरीय C API पर बाइंडिंग और वेब वर्कर तंत्र पर आधारित एक API प्रदान किया जाता है, जो अलग-अलग थ्रेड में निष्पादित एसिंक्रोनस हैंडलर के निर्माण की अनुमति देता है। वेब वर्कर-आधारित API पर थ्रेड के साथ काम को व्यवस्थित करने की जटिलताओं को छिपाने के लिए, प्रॉमिस तंत्र पर आधारित सॉफ़्टवेयर इंटरफ़ेस का एक संस्करण भी विकसित किया जा रहा है।

SQLite के WASM संस्करण में वेब एप्लिकेशन द्वारा संग्रहीत डेटा को वर्तमान सत्र के भीतर स्थानीयकृत किया जा सकता है (पृष्ठ पुनः लोड होने के बाद खो जाता है) या क्लाइंट साइड पर सहेजा जा सकता है (सत्रों के बीच सहेजा जाता है)। स्थायी भंडारण के लिए, OPFS (ऑरिजिन-प्राइवेट फाइलसिस्टम, फाइल सिस्टम एक्सेस API का एक एक्सटेंशन, जो वर्तमान में केवल WebKit और क्रोमियम-आधारित ब्राउज़र में उपलब्ध है) का उपयोग करके स्थानीय FS में डेटा रखने के लिए बैकएंड तैयार किए जाते हैं और window.localStorage और window.sessionStorage API पर आधारित स्थानीय ब्राउज़र स्टोरेज में। localStorage/sessionStorage के मामले में, डेटा कुंजी/मूल्य प्रारूप में संबंधित स्टोरेज में परिलक्षित होता है, और OPFS का उपयोग करते समय, दो विकल्प प्रदान किए जाते हैं: WASMFS का उपयोग करके एक वर्चुअल FS सिमुलेशन और sqlite3_vfs का एक अलग कार्यान्वयन, OPFS पर आधारित SQLite VFS परत प्रदान करता है।

SQLite को WASM प्रतिनिधित्व में बनाने के लिए, Emscripten कंपाइलर का उपयोग किया जाता है (यह ext/wasm एक्सटेंशन बनाने के लिए पर्याप्त है: "./configure --enable-all; make sqlite3.c; cd ext/wasm; make")। आउटपुट फ़ाइलें sqlite3.js और sqlite3.wasm हैं, जिन्हें आपके JavaScript प्रोजेक्ट (HTML और JavaScript उदाहरण) में शामिल किया जा सकता है।

स्रोत: opennet.ru

DDoS सुरक्षा, VPS VDS सर्वर वाली साइटों के लिए विश्वसनीय होस्टिंग खरीदें 🔥 डीडीओएस सुरक्षा, वीपीएस और वीडीएस सर्वर के साथ विश्वसनीय वेबसाइट होस्टिंग खरीदें | ProHoster