Zeta-Lite: A Concurrent, Branchable In-Browser SQL Database for Agentic Memory
Zeta-lite एक कॉम्पैक्ट, कंकरेंट और ब्रांच करने योग्य इन-ब्राउज़र SQL डेटाबेस इंजन है जो WebAssembly पर निर्मित है, जो एजेंटिक मेमोरी और लोकल-फर्स्ट एप्लिकेशन्स के लिए अनुकूलित ओवरलैपिंग स्नैपशॉट-आइसोलेटेड ट्रांजेक्शन और कॉपी-ऑन-राइट डेटाबेस ब्रांचिंग को सक्षम बनाता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने नहीं लिखा है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
दशकों तक, इंटरनेट एक सरल नियम पर संचालित हुआ: आपका डेटा कहीं और स्थित एक सर्वर पर रहता था, और आपका कंप्यूटर बस उसे देखने के लिए एक खिड़की मात्र था। यदि आप उस डेटा को खोजना, क्रमबद्ध करना या विश्लेषण करना चाहते थे, तो आपको नेटवर्क के माध्यम से एक अनुरोध भेजना पड़ता था और उत्तर आने तक प्रतीक्षा करनी पड़ती थी। यह मॉडल तब बदला जब अनुप्रयोगों (applications) ने अधिक गोपनीयता और बिना इंटरनेट कनेक्शन के काम करने की क्षमता की मांग करना शुरू कर दिया। डेटा को दूरस्थ क्लाउड के बजाय सीधे उपयोगकर्ता के डिवाइस पर रखने का विचार प्राथमिकता बन गया। इस बदलाव ने सॉफ्टवेयर इंजीनियरों के लिए एक नई चुनौती पेश की: आप एक शक्तिशाली, संरचित डेटा सिस्टम कैसे बनाते हैं जो पूरी तरह से वेब ब्राउज़र के भीतर चलता है? ब्राउज़र सुरक्षित और अलग-थलग रहने के लिए डिज़ाइन किए गए हैं, जो उन्हें जटिल सॉफ़्टवेयर चलाने के लिए कठिन बनाता है जिसे आमतौर पर कंप्यूटर के ऑपरेटिंग सिस्टम तक गहरी पहुँच की आवश्यकता होती है।
इसका पारंपरिक समाधान मौजूदा डेटाबेस सिस्टमों को छोटा करना या बहुत सरल उपकरणों का उपयोग करना रहा है जिनमें उन्नत सुविधाओं का अभाव होता है। एक लोकप्रिय दृष्टिकोण में एक विशाल डेटाबेस इंजन को लेना, उसे कम करना और उसे ऐसे प्रारूप में अनुवादित करना शामिल है जिसे ब्राउज़र समझ सके, लेकिन यह अक्सर सॉफ़्टवेयर को धीमा चलाने या उसे एकल कार्य रेखा (single line of work) में सीमित करने के लिए मजबूर करता है, जिससे वह एक साथ कई कार्यों को संभालने में असमर्थ हो जाता है। दूसरा दृष्टिकोण बहुत छोटे, हल्के इंजनों का उपयोग करता है जो तेज़ तो हैं लेकिन जटिल खोज नहीं कर सकते या विभिन्न सूचनाओं के बीच जटिल संबंधों को प्रबंधित नहीं कर सकते। प्रश्न यह बना हुआ था कि क्या ऐसा संभव है कि एक डेटाबेस ब्राउज़र में फिट होने के लिए पर्याप्त छोटा हो, तुरंत महसूस होने के लिए पर्याप्त तेज़ हो, और एक ही समय में कई ओवरलैपिंग कार्यों को संभालने के लिए पर्याप्त स्मार्ट हो।
एक शोधकर्ता ने अब 'ज़ेटा-लाइट' (Zeta-lite) नामक एक प्रणाली बनाई है जो इस प्रश्न का निश्चित रूप से 'हाँ' के साथ उत्तर देती है। उन्होंने एक डेटाबेस इंजन बनाया है जो पूरी तरह से वेब ब्राउज़र के भीतर रहता है, जिसका संकुचित आकार केवल 2.87 मेगाबाइट है। अपने छोटे आकार के बावजूद, यह जटिल खोजें कर सकता है, एक ही समय में कई उपयोगकर्ताओं को प्रबंधित कर सकता है, और मूल डेटा को जोखिम में डाले बिना नए विचारों का परीक्षण करने के लिए अपनी प्रतियां भी बना सकता है। यह प्रणाली विशेष रूप से एक नए प्रकार के सॉफ़्टवेयर के लिए डिज़ाइन की गई है: ब्राउज़र में चलने वाले आर्टिफिशियल इंटेलिजेंस (AI) एजेंट, जिन्हें अपने विचारों, यादों और खोजों को संग्रहीत करने के लिए एक स्थान की आवश्यकता होती है। शोधकर्ता ने पाया कि डेटाबेस के इतिहास को याद रखने के तरीके को बदलकर, वे प्रदर्शन और लचीलेपन के उस स्तर को प्राप्त कर सकते थे जो इतने छोटे प्रोग्राम के लिए पहले असंभव माना जाता था।
उनकी खोज का मूल आधार यह है कि डेटाबेस समय को कैसे संभालता है। अधिकांश पारंपरिक डेटाबेस एक सिंगल-लेन सड़क की तरह काम करते हैं जहाँ कारों को आगे बढ़ने के लिए अपने आगे वाले के समाप्त होने की प्रतीक्षा करनी पड़ती है। यदि दो लोग एक ही समय में एक ही जानकारी को अपडेट करने का प्रयास करते हैं, तो एक को प्रतीक्षा करनी पड़ती है। ज़ेटा-लाइट अलग तरह से काम करता है। सिंगल लेन के बजाय, यह प्रत्येक डेटा को उसके संस्करणों के इतिहास के रूप में मानता है। जब कोई कार्य शुरू होता है, तो यह ठीक उसी क्षण का डेटा स्नैपशॉट लेता है। इसके बाद यह उसी समय अन्य कार्य होते हुए भी सत्य के अपने संस्करण पर काम कर सकता है। यदि दो कार्य एक ही चीज़ को बदलने का प्रयास करते हैं, तो सिस्टम संघर्ष (conflict) का पता लगाता है और उनमें से एक को रोक देता है, लेकिन यह उन्हें कतार में खड़े होने के लिए मजबूर नहीं करता है। यह एक ही निष्पादन थ्रेड (thread of execution) पर कई कार्यों को एक साथ चलाने की अनुमति देता है, जो एक ऐसा कारनामा है जिसके लिए आमतौर पर जटिल, भारी-भरक हार्डवेयर या विशेष ब्राउज़र सेटिंग्स की आवश्यकता होती है जो अधिकांश वेबसाइटों के पास नहीं होतीं।
इस ओवरलैपिंग कार्यों को संभालने की क्षमता को 'ब्रांचिंग' (branching) नामक एक अनूठी विशेषता के साथ जोड़ा गया है। सॉफ़्टवेयर विकास की दुनिया में, ब्रांच बनाने का अर्थ है एक नए विचार पर काम करने के लिए किसी प्रोजेक्ट की प्रति बनाना ताकि मूल को नुकसान न पहुँचे। ज़ेटा-लाइट इस अवधारणा को सीधे डेटा पर लाता है। एक एप्लिकेशन अपने पूरे डेटाबेस को एक नई ब्रांच में विभाजित (fork) कर सकता है, परिवर्तन कर सकता है, उनका परीक्षण कर सकता है, और फिर यह निर्णय ले सकता है कि उन परिवर्तनों को मुख्य डेटाबेस में वापस मिलाना है या उन्हें पूरी तरह से हटा देना है। यह लगभग तुरंत होता है और अतिरिक्त स्टोरेज स्पेस का उपयोग किए बिना होता है, क्योंकि सिस्टम केवल शाखाओं के बीच के अंतर को सहेजता है। एक आर्टिफिशियल इंटेलिजेंस एजेंट के लिए, यह एक शक्तिशाली उपकरण है। यह एजेंट को एक परिकल्पना का परीक्षण करने, एक नई योजना आज़माने या एक बातचीत का अनुकरण करने की अनुमति देता है, और फिर यदि प्रयोग विफल हो जाता है, तो वह बस उसे मिटा सकता है, जिससे मूल स्मृति पूरी तरह से सुरक्षित रहती है।
शोधकर्ता ने इस प्रणाली का कड़ाई से परीक्षण किया ताकि यह सुनिश्चित किया जा सके कि यह केवल एक सैद्धांतिक अवधारणा नहीं बल्कि एक कामकाजी वास्तविकता है। उन्होंने इस डेटाबेस को दो सबसे लोकप्रिय वेब ब्राउज़रों, क्रोम (Chrome) और फ़ायरफ़ॉक्स (Firefox) में चलाया, और इसकी गति की तुलना एक मानक कंप्यूटर पर चलने वाले नेटिव संस्करण से की। उन्होंने पाया कि ब्राउज़र संस्करण नेटिव संस्करण के लगभग उतना ही तेज़ था, जो प्रति सेकंड लाखों डेटा लुकअप को संभाल सकता है। उन परीक्षणों में जहाँ कई कार्यों ने एक ही समय में डेटा को अपडेट करने का प्रयास किया, सिस्टम ने क्रैश हुए या धीमा हुए बिना संघर्षों को सफलतापूर्वक प्रबंधв। उन्होंने यह भी सत्यापित किया कि सिस्टम डेटा खोए या मेमोरी लीक हुए बिना लंबे समय तक चल सकता है, भले ही यह लाखों ऑपरेशन्स तक बढ़ जाए। डेटाबेस ने अपने स्टेट को ब्राउज़र के निजी स्टोरेज में स्वयं का एक पूर्ण स्नैपशॉट सहेजकर सुरक्षित किया, जो बड़े डेटा के लिए भी एक सेकंड से कम समय में पूरा हो गया।
इस उपलब्धि को जो बात विशेष रूप से महत्वपूर्ण बनाती है, वह यह है कि यह उस जटिल, भारी बुनियादी ढांचे पर निर्भर नहीं है जो आमतौर पर ऐसे सिस्टम को संचालित करता है। अधिकांश ब्राउज़र-आधारित डेटाबेस जो समान सुविधाएँ प्रदान करते हैं, उन्हें विशेष सुरक्षा हेडर की आवश्यकता होती है जो वेबसाइटों को शेष इंटरनेट से अलग करने के लिए मजबूर करते हैं, जो उनके उपयोग को सीमित करता है। ज़ेटा-लाइट इससे पूरी तरह बचता है। यह ब्राउज़र के मुख्य थ्रेड (main thread) पर चलता है, जहाँ वेबसाइट का बाकी हिस्सा रहता है, बिना किसी अतिरिक्त सुरक्षा उपायों या बैकग्राउंड वर्कर्स की आवश्यकता के। इसका अर्थ है कि इसे किसी भी वेब एप्लिकेशन में बिना साइट के निर्माण या होस्टिंग को बदले डाला जा सकता है। यह प्रणाली उसी कोडबेस से बनी है जो एक बहुत बड़े सर्वर डेटाबेस का है, जो यह सिद्ध करता है कि उन्नत डेटा प्रबंधन के लिए आवश्यक जटिल तर्क को बिना उसकी शक्ति खोए एक छोटे से पैकेज में संकुचित किया जा सकता है।
इस कार्य के निहितार्थ केवल गति या आकार तक ही सीमित नहीं हैं। यह उन अनुप्रयोगों की एक नई पीढ़ी के द्वार खोलता है जो स्थानीय रूप से अपने डेटा पर याद रख सकते हैं और तर्क कर सकते हैं। एक ऐसे AI असिस्टेंट की कल्पना करें जो आपके ब्राउज़र में रहता है, जो आपके व्यक्तिगत इतिहास को संग्रहीत करने, आपकी बातचीत से सीखने और आपकी जानकारी को व्यवस्थित करने में सक्षम है, बिना उस डेटा को किसी रिमोट सर्वर पर भेजे। अपनी स्मृति को ब्रांच करने की क्षमता के साथ, यह असिस्टेंट आपके नोट्स को व्यवस्थित करने या आपके दिन की योजना बनाने के विभिन्न तरीकों को आज़मा सकता है, और केवल उन्हीं परिणामों को रख सकता है जो सफल हों। शोधकर्ता ने पहले ही एक साथी प्रणाली 'ज़ेंगराम-लाइट' (Zengram-lite) बनाना शुरू कर दिया है जो ऐसे एजेंटों के लिए मेमोरी सिस्टम बनाने हेतु इन्हीं क्षमताओं का उपयोग करती है।
यह शोध निष्कर्ष निकालता है कि पुराना अनुमान—कि आपको एक छोटे, सरल डेटाबेस और एक बड़े, शक्तिशाली डेटाबेस के बीच किसी एक को चुनना ही होगा—अब सत्य नहीं है। डेटा को वर्शन करने और कार्यों को प्रबंधित करने के तरीके को बदलकर, यह संभव है कि आपके पास दोनों हों। ज़ेटा-लाइट इंजन यह प्रदर्शित करता है कि एक पूर्णतः सुसज्जित, समवर्ती (concurrent), और ब्रांचिंग वाला डेटाबेस एक वेब ब्राउज़र में समाहित हो सकता है और नेटिव सॉफ़्टवेयर के स्तर पर प्रदर्शन कर सकता है। यह कोई सिमुलेशन या भविष्य की तकनीक का वादा नहीं है; यह एक कामकाजी प्रणाली है जो आज उपलब्ध है, जो उन डेवलपर्स द्वारा उपयोग के लिए तैयार है जो ऐसे अनुप्रयोग बनाना चाहते हैं जो निजी, तेज़ और उपयोगकर्ता के डिवाइस पर ही जटिल तर्क करने में सक्षम हों।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।